Câu trả lời cho câu hỏi của bạn thực sự có trong truyện ngụ ngôn của Reynold (Phần 1). Hãy để tôi thử và giải thích nó cho bạn.
Trong một ngôn ngữ hoặc chủ nghĩa hình thức trong đó các loại được coi là trừu tượng , một biến loại có thể đại diện cho bất kỳ khái niệm trừu tượng nào. Chúng tôi không giả định rằng các loại được tạo thông qua một số cú pháp của thuật ngữ loại hoặc một số tập hợp toán tử loại cố định hoặc chúng tôi có thể kiểm tra hai loại để tìm sự bằng nhau, v.v ... Trong một ngôn ngữ như vậy, nếu một hàm liên quan đến một biến loại thì chỉ điều mà hàm có thể làm với các giá trị của kiểu đó là xáo trộn xung quanh các giá trị mà nó đã được đưa ra. Nó không thể phát minh ra các giá trị mới của loại đó, vì nó không "biết" loại đó là gì! Đó là ý tưởng trực quan của tham số .
Sau đó Reynold nghĩ về cách nắm bắt ý tưởng trực quan này một cách toán học và chú ý đến nguyên tắc sau. Giả sử chúng ta nhanh chóng các loại biến, nói , để hai loại bê tông khác nhau, nói Một và Một ' , trong instantiations riêng biệt, và giữ trong tâm trí của chúng tôi một số thư từ R : Một ↔ Một ' giữa hai loại bê tông. Sau đó, chúng ta có thể tưởng tượng rằng, trong một trường hợp, chúng tôi cung cấp một giá trị x ∈ x ' có liên quan bởi R ). Sau đó, vì hàm không biết gì về các loại chúng tôi đang cung cấp cho t hoặc các giá trị của loại đó, nên nó phải xử lý xtAA′R:A↔A′ với chức năng và, trong trường hợp khác, một giá trị tương ứng với x ' ∈ A ' (nơi"tương ứng" có nghĩa rằng x vàx∈Ax′∈A′xx′Rtxvà x′ trong chính xác cùng một cách. Vì vậy, kết quả chúng tôi nhận được từ các chức năng một lần nữa phải tương ứng bởi các mối quan hệ , chúng tôi đã giữ trong tâm trí của chúng ta, tức là, bất cứ nơi nào các yếu tố x xuất hiện trong kết quả của một ví dụ, các yếu tố x ' phải xuất hiện trong các trường hợp khác. Do đó, một hàm đa hình tham số sẽ bảo toàn tất cả các tương ứng quan hệ có thể có giữa các lần khởi tạo có thể của các biến loại .Rxx′
Ý tưởng bảo quản thư tín này không phải là mới. Các nhà toán học đã biết về nó trong một thời gian dài. Trong trường hợp đầu tiên, họ nghĩ rằng các hàm đa hình nên bảo toàn các đẳng cấu giữa các kiểu khởi tạo. Lưu ý rằng đẳng cấu có nghĩa là một số ý tưởng về sự tương ứng một-một . Rõ ràng, đẳng cấu ban đầu được gọi là "đồng cấu". Sau đó, họ nhận ra rằng những gì chúng ta gọi là "đồng cấu", nghĩa là một số ý tưởng về sự tương ứng nhiều-một , cũng sẽ được bảo tồn. Bảo tồn như vậy đi theo tên của biến đổi tự nhiên trong lý thuyết thể loại. Nhưng, nếu chúng ta nghĩ về nó một cách sắc sảo, chúng ta nhận ra rằng việc bảo tồn các đồng cấu là hoàn toàn không thỏa mãn. Các loại và A 'AA′chúng tôi đề cập là hoàn toàn tùy ý. Nếu chúng ta chọn làA và A ' là Một , chúng tôi sẽ nhận được tài sản tương tự. Vậy, tại sao "sự tương ứng nhiều-một", một khái niệm bất đối xứng, lại đóng một vai trò trong việc hình thành một tính chất đối xứng? Do đó, Reynold đã thực hiện một bước lớn trong việc khái quát hóa từ đồng cấu sang quan hệ logic, đó là sựtương ứng nhiều-nhiều. Tác động đầy đủ của khái quát này vẫn chưa được hiểu đầy đủ. Nhưng trực giác cơ bản là khá rõ ràng.A′A′A
Có một sự tinh tế hơn nữa ở đây. Trong khi các khởi tạo của các biến loại có thể được thay đổi tùy ý, các loại hằng số nên được cố định. Vì vậy, khi chúng ta xây dựng sự tương ứng quan hệ cho một biểu thức kiểu có cả loại biến và loại hằng, chúng ta nên sử dụng mối quan hệ đã chọn ở bất cứ nơi nào có biến loại xuất hiện và quan hệ nhận dạng I K ở bất cứ nơi nào có loại K không đổi xuất hiện. Chẳng hạn, biểu thức quan hệ cho kiểu t × I n t → I n t × t sẽ là R × I I n t → I IRIKKt×Int→Int×t. Vì vậy, nếuflà một hàm của loại này, thì nên ánh xạ một cặp(x,n)và một( x ′ ,n)có liên quanđến một số cặp(m,x)và có liên quan(m, x ′ )R×IInt→IInt×Rf(x,n)(x′,n)(m,x)(m,x′) . Lưu ý rằng chúng ta bắt buộc phải kiểm tra hàm bằng cách đặt các giá trị tương tự cho các loại hằng trong hai trường hợp và chúng tôi được đảm bảo nhận được các giá trị giống nhau cho các loại không đổi trong các đầu ra. Vì vậy, khi xây dựng các tương ứng quan hệ cho các biểu thức kiểu, chúng ta nên đảm bảo rằng, bằng cách cắm vào các quan hệ nhận dạng (đại diện cho ý tưởng rằng các loại đó sẽ xảy ra là người đồng ý), chúng tôi lấy lại quan hệ danh tính, tức là . Đây làphần mở rộng danh tínhquan trọngF(IA1,…,IAn)=IF(A1,…,An) bất động sản.
Để hiểu được tham số theo trực giác, tất cả những gì bạn cần làm là chọn một số loại hàm mẫu, nghĩ về các hàm có thể được biểu thị của các loại đó và suy nghĩ về cách các hàm đó hoạt động nếu bạn cắm vào các lần xuất hiện khác nhau của các biến loại và các giá trị khác nhau của các loại các loại khởi tạo. Hãy để tôi đề xuất một vài loại chức năng để giúp bạn bắt đầu: , t → I n t , I n t → t , t × t → t × tt→tt→IntInt→tt×t→t×t , , ( t(t→t)→t .(t→t)→(t→t)