Beta genişlemesinin izdihamı


10

Let β be β Düşürülmesi içinde λ -calculus. β genişleme β tarafından t β t tanımlayıntβttβt .

β birleşik? Başka bir deyişle, herhangi bir değişiklik için o var mı l,d,r ise, lβdβr , daha sonra vardır u öyle ki lβuβr ?

Anahtar Kelimeler: Yukarı doğru izdiham, baş aşağı CR özelliği


Zayıf özelliğe bakarak başladım: yerel izdiham (eğer lβdβr , sonra lβuβr ). Bu doğru olsa bile, çünkü izdiham anlamına gelmeyeceğine β -genişleme bitmeyen, ama bu beni engelleri anlamaya yardımcı olacağını düşündük.

(Üst) her iki azalmalar üst düzeyde olması durumunda, hipotez olur (λx1.b1)a1b1[a1/x1]=b2[a2/x2](λx2.b2)a2 . En fazla α -renaming, biz varsayabiliriz x1x2ve bu şartlarda ne x1 ne de x2 ücretsiz değildir .

(Taç) ise x1 ücretsiz değil b1 , elimizdeki b1=b2[a2/x2] ve bu nedenle sahip (λx1.b1)a1=(λx1.b2[a2/x2])a1(λx1.(λx2.b2)a2)a1(λx2.b2)a2 .

Dava (Üst) için indüksiyonla ( b1 ve b2 ) naif bir kanıt aşağıdaki gibi olacaktır:

  • Eğer b1 bir değişkendir y1 ,

    • Eğer y1=x1 , hipotez olur (λx1.x1)a1a1=b2[a2/x2](λx2.b2)a2 , ve gerçekten de sahip (λx1.x1)a1=(λx1.x1)(b2[a2/x2])(λx1.x1)((λx2.b2)a2)(λx2.b2)a2 .

    • Eğer y1x1 , o zaman (Throw) kullanabilirsiniz.

  • Aynı kanıtlar geçerlidir, b2 değişkendir.

  • İçin b1=λy.c1 ve b2=λy.c2 , hipotez olur (λx1.λy.c1)a1λy.c1[a1/x1]=λy.c2[a2/x2](λx2.λy.c2)a2 ve indüksiyon hipotezi verird , öyle ki(λx1.c1)a1d(λx2.c2)a2 anlamına gelirλy.(λx1.c1)a1λy.dλy.(λx2.c2)a2 . Ne yazık ki,λy.(λx2.c2)a2(λx2.λy.c2)a2 . (Bu banaσ indirimidüşündürüyor.)

  • Uygulamalar için de benzer bir sorun ortaya çıkmaktadır: λ olması gerektiği yerde değildir.


1
@chi Yanılmadıkça, çalışır. (λb.yb)y(λa.(λb.ab)y)y(λa.ay)y
xavierm02

1
@Chi ile biraz düşündüğünüzde, bunu düşündükten ve bir çift karşı örnek gördükten sonra birbirine karıştığı görülüyor. Ama aslında, ne olacak ? (λx.xxy)yyyy(λx.yxx)y
Rodolphe Lepigre

2
Doğru olsaydı benim için uygun olsa da, ben biraz daha kötümserim. Bir meslektaşım, olası görünmeme neden olan şu açıklamayı yaptı: aynı (kilise) tamsayısını hesaplayan herhangi iki keyfi programın birleştirilebileceği anlamına gelir.
18:

2
Cevap hayır. Barendregt'teki alıştırma 3.5.11, Plotkin'e atfedilen, ancak bir referans olmaksızın bir karşı örnek verir: ve ( λ x . X x ) ( b c ) . Kanıt arayacağım. (λx.bx(bc))c(λx.xx)(bc)
Gilles 'SO- kötülüğü bırak'

1
Karşı örneği bir kanıt olarak gönderdim, bunun bir kanıt olacağını düşündüm, ancak anlayamadığım bir adım var. Birisi anlayabiliyorsa, lütfen bir cevap gönderin ve benimkini silerim.
Gilles 'SO- kötü olmayı bırak'

Yanıtlar:


7

İki karşı örnek:

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

Aşağıda ayrıntıları verilen karşı örnek Lambda Hesabı: HP Barenredgt tarafından yazılan sözdizimi ve anlambilimi , gözden geçirilmiş baskı (1984), alıştırma 3.5.11 (vii). Plotkin'e (kesin referans yok) atfedilir. Farklı bir karşı örnek için Vincent van Oostrom'un kanıtından uyarlanan tamamlanmamış bir kanıt veriyorum, Take Five: Easy Expansion Exercise (1996) [PDF] .

İspatın temeli, sadece belirli bir formun beta genişlemelerini dikkate almamızı sağlayan standardizasyon teoremidir. Sezgisel olarak, standart bir azalma, tüm kasılmalarını soldan sağa yapan bir azalmadır. Daha kesin olarak, bir redüksiyon bir kademe mevcuttur standart olmayan ancak ve ancak bir Mi REDEX önceki aşaması REDEX solundaki bir REDEX bir kalıntı olup Mj ; Bir redex için “sol” ve “sağ”, redex büzülünce atılan λ pozisyonuyla tanımlanır . Orada eğer standardizasyon teoremi durumları MβN daha sonra standart bir azalma vardır M içinN .

Let L=(λx.bx(bc))c ve R=(λx.xx)(bc) . Her iki terim de beta-azaltmak bc(bc) tek bir adımda.

Ortak bir ata olduğunu varsayalım A şekilde LβAβR . Standardizasyon teoremi sayesinde her iki azaltmanın da standart olduğunu varsayabiliriz. Genelliği kaybetmeden, A bu indirimlerin farklı olduğu ilk adım olduğunu varsayalım . Bu iki azalmaların, izin σ ilk aşamanın REDEX diğer sola doğru bir ve yazma olmak A=C1[(λz.M)N]C1bu daralmanın bağlamı ve (λz.M)N redeks. Let τ diğer azalma olabilir.

Yana τ standarttır ve ilk adımı deliğin sağında C1 , en sözleşme yapamaz C1 ne de bunun solunda. Bu nedenle, son dönem τ biçimi olan C2[(λz.M)N] parçaları C1 ve C2 deliklerinden kalan özdeş olan MβM ve NβN. Yana σ de azaltarak başlar C1 ve daha fazla sol azaltan hiç nihai süreli bir şekilde olmalıdır C3[S] parçası burada C3 deliğinden sola sol kısmında aynıdır C1 ve C2 ve M[zN]βS .

L ve R her birinin , uygulama operatörünün solunda en üst düzeyde bulunan tek bir lambda bulunduğunu gözlemleyin . Yana τ bir lambda korur λz.M , bu lambda, L veya Rτ son terimi hangisi olduğu ve bu terimde, başvurunun argümanı N azaltılmasıyla elde edilir . REDEX, yani toplevel olan C1=C2=C3=[] .

  • Eğer τ uçlar R sonra, Mβzz , Nβbc ve M[zN]β(λx.bx(bc))c . Eğer N bir soyundan olan L bu soyundan ayrıca azaltmak gerekir bc normal biçimi olan N . Özellikle,N , böylece bir lambda olabilirσ biçiminin bir subterm bulaşabilir K P K soyundan N . Tek subterm yana L azaltır b , c olan b c , tek olası soyundan N içinde L tek bir durumdur b c kendisi.NˇPNˇNLbcbcNLbc

  • Eğer τ uçlar L , o zaman Mβbz(bc) , Nβc ve M[zN]β(λx.xx)(bc) . NR bir torunu varsa , bu torunun da birleşerek c indirilmesi gerekir .

Bu noktada, sonuç van Oostrom'a göre kolayca takip edilmelidir, ancak bir şey eksik: N soyundan gelen izlemenin M hakkında nasıl bilgi verdiğini görmüyorum . Eksik yazı için özür dilerim, bir gecede düşüneceğim.


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

Lanet olsun, haklısın! Daha sonra başka bir şey düşünmeye çalışacağım, şu anda vaktim yok.
Rodolphe Lepigre
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.