Sự kết hợp của việc mở rộng beta


10

Hãy β be β -reduction trong λ -calculus. Xác định β -expansion β bởi tβttβt .

β confluent? Nói cách khác, chúng ta có mà cho bất kỳ l,d,r , nếu lβdβr , sau đó có tồn tại u như vậy lβuβr ?

Từ khóa: Hợp lưu hướng lên, đảo lộn tài sản CR


Tôi bắt đầu bằng cách nhìn vào bất động sản yếu: ngã ba địa phương (tức là nếu lβdβr , sau đó lβuβr ). Thậm chí nếu điều này là đúng, nó sẽ không bao hàm sự hợp lưu từ β -expansion là không kết thúc, nhưng tôi nghĩ rằng nó sẽ giúp tôi hiểu được những chướng ngại vật.

(Top) Trong trường hợp cả hai giảm đang ở cấp cao nhất, các giả thuyết trở nên (λx1.b1)a1b1[a1/x1]=b2[a2/x2](λx2.b2)a2 . Lên đến α -renaming, chúng ta có thể giả sử rằng x1x2và cả x1x2 đều không miễn phí trong các điều khoản đó.

(Ném) Nếu x1 là không được tự do trong b1 , chúng tôi có b1=b2[a2/x2] và do đó có (λx1.b1)a1=(λx1.b2[a2/x2])a1(λx1.(λx2.b2)a2)a1(λx2.b2)a2 .

Một bằng chứng ngây thơ bằng cảm ứng (trên b1b2 ) cho trường hợp (Trên cùng) sẽ như sau:

  • Nếu b1 là biến y1 ,

    • Nếu y1=x1 , giả thuyết trở nên (λx1.x1)a1a1=b2[a2/x2](λx2.b2)a2 , và chúng tôi thực sự có (λx1.x1)a1=(λx1.x1)(b2[a2/x2])(λx1.x1)((λx2.b2)a2)(λx2.b2)a2 .

    • Nếu y1x1 , thì chúng ta chỉ cần sử dụng (Ném).

  • Bằng chứng tương tự được áp dụng là b2 là một biến.

  • Với b1=λy.c1b2=λy.c2 , giả thuyết trở nên (λx1.λy.c1)a1λy.c1[a1/x1]=λy.c2[a2/x2](λx2.λy.c2)a2 và giả thuyết quy nạp chod như vậy(λx1.c1)a1d(λx2.c2)a2 mà ngụ ý rằngλy.(λx1.c1)a1λy.dλy.(λx2.c2)a2 . Thật không may, chúng tôi không cóλy.(λx2.c2)a2(λx2.λy.c2)a2 . (Điều này làm cho tôi nghĩ vềσ -reduction.)

  • Một vấn đề tương tự phát sinh cho các ứng dụng: các λ s không phải là nơi họ nên được.


1
@chi Trừ khi tôi nhầm, hoạt động. (λb.yb)y(λa.(λb.ab)y)y(λa.ay)y
xavierm02

1
Tôi phần nào đồng ý với @chi rằng nó có vẻ hợp lưu sau khi bạn nghĩ về nó và thấy một vài ví dụ phản biện. Nhưng thực ra, những gì về không (λx.xxy)yyyy(λx.yxx)y
Rodolphe Lepigre

2
Mặc dù nó sẽ thuận tiện cho tôi nếu nó là sự thật, tôi hơi bi quan hơn một chút. Một đồng nghiệp của tôi đã đưa ra nhận xét sau đây có vẻ như không thể: nó ngụ ý rằng bất kỳ hai chương trình tùy ý nào tính toán cùng một số nguyên (nhà thờ) có thể được kết hợp.
xavierm02

2
Câu trả lời là không. Tập thể dục 3.5.11 trong Barendregt đưa ra một phản ví dụ do Plotkin, nhưng không có một tài liệu tham khảo: ( λ x . X x ) ( b c ) . Tôi sẽ tìm kiếm một bằng chứng. (λx.bx(bc))c(λx.xx)(bc)
Gilles 'SO- ngừng trở nên xấu xa'

1
Tôi đã đăng mẫu ví dụ như một câu trả lời, với những gì tôi nghĩ sẽ là một bằng chứng, nhưng có một bước tôi không thể tìm ra. Nếu ai đó có thể tìm ra nó, xin vui lòng gửi câu trả lời và tôi sẽ xóa của tôi.
Gilles 'SO- ngừng trở nên xấu xa'

Câu trả lời:


7

Hai mẫu là:

  • (λx.bx(bc))c(λx.xx)(bc) (Plotkin).
  • (λx.a(bx))(cd)a((λy.b(cy))d) (Van Oostrom).

Ví dụ chi tiết dưới đây được đưa ra trong The Lambda Tính: Cú pháp và ngữ nghĩa của HP Barenredgt, phiên bản sửa đổi (1984), bài tập 3.5.11 (vii). Nó được quy cho Plotkin (không có tài liệu tham khảo chính xác). Tôi đưa ra một bằng chứng không đầy đủ được điều chỉnh từ một bằng chứng của Vincent van Oostrom của một ví dụ khác, trong Take Five: a Easy Expansion Practice (1996) [PDF] .

Cơ sở của bằng chứng là định lý tiêu chuẩn hóa, cho phép chúng ta chỉ xem xét mở rộng beta của một hình thức nhất định. Nói một cách trực giác, giảm tiêu chuẩn là giảm làm cho tất cả các cơn co thắt của nó từ trái sang phải. Chính xác hơn, việc giảm là không chuẩn iff có một bước Mi mà redex là phần dư của một redex ở bên trái của redex của bước trước Mj ; “Left” và “quyền” cho một REDEX được xác định bởi vị trí của λ được loại trừ khi lập REDEX được ký hợp đồng. Các trạng thái lý tiêu chuẩn hóa mà ở đó nếu MβN sau đó là giảm tiêu chuẩn từ M đếnN .

Đặt L=(λx.bx(bc))cR=(λx.xx)(bc) . Cả hai thuật ngữ beta-giảm đến bc(bc) trong một bước.

Giả sử rằng có một tổ tiên chung A ví dụ mà LβAβR . Nhờ định lý tiêu chuẩn hóa, chúng ta có thể giả sử rằng cả hai mức giảm là tiêu chuẩn. Không mất tính tổng quát, giả sử rằng A là bước đầu tiên mà các mức giảm này khác nhau. Hai giảm này, chúng ta hãy σ là một nơi REDEX của bước đầu tiên là ở phía bên trái của người kia, và ghi A=C1[(λz.M)N] nơi C1là bối cảnh của sự co lại này và (λz.M)N là redex. Hãy τ là giảm khác.

Kể từ τ là tiêu chuẩn và bước đầu tiên của nó là ở bên phải của lỗ trong C1 , nó có thể không hợp đồng tại C1 hay bên trái của nó. Do đó, hạn cuối cùng của τ có dạng C2[(λz.M)N] nơi các bộ phận của C1C2 bên trái của lỗ của họ là giống hệt nhau, MβMNβN. Vì σ bắt đầu bằng cách giảm ở C1 và không bao giờ giảm thêm bên trái, nên thuật ngữ cuối cùng của nó phải có dạng C3[S] trong đó phần C3 ở bên trái lỗ của nó giống hệt với phần bên trái của C1C2 , và M[zN]βS .

LRτλz.MLRτNC1=C2=C3=[]

  • τRMβzzNβbcM[zN]β(λx.bx(bc))cNLbcNNσNˇPNˇNLbcbcNLbc

  • τLMβbz(bc)NβcM[zN]β(λx.xx)(bc)NRc

NM


0

βxv(λx.v)t1βv(λx.v)t2βvt1t2βt1t2uuβt1uβt2


2
(λx.v)t1(λx.(λx.v)t1)t2(λx.v)t2

Chết tiệt, bạn nói đúng! Tôi sẽ cố gắng nghĩ về điều gì khác sau này, tôi không có thời gian ngay bây giờ.
Rodolphe Lepigre
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.