Liệu tổ hợp Y có mâu thuẫn với sự tương ứng của Curry-Howard không?


16

Bộ kết hợp Y có loại . Theo Tương ứng Curry-Howard, vì loại có người ở, nên nó phải tương ứng với một định lý thực sự. Tuy nhiên, luôn luôn đúng, do đó, nó xuất hiện như thể kiểu của tổ hợp Y tương ứng với định lý , không phải lúc nào cũng đúng. Làm sao có thể?(mộtmột)một(mộtmột)mộtmộtmộtmột

Câu trả lời:


21

Sự tương ứng ban đầu của Curry-Howard là sự đồng hình giữa logic mệnh đề trực giác và phép tính lambda được gõ đơn giản.

Tất nhiên, có những sự đồng hình giống Curry-Howard khác; Phil Wadler nổi tiếng đã chỉ ra rằng cái tên hai nòng "Curry-Howard" dự đoán những cái tên hai nòng khác như "Hindley-Milner" và "Girard-Reynold". Thật buồn cười nếu "Martin-Löf" là một trong số họ, nhưng không phải vậy. Nhưng tôi lạc đề.

Bộ kết hợp Y không mâu thuẫn với điều này, vì một lý do chính: nó không thể biểu thị được trong phép tính lambda được gõ đơn giản.

Trong thực tế, đó là toàn bộ điểm. Haskell Curry đã phát hiện ra tổ hợp điểm cố định trong phép tính lambda chưa được xử lý và đã sử dụng nó để chứng minh rằng phép tính lambda chưa được xử lý không phải là một hệ thống khấu trừ âm thanh.

Thật thú vị, loại Y tương ứng với một nghịch lý logic không được biết đến nhiều như nó được gọi là nghịch lý của Curry. Hãy xem xét câu này:

Nếu câu này là đúng, thì Santa Claus tồn tại.

Giả sử câu đã đúng. Sau đó, rõ ràng, Santa Claus sẽ tồn tại. Nhưng đây là chính xác những gì câu nói, vì vậy câu đúng. Do đó, ông già Noel tồn tại. QED


6
Santa Claus không tồn tại?!
Andrej Bauer

10
Anh ấy làm, và tôi chỉ chứng minh điều đó.
Bút danh

6
Phew, tôi đã lo lắng một lúc.
Andrej Bauer

9

Curry-Howard liên quan các hệ thống loại với các hệ thống khấu trừ logic. Trong số những thứ khác, nó ánh xạ:

  • chương trình để chứng minh
  • đánh giá chương trình để biến đổi trên bằng chứng
  • các loại có người ở để đề xuất thực sự
  • loại hệ thống để hệ thống khấu trừ logic

mộtbmộtbY(λx.x)Y(λx.M)

Sự tương ứng của Curry-Howard chỉ là: một sự tương ứng. Bản thân nó, nó không nói rằng các định lý nhất định là đúng. Nó nói rằng khả năng đánh máy / chứng minh mang từ bên này sang bên kia.

Sự tương ứng của Curry-Howard rất hữu ích như một công cụ chứng minh với nhiều hệ thống loại: đơn giản là gõ tính toán lambda, hệ thống F, tính toán các công trình, v.v ... Tất cả các hệ thống loại này đều có tính chất phù hợp với logic (nếu toán học thông thường phù hợp ). Họ cũng có tài sản không cho phép đệ quy tùy ý. Sự tương ứng của Curry-Howard cho thấy hai tính chất này có liên quan với nhau.

Curry-Howard vẫn áp dụng cho các hệ thống tính toán không kết thúc và hệ thống khấu trừ không nhất quán. Nó chỉ không đặc biệt hữu ích ở đó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.