Giải thích kết hợp của tính toán lambda


10

Theo Peter Selinger , The Lambda Compus là Đại số (PDF). Đầu bài viết này, ông nói:

Việc giải thích combinatory của giải tích lambda được biết đến là không hoàn hảo, bởi vì nó không đáp ứng các -rule: dưới sự giải thích, không bao hàm \ lambda xM = \ lambda xN (Barendregt, 1984).ξM=Nλx.M=λx.N

Câu hỏi:

  • Những loại tương đương có nghĩa là ở đây?
  • Với định nghĩa tương đương này, ví dụ ngược lại của hàm ý là gì?

Câu trả lời:


7

Sự tương đương chỉ là sự tương đương trong lý thuyết tương đương đang được thảo luận. Trong trường hợp này, đó là lý thuyết được nêu trong Bảng 1. Lưu ý rằng lý thuyết này không bao gồm : làm như vậy sẽ làm cho lý thuyết mở rộng, và cuối cùng là tôn trọng sự căng thẳng của , trong khi nó sẽ tạo ra CL mở rộng một phần. Tôi không chắc tại sao câu trả lời khác lại đề cập đến .η ξ bước sóng ηληξλη

Lưu ý rằng trong :λ

(1)(M=βN)(λx.M=βλx.N)

Điều này nên được bằng trực giác rõ ràng: nếu là -convertible để khi nó đứng bởi chính nó, sau đó nó cũng là -convertible để khi nó là một subterm của .β N β N λ x . MMβNβNλx.M

Các -rule, được xác định như làm cho suy luận này có thể trực tiếp có thể khi nó là một phần của -oryory. Tương tự CL của nó sẽ là: Mξ λ M

M=N(ξλ)(λx.M)=(λx.N)
λ
M=N(ξCL)(λx.M)=(λx.N)

Bây giờ, vấn đề là trong CL, phần sau không giữ :

(2)(M=wN)(λx.M=wλx.N)

Nói cách khác, nếu hai thuật ngữ yếu bằng nhau, thì điều này không nhất thiết đúng với các phiên bản giả trừu tượng của chúng.

Do đó, nếu chúng ta thêm vào lý thuyết CL, thì chúng ta bắt đầu đánh đồng các thuật ngữ có các dạng thông thường khác nhau.ξCL


Ghi chú. Ở đây, biểu thị sự bình đẳng yếu. Điều đó có nghĩa là có thể được chuyển đổi thành (và ngược lại) bằng một loạt các phép toán và (cũng có thể là , nếu đó là một phần của lý thuyết). Như bạn có thể biết, là tương tự CL của .M N S K I = w = βM=wNMNSKI=w=β

λ là giả trừu tượng như được định nghĩa trên trang 5 của tài liệu của bạn. Nó có tài sản sau:

(3)(λx.M)Nw[N/x]M

Thuộc tính này giúp bạn dễ dàng tìm thấy một tương tự CL cho bất kỳ -term: chỉ cần thay đổi thành và áp dụng các bản dịch theo định nghĩa của .bước sóng bước sóng *λλλλ


Để rõ ràng, 'ví dụ phản biện' trong câu trả lời này không phải là ví dụ ngược lại với (2). Bởi vì nếu chúng ta có:

(4)M=x
(5)N=(λz.z)x

Sau đó, thực sự biểu thị (áp dụng các bản dịch của trang 5 và thực tế là được định nghĩa là ở cuối trang 4):NISKK

(6)N=(λz.z)x=Ix=SKKx

Kể từ , chúng tôi thực sự có mà . Tuy nhiên, nếu đó là một ví dụ ngược lại, thì chúng ta nên có nó . Nhưng nếu chúng tôi dịch, chúng tôi thực sự nhận được:M = w N ( λ * y . M ) w ( λ * y . N )SKKxwKx(Kx)wxM=wN(λy.M)w(λy.N)

( λ y . N ) = ( λ y . S K K x ) = K ( S K K x )

(7)(λy.M)=(λy.x)=Kx
(8)(λy.N)=(λy.SKKx)=K(SKKx)

Và thật dễ dàng để xác minh rằng (7) và (8) vẫn yếu bằng nhau, cho:

(9)K(SKKx)wK(Kx(Kx))wKx

Bây giờ, một ví dụ ngược lại thích hợp cho (2) sẽ là:

N = x

M=Kxy
N=x

Kể từ , chúng tôi chắc chắn có mà . Tuy nhiên, nếu bạn dịch cẩn thận cho các phiên bản trừu tượng, thì bạn sẽ thấy cả hai đều là các dạng bình thường riêng biệt - và chúng không thể chuyển đổi theo định lý Church-Rosser.M = w NKxywxM=wN

Đầu tiên chúng tôi kiểm tra :M

