-chuyển đổi so với tính mở rộng trong phần mở rộng của lambda-tính


14

Tôi thường bị nhầm lẫn bởi mối quan hệ giữa chuyển đổi và tính mở rộng.

Chỉnh sửa: Theo nhận xét, có vẻ như tôi cũng nhầm lẫn về mối quan hệ giữa tương đương mở rộng và tương đương quan sát. Nhưng ít nhất là trong Agda với sự bình đẳng mở rộng cho các hàm (như một định đề) và cho một phép tính lambda được gõ đơn giản (có một ngữ nghĩa trừu tượng hoàn toàn, nếu tôi không nhầm), tương đương về mặt biểu thị cũng giống như tương đương quan sát. Hãy sửa tôi trong phần bình luận hoặc câu trả lời; Tôi chưa bao giờ nhận được giáo dục có hệ thống về những vấn đề này.

Trong phép tính lambda chưa được đánh dấu, quy tắc eta đưa ra hệ thống chứng minh tương tự như quy tắc mở rộng, như được chứng minh bởi Barendregt (được trích dẫn trong câu trả lời cho câu hỏi này ). Tôi hiểu điều đó có nghĩa là hệ thống chứng minh với quy tắc eta đã hoàn thành cho sự tương đương quan sát (từ các câu trả lời khác, có thể cần quy tắc, nghĩa là giảm theo ràng buộc IIUC; tôi cũng không có vấn đề gì khi thêm quy tắc đó) .

Tuy nhiên, điều gì xảy ra nếu chúng ta chuyển sang một phép tính đánh máy và thêm mở rộng phép tính này với các loại cơ sở bổ sung và các hình thức giới thiệu và loại bỏ tương ứng? Chúng ta vẫn có thể viết một hệ thống bằng chứng hoàn chỉnh cho sự tương đương quan sát chứ? Tôi sẽ nói về các hệ thống bằng chứng dưới dạng ngữ nghĩa tiên đề, sau Cơ sở ngôn ngữ lập trình (FPL) của Mitchell; hệ thống chứng minh / ngữ nghĩa tiên đề xác định tương đương chương trình.

Câu hỏi 1 : Định lý của Barendregt có mở rộng sang STLC không? Là tương đương equivalent tương đương với tính mở rộng trong bối cảnh đó?

Tôi đang xem thảo luận về PCF của FPL (nhưng chưa hoàn thành phần này) và dường như một khi bạn thêm các cặp, tính mở rộng yêu cầu một quy tắc bổ sung, cụ thể là ghép cặp so sánh : pair (Proj1 P, Proj2 P) = P. Thật thú vị, quy tắc này liên quan đến việc giới thiệu và loại bỏ các cặp chính xác như quy tắc rel liên quan đến việc giới thiệu và loại bỏ các chức năng.

Câu 2 : Có đủ để thêm tiên đề ghép cặp tính toán để chứng minh tính mở rộng trong phép tính được tính đơn giản với các cặp không? chỉnh sửa : Câu 2b : việc ghép nối có phải là một luật,, như các luật mentioned được đề cập trong bài viết này , vì sự giống nhau về cấu trúc mà tôi đề cập?

Bây giờ chúng ta hãy đi đến PCF. Mô tả về sự bình đẳng mở rộng mà tôi đã thấy sau đó chứng minh rằng tính mở rộng ngụ ý quy tắc chứng minh bằng quy nạp, nhưng họ không nói liệu điều đó có đủ hay không. Vì PCF là Turing-Complete, nên sự bình đẳng mở rộng là không thể giải quyết được . Nhưng điều đó không có nghĩa là không có hệ thống chứng minh hoàn chỉnh, vì độ dài của bằng chứng là không giới hạn. Liên quan hơn, một hệ thống chứng minh như vậy có thể mâu thuẫn với các định lý không hoàn chỉnh của Gôdel. Và đối số đó có thể áp dụng ngay cả với PCF mà không có fix, và cho Hệ thống T.

Câu hỏi 3 : Có một hệ thống bằng chứng hoàn chỉnh cho sự tương đương quan sát trong PCF không? Còn PCF fixthì sao?

Cập nhật: trừu tượng đầy đủ

Tôi trả lời ở đây về nhận xét về sự trừu tượng đầy đủ. Tôi nghĩ PCF bị hai loại vấn đề khác nhau: nó không chấm dứt (thông qua sửa lỗi), gây ra sự mất trừu tượng hoàn toàn, nhưng nó cũng có số tự nhiên. Cả hai vấn đề làm cho sự tương đương quan sát khó điều trị, nhưng tôi tin tưởng độc lập với nhau.

Một mặt, PCF mất đi sự trừu tượng hóa hoàn toàn vì song song hoặc sống trong miền ngữ nghĩa (Plotkin 1977), và điều đó dường như phải làm với sự hủy diệt. Ralph Loader (2000, "FinF PCF không thể quyết định được") cho thấy PCF hoàn hảo (không có tự nhiên, nhưng không có sự hủy diệt) là không thể giải quyết được; do đó, (nếu tôi tổng hợp chính xác) một ngữ nghĩa trừu tượng hoàn toàn không thể giới hạn trong các miền có hoạt động tính toán.

Mặt khác, hãy lấy Hệ thống T của Gôdel, không có sự hủy diệt. (Tôi không chắc nó có ngữ nghĩa trừu tượng hoàn toàn, nhưng tôi đoán là có, bởi vì vấn đề chỉ được đề cập cho PCF; tên miền phải chứa các hàm đệ quy nguyên thủy bậc cao hơn). Cơ sở thực tiễn cho các ngôn ngữ lập trình của Harper thảo luận về sự tương đương quan sát cho ngôn ngữ này; Giây 47.4 có tiêu đề "Một số luật bình đẳng" và cho thấy một số quy tắc chứng minh được chấp nhận cho sự tương đương quan sát. Không nơi nào nói rằng hệ thống bằng chứng đã hoàn thành hay chưa, vì vậy tôi đoán là không, nhưng cũng không nơi nào thảo luận về việc liệu nó có thể được hoàn thành hay không. Dự đoán tốt nhất của tôi liên kết trở lại định lý không hoàn chỉnh của Gôdel.


1
Tôi nghĩ rằng tôi có thể trả lời một số điều này, nhưng tôi bối rối không biết bạn đang hỏi gì. Câu hỏi bạn đề cập không phải là về sự tương đương của chương trình. Bạn có nghĩa là tương đương quan sát? Đối với những gì ngữ nghĩa hoạt động? Vì vậy, về cơ bản, nếu bạn giải thích chính xác "bằng chứng" trong Câu hỏi 1 đề cập đến điều gì, tôi nghĩ tôi có thể đoán được chuyện gì đang xảy ra. Dự đoán tốt nhất của tôi cho đến nay: bạn muốn có một lý thuyết tương đương hoàn chỉnh cho sự tương đương quan sát và bạn đang hỏi chúng tôi liệu -rules có đủ không. Là nó? η
Andrej Bauer

@AndrejBauer: dự đoán của bạn là chính xác, tôi sẽ bắt đầu cập nhật câu hỏi.
Blaisorblade

Tôi không chắc chắn về ngữ nghĩa hoạt động - điều đó có tạo ra sự khác biệt cho các định lý ban đầu không?
Blaisorblade

Tôi đã cố gắng để tinh chỉnh câu hỏi hơn nữa. Nhưng tôi vẫn nghĩ dự đoán tốt nhất của bạn là chính xác.
Blaisorblade

Có một vấn đề nhỏ ở đây: nó thực sự không rõ ràng những gì là cho các số tự nhiên! Nếu bạn chỉ có chỉ chức năng và sản phẩm các loại, sau đó bạn đang ở trong rõ ràng: thuật ngữ này observationally tương đương khi và chỉ khi họ β η bằng. Tổng quát hơn, tôi nghĩ rằng điều này có liên quan đến vấn đề trừu tượng hóa hoàn toàn . ηβη
cody

Câu trả lời:


7

Tôi không chắc là tôi hoàn toàn có thể trả lời câu hỏi của bạn, nhưng tôi sẽ đưa ra một câu hỏi và hỏi một vài câu hỏi của riêng tôi có thể thúc đẩy một số cuộc thảo luận thêm về chủ đề này.

Điểm đầu tiên của tôi là thế này: hai nhiệm kỳ trong untyped λ -calculus được cho là observably bằng iff cho mỗi thuật ngữ M : M t  chấm dứt M t '  chấm dứt  ở đâu chấm dứt có nghĩa là "có β dạng -normal"t,t λM

M t terminates M t terminates 
β

Tôi thấy tự nhiên hơn khi xem xét các thuật ngữ có "lỗ" hoặc bối cảnh thay vì chỉ đơn giản là thuật ngữ M và viết E [ t ] thay vì M t . Hai khung nhìn chắc chắn tương đương (nếu các biến không bị ràng buộc bởi ngữ cảnh), vì sự trừu tượng cho phép bạn biến bối cảnh E [ _ ] thành thuật ngữ λ x . E [ x ] .E[_]ME[t]M tE[_]λx.E[x]

Bây giờ có một thực tế là sự bình đẳng quan sát trong phép tính chưa được kiểm tra không bị bắt bởi đẳng thức! Thật vậy, có cả một nhóm thuật ngữ, cả hai đều không chấm dứt và không có dạng đầu bình thường và do đó tất cả đều bằng nhau. Đôi khi chúng được gọi là các điều khoản vĩnh viễn hoặc các điều khoản không thể giải quyết được và đây là hai thuật ngữ như sau: ( λ x . X x ) ( λ x . X x )( λ x . X x x ) ( λ x .βη

(λx.x x)(λx.x x)
Đó là khá dễ dàng để chứng minh rằng những thuật ngữ này không beta η -equal.
(λx.x x x)(λx.x x x)
βη

Nếu tất cả các thuật ngữ vĩnh viễn được xác định, thì sự bình đẳng quan sát hoàn toàn được nắm bắt, bằng một kết quả cổ điển (xem định lý Barendregt 16.2.7).


Bây giờ cho tính toán đánh máy. Hãy xem xét các chỉ đơn giản là gõ -calculus chưa có số tự nhiên đầu tiên. Định nghĩa trên về bình đẳng quan sát trở nên tầm thường, vì mọi thuật ngữ đều bình thường hóa! Chúng ta cần một sự phân biệt tốt hơn. Chúng ta sẽ sử dụng đẳng thức giá trị t 1t 2 cho các số hạng đóng, được xác định bằng cảm ứng trên loại t 1t 2 . Hãy add đầu tiên đối với từng loại A , vô số hằng số c Một , c ' Một , c " Một , ... . Chúng tôi sẽ chọn một số không đổiλt1t2t1t2AcA,cA,cA,cxcủa loại thích hợp để tương ứng với từng biến .x

  1. Tại cơ sở loại , t 1t 2 iff β hình thức bình thường -head của t 1c u 1 ... u n và của t 2d v 1 ... v nc = du 1v 1 , Sầu , u nv n ở các loại tương ứng.Bt1t2βt1c bạn1Giáo dụcbạnnt2d v1Giáo dụcvnc= =dbạn1v1,Giáo dục,bạnnvn

  2. Tại mũi tên loại, khi và chỉ khi cả hai điều kiện β -Giảm đến một λ -abstraction.t1t2βλ

Lưu ý rằng tôi chỉ sử dụng -conversion trong định nghĩa này.β

Bây giờ tôi xác định bối cảnh là: với bối cảnh đầu, ứng dụng, trừu tượng và thay thế (bởi các điều khoản đóng) tương ứng.

[_]|E[_] bạn|t E[_]|λx. E[_]|E[_]θ

Sau đó chúng tôi có thể xác định t ' , cũng gõ kiểu T là observationally tương đương nếu và chỉ nếu với mọi bối cảnh E [ _ ]E [ t ] , E [ t ' ] là tốt, đánh máy và đóng . E [ t ] E [ t ' ] chúng ta sẽ viết t = o b s t ' trong trường hợp nàytt'TE[_]E[t],E[t']

E[t]E[t']
t= =obSt'

Bây giờ nó rất dễ dàng để quan sát rằng nếu sau đó t = o b s t ' . Theo một hướng khác là ít tầm thường, nhưng cũng nắm giữ: thật vậy, nếu t = o b s t ' , sau đó chúng ta có thể thấy rằng các điều khoản đều bình đẳng cho beta η bằng quy nạp vào loại:t= =βηt't= =obSt't= =obSt'βη

  1. Tại loại cơ sở, chỉ cần lấy [ _ ] θ , với θ thay thế mà gửi x để c x . Chúng tôi có E [ t ] = t θE [ t ' ] = t ' θ . Chúng tôi có t θ beta c x u 1 θ ... u n θt ' θ E[_][_]θθxcxE[t]= =tθE[t']= =t'θtθβcx bạn1θGiáo dụcbạnnθ . Sau đó chúng tôi có c x = c x ' và do đó x = x ' . Bây giờ chúng ta không thể ngay lập tức kết luận rằng u i θ = beta η v i θ . Thật vậy, nếu u i v i λ -abstractions, sau đó trivially u i θ v i θ ! Mẹo ở đây là gửi xt'θβcx' v1θGiáo dụcvnθcx= =cx'x= =x'bạnTôiθ= =βηvTôiθbạnTôivTôiλbạnTôiθvTôiθxđến và lặp lại điều này nhiều lần khi cần thiết. Tôi hơi mơ hồ về các chi tiết ở đây, nhưng ý tưởng này tương tự như định lý của Böhm ( Barendregt lại 10.4.2).

    λy.cx~ (y1c1)Giáo dục(yncn)
  2. Tại mũi tên loại, mất [ _ ] c y , tức là ứng dụng để c y với c yy không t hay t ' . Bằng cách giả thuyết quy nạp ta có: t c y = beta η t ' c y và do đó t y = beta η t ' y Mà cho λ y . t y = βE[_][_] cycycyytt'

    t cy = =βη t' cy
    t y = =βη t' y
    và cuối cùng bởiη-equality: t = beta η t 'λy.t y = =βη λ.t' yη
    t = =βη t'

Điều đó khó hơn dự kiến!


N0SrecTTβ

recT bạn v 0βbạn
recT bạn v (S n)βv n (recT bạn v n)

η

λx.x = =βη recN 0 (λk m.S m)
m

f (S x) = =βη h x (f x)f t = =βηrecT (f 0) h t
xηh

MtMTtM (SGiáo dục S 0)n S1Mn0

M

tM = =λx.0
βηM
0 = =βη S 0
TtM= =λx.0

Cảm ơn câu trả lời của bạn! Câu hỏi đầu tiên của tôi là: thông thường có sự thay thế trong bối cảnh cho sự tương đương quan sát? Ít nhất bài báo LCF của Plotkin (1997) không làm điều đó (mặc dù tôi có thể tưởng tượng một cái gì đó như thế sẽ có ý nghĩa trong một số phép tính đóng, trong đó một cái gì đó như sự thay thế là một phần của cú pháp). Nhưng tôi có thể dễ dàng thấy đối với mỗi bối cảnh "thay thế", người ta có thể định nghĩa một bối cảnh "tiêu chuẩn" hơn (đối với tôi) chỉ sử dụng trừu tượng và ứng dụng lambda, giả sử (x. []) C_x; vì vậy tôi đoán sự tương đương quan sát ở trên tương đương với định nghĩa tôi đã từng sử dụng.
Blaisorblade

t=λx.00=βηS0M0=βηS00βηS 0

Mt=λx.0

1
PA01PA0=1T
f 0=g 0f (S 0)=g (S 0)f=g

1
Đúng rồi! Mặc dù đôi khi có ý nghĩa khi xem xét các hệ thống "vô định" như vậy cho các mục đích lý thuyết bằng chứng (ví dụ phân tích thứ tự).
cody
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.