Lambda hesabında


18

Sanırım anlamadım, ama -conversion bana hiçbir şey yapmayan bir -conversion, sonucun sadece lambda soyutlamasındaki terim olduğu özel bir -version gibi görünüyor çünkü hiçbir şey yok bir nevi anlamsız dönüşüm.ηβββ

Yani belki dönüşüm gerçekten derin ve farklı bir şeydir, ama eğer öyleyse, anlamıyorum ve umarım bana yardımcı olabilirsiniz.η

(Teşekkürler ve özür dilerim, bunun lambda hesabındaki temel bilgilerin bir parçası olduğunu biliyorum)

Yanıtlar:


20

Güncelleme [2011-09-20]: η genişleme ve genişletilebilirlik hakkındaki paragrafı genişlettim. İyi bir referansa işaret ettiği için Anton Salikhmetov'a teşekkürler.

η -dönüşüm(λx.fx)=f özel birβ - dönüşümörneğidir,yalnızcaözel durumdaf bir soyutlama olduğunda, örneğinf=λy.yy sonra

(λx.fx)=(λx.(λy.yy)x)=β(λx.xx)=αf.
Peki yaf bir değişkendir ya da bir soyutlamaya indirgenmeyen bir uygulama ise?

Bir şekilde η kuralı özel bir uzatma türü gibidir, ancak bunun nasıl ifade edildiği konusunda biraz dikkatli olmalıyız. Yaygınlığı şöyle ifade edebiliriz:

  1. tüm λ -terms M ve N , eğer Mx=Nx sonra M=N ya da
  2. tüm x ise g . f x = g x sonra f = g .f,gx.fx=gxf=g

Birincisi, hesabının şartları hakkında bir meta ifadedir. İçinde x resmi bir değişken olarak görünür, yani λ- hesabının bir parçasıdır. Bu ispat edilebilir p r | , -rules içinde teoremi 2.1.29 bakınız örneğin "Lambda hesap: kendi sentaks ve semantik" Barendregt (1985) tarafından. Tüm tanımlanabilir fonksiyonlar hakkında, yani λ -term ifadeleri olan bir ifade olarak anlaşılabilir.λxλβηλ

İkinci ifade, matematikçilerin genellikle matematiksel ifadeleri nasıl anladıklarıdır. Teorisi -calculus yapıların belli bir tür açıklar, bize "diyelim λ -modelleri ". Bir λ- modeli sayılamaz olabilir, bu yüzden her öğesinin bir λ -term'e karşılık geldiğine dair bir garanti yoktur (tıpkı gerçekleri tanımlayan ifadelerden daha fazla gerçek sayı olduğu gibi). Sonra uzama gücü diyor ki: bir λ modelinde f ve g iki şey alırsak , modeldeki tüm x için f x = g x ise, o zaman f = gλλλλfgλfx=gxxf=g. Şimdi model, kuralını karşılasa bile , bu anlamda uzamayı tatmin etmesine gerek yoktur. (Burada referans gerekiyordu ve bence eşitliğin nasıl yorumlandığına dikkat etmeliyiz.)η

Çeşitli yolları vardır ki elimizden motive - ve η -conversions. Λ- hesabı olarak gizlenen kategori-teorik olanı rastgele seçeceğim ve bir başkası başka nedenleri açıklayabilir.βηλ

Yazılan hesabını düşünelim (çünkü daha az kafa karıştırıcıdır, ancak az çok λ- hesabı için aynı akıl yürütme çalışır ). Should tutan temel yasalardan biri üstel yasasıdır C A × B( C B ) A . ( A B ve B A notasyonlarını dönüşümlü olarak kullanıyorum, hangisi daha iyi görünüyorsa onu seçiyorum.) İzomorfizmler i : C A × B( C B ) A ve j :λλ

CA×B(CB)A.
ABBAi:CA×B(CB)A λ- hesabındayazılmış gibimi görünüyor? Muhtemelen i = λ f : C A × B olurdu . λ bir : bir . λ b : B . f bir , b ve j = λ g : ( Cı- B ) bir . λ p : A × Bj:(CB)ACA×Bλ
i=λf:CA×B.λa:A.λb:B.fa,b
Bir çift kısa bir hesaplama β -reductions dahil ( β -reductions π 1bir , b = bir ve π 2bir , b = b ürünler için), her için, bize söyler g : ( Cı- B ) bir Elimizdeki i ( j g ) =
j=λg:(CB)A.λp:A×B.g(π1p)(π2p).
ββπ1a,b=aπ2a,b=bg:(CB)A Yana ben ve j birbirinin tersidir, biz bekliyoruz i ( j gr ) = g , ama aslında biz kullanmaya gerek bu kanıtlamak η : Düşürülmesi iki kez i ( j gr ) = ( λ bir : Bir . Λ b : B . g bir b ) = η (
i(jg)=λa:A.λb:B.gab.
iji(jg)=gη Bu η azaltmalarınınbir nedenidir. Alıştırma: j ( i f ) = f olduğunu göstermek içinhangi η- kuralına ihtiyaç vardır?
i(jg)=(λa:A.λb:B.gab)=η(λa:A.ga)=ηg.
ηηj(if)=f

"Ayrıca, η-kuralının işlevlerin genişletilebilirliği ile ilgili olduğunu söylediğini duydum. Bu yanlıştır" Eğer eşitlik aksiyomlarını ve çıkarım kurallarını genişletme kuralıyla artırırsanız (cevabım bakın), bu çıkarım kuralları kümesi tam olarak yakalar p r | -equality, değil mi? (iki terimler, bu teorik olarak eşit, yani bunlar IFF p r | equal)ββηβη
Marcin Kotowski

@ Marcin: evet, uzatma kuralını ima eder , ancak tersi değildir. Β - ve η- kurallarından uzatılabilirliği nasıl elde edersiniz? ηβη
Andrej Bauer

1
let = β içeren ve uzantısallığı sağlayan en küçük uyumu belirtin ( M x = N x ise , M = N ise ). Sonra M = N iff M = β η N (bkz. Örneğin Urzyczyn'in ilk bölümü, Sorensen "Curry-Howard izomorfizmi üzerine anlatım) ve bu anlamda η kuralı, uzatma kavramını yakalar.==βMx=NxM=NM=NM=βηNη
Marcin Kotowski

Görüyorum ki, uzatılabilirliği bir şema olarak düşünüyorsunuz, yani ve N terimlerinin her çifti için geçerli olduğunu kanıtlıyoruz . Uzatmayı bir ifade olarak düşünüyordum. Bence. Şimdi bunu düşünmeliyim. MN
Andrej Bauer

1
@AndrejBauer η-kuralının tam uzantısallık olmadığına katılıyorum, ancak bunun hala sınırlı bir uzantısallık türü olduğunu düşünmüyorsunuz, yani açık bir uzantısallık sınıfını temsil ediyor. Asıl soru motivasyonları ve kavramları araştırıyor ve bu durumda uzatma açısından düşünmenin yararlı olduğuna inanıyorum (elbette çok ileri gitmemek için biraz dikkatle).
Marc Hamann

9

Bu soruyu cevaplamak için karşılık gelen “Lambda Calculus” monografından aşağıdaki alıntıyı sağlayabiliriz. Sözdizimi ve Anlambilimi “(Barendregt, 1981):

βηλλ+extextMx=NxM=N

M=βηNληM=Nλ+extM=N

[Kanıtı aşağıdaki teoremi temel alır.]

λ+extλη(ext)(η)

λη

MNληM=Nλη+M=N

HP-complete [Hilbert – Post sonrası] teorileri, birinci dereceden mantık için model teorisindeki maksimum tutarlı teorilere karşılık gelir.


7

λβη

  • İse uygun , örneğin iki terim olduğu anlamda ve λλxy.xλxy.y βηβη

  • ι

    1. Uyum ile kapatılır: u =ι vt u =ι t v

    2. Bu 2 denk olmayan eşdeğer koşullarβη olan normal formlar : vardır ve u , normal formunda bu türtut=ιutβηu

tut=βηιu

Bu Böhm teoreminin bir sonucudur.


6

η

=βηβηM=Nλx.M=λx.N=β

=β=βηλx.Mx=MMx=NxM=N


Genişlemenin η-kural.
Andrej Bauer

Barendregt (Lambda Calculus ve Semantics, 1985) monografındaki Teorem 2.1.29'a bakınız.

2
@Anton: Sanırım bu konuda çok mutlu değilim ξ-kural.
Andrej Bauer

Ve ben de mutluluğun ve “duyulan” benzeri cevapların karşılık gelen referanslarla doğrudan ilgili alıntılardan daha fazla ilgi göstermesinden çok mutlu değilim.

@Anton: Bu bir popülerlik yarışması, bilmiyor muydun? ;-) Her neyse,ξ-Barendregt'de kullanılan kural. Kimsenin onu sürüklediğini hatırlamıyorumξtartışmaya. Biz sadeceα ve β.
Andrej Bauer
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.