M=λx.Kxy=S(λx.Kx)(λx.y)=S(λx.Kx)(Ky)=S(S(λx.K)(λx.x))(Ky)=S(S(λx.K)(I))(Ky)=S(S(λx.K)(SKK))(Ky)=S(S(KK)(SKK))(Ky)
Ở đây bạn có thể xác minh rằng là một dạng bình thường. Tại đây, bạn có thể kiểm tra xem , như bạn mong đợi nếu được cho là hành xử như một người trừu tượng hóa cho CL.M(λx.Kxy)PwPλ

Bây giờ chúng tôi kiểm tra : N

N=λx.x=I=SKK

Đây rõ ràng là một dạng bình thường khác với , vì vậy theo định lý Church-Rosser. Cũng lưu ý rằng , tức là và 'sản xuất cùng một sản lượng' cho đầu vào tùy ý .M ' w N ' N ' P w P M ' N ' PMMwNNPwPMNP

Bây giờ chúng tôi đã chứng minh rằng (2) không giữ CL và lý thuyết CL kết hợp do đó sẽ đánh đồng các thuật ngữ không bằng nhau yếu. Nhưng tại sao chúng ta quan tâm?ξ

Chà, trước hết, nó làm cho việc giải thích kết hợp của không hoàn hảo: dường như không phải tất cả các đặc tính siêu hình đều mang lại.λ

Ngoài ra, và có lẽ quan trọng hơn, trong khi tồn tại các lý thuyết mở rộng về và CL, chúng ban đầu và thường được giữ nguyên. Intensionality là một thuộc tính tốt vì tính toán mô hình và CL là quá trình và từ quan điểm này, hai chương trình khác nhau (cụ thể là các thuật ngữ có dạng bình thường khác nhau) luôn tạo ra kết quả giống nhau (được đưa vào bằng nhau) không được đánh đồng. tôn trọng nguyên tắc này trong và nếu chúng tôi muốn thực hiện mở rộng, chúng tôi chỉ có thể thêm ví dụ . Nhưng sự ra đời củabước sóng ξ bước sóng bước sóng η ξ ξλλξλληξtrong CL sẽ không còn làm cho nó hoàn toàn tăng cường (trên thực tế, chỉ một phần như vậy). Và đây là lý do cho sự nổi tiếng của ' ', như bài báo đã viết.ξ


1
Tôi không thể nhận xét về chất lượng vì tôi biết rất ít về chủ đề này, nhưng điều này có vẻ như một chút công việc. Trân trọng, cảm ơn!
Raphael

Thật vậy, bài viết đã kết thúc lâu hơn tôi dự đoán. Cám ơn bạn đã góp ý. :)
Roy O.

2
Ờ cái đó. Xảy ra . Thường xuyên .
Raphael

3

EDIT Câu trả lời này không chính xác, như người trả lời khác đã chỉ ra một cách chính xác. Tôi đã sử dụng bản dịch thành logic kết hợp từ Asperti & Longo, khác biệt một cách tinh tế so với bản dịch trong Selinger.

Trong thực tế, điều này minh họa một điểm rất quan trọng: "diễn giải kết hợp" của phép tính lambda không phải là một điều duy nhất! Các tác giả khác nhau làm điều đó hơi khác nhau.

Tôi để lại câu trả lời của mình ở đây cho hậu thế, nhưng câu trả lời khác thì tốt hơn.


Sự tương đương trong bối cảnh này được xác định bởi Bảng 1 và 2 trong bài viết của Selinger. Tuy nhiên, một tiên đề hơi khác nhau có thể làm cho mọi thứ rõ ràng hơn một chút.

Điều thực sự có nghĩa là hai thuật ngữ có thể chuyển đổi trong lý thuyết . Chúng ta có thể định nghĩa "khả năng chuyển đổi" bằng hai tiên đề sau:λ

  • ( λ x . M ) N = [ N / x ] M x N Mβ . , nếu miễn phí cho trong(λx.M)N=[N/x]MxNM
  • λ y . M y = M y Mη . , nếu không miễn phí trongλy.My=MyM

cộng, tất nhiên, các tiên đề và quy tắc suy luận thông thường cần thiết để thực hiện một sự đồng dạng. Từ điều này, rõ ràng là bất kỳ ví dụ phản tác dụng nào sẽ dựa vào điều kiện biến miễn phí trên quy tắc bị phá vỡ.η=η

Tôi nghĩ rằng đây có lẽ là đơn giản nhất:

N = ( λ z . Z ) x

M=x
N=(λz.z)x

Bạn có thể tự xác minh rằng , nhưng các diễn giải tổ hợp tương ứng của chúng không bằng nhau theo các quy tắc trong Bảng 2.λy.M=λy.N


Điều tôi không hiểu về câu trả lời của bạn: 1) tại sao lại đề cập đến , trong khi lý thuyết trong Bảng 1 không bao gồm nó và rõ ràng là có nội dung? 2) Cách diễn giải kết hợp của và không bằng nhau? Đạo hàm trong câu trả lời của tôi cho thấy rằng chúng là. 3) Xi -rule không được xử lý, trong khi đó là thủ phạm trong vấn đề này. λ y . M λ y . N ξηλy.Mλy.Nξ
Roy O.
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.