η-dönüşüm vs lambda hesabı uzantılarında uzatma


14

Sık sık η-dönüşümü ile uzantısallık arasındaki ilişkiden kafam karışıyor.

Edit: Yorumlara göre, ben de genişleme denklik ve gözlemsel eşdeğerlik arasındaki ilişki hakkında karışık görünüyor. Ama en azından işlevler için genişleme eşitliğine sahip bir Agda'da (bir postüla olarak) ve basit bir şekilde yazılmış bir lambda hesabı için (ki yanlış değilse, tamamen soyut bir anlambilime sahip olan), eşdeğerlik gözlemsel eşdeğerlik ile aynıdır. Yorumlarda veya cevaplarda beni düzeltmekten çekinmeyin; Bu konularda hiç sistematik bir eğitim almadım.

Türsüz lambda-hesap olarak, eta-kuralı (değinildiği şekilde Barendregt tarafından kanıtlanmış Genişletilebilirlik kural olarak aynı kanıtı sistemi sağlıyor cevap için bu soruya ). Eta kurallı kanıt sisteminin gözlemsel eşdeğerlik için tamamlandığını belirtmek istiyorum (diğer cevaplardan, ξ-kural kuralına ihtiyaç duyabilecek, yani IIUC bağlayıcıları altında azalma olabilir; Bu kuralı eklerken de sorunum yok) .

Bununla birlikte, yazılı bir hesaba geçersek ve bu hesabı ekstra taban tipleri ve karşılık gelen giriş ve eleme formlarıyla genişletirsek ne olur? Yine de gözlemsel denklik için tam bir kanıt sistemi yazabilir miyiz? Mitchell'in Programlama Dillerinin Temelleri'ni (FPL) izleyerek, aksiyomatik bir anlam biçimindeki ispat sistemleri hakkında konuşacağım; ispat sistemi / aksiyomatik anlambilim, program denkliğini tanımlar.

Soru 1 : Barendregt teoremi STLC'ye uzanıyor mu? Η-eşdeğerliği bu bağlamda uzamaya eşdeğer midir?

Ben PCF FPL tartışmasını gezen ediyorum (ama henüz bölümünü bitiremedi) ve bunu çiftleri ekledikten sonra Genişletilebilirlik ek bir kural, yani surjective eşleştirme gerektirdiğini görünüyor: pair (Proj1 P, Proj2 P) = P. İlginç bir şekilde, bu kural tam olarak η kuralı gibi işlevlerin tanıtılması ve ortadan kaldırılmasıyla ilgili olarak çiftlerin tanıtılması ve ortadan kaldırılması ile ilgilidir.

Soru 2 : Basit tipli λ-hesabında çiftlerle uzamayı kanıtlamak için sezgisel eşleştirme aksiyomunu eklemek yeterli mi? edit : Soru 2b : bu makalede bahsettiğim η-yasaları gibi bir η-yasası, eşleştirme eşleştirme, bahsettiğim yapısal benzerlik nedeniyle mi?

Şimdi PCF'ye gidelim. Gördüğüm genişleme eşitliğinin tanımları, daha sonra genişlemenin tümevarım yoluyla bir kanıt kuralı olduğunu kanıtlıyor, ancak bunun yeterli olup olmadığını söylemiyorlar. PCF Turing-complete olduğundan, genişleme eşitliği kararlaştırılamaz . Ancak bu, kanıtların uzunluğu sınırsız olduğu için tam bir kanıt sistemi olmadığı anlamına gelmez. Daha önemlisi, böyle bir kanıt sistemi Gödel'in eksiklik teoremleriyle çelişebilir. Ve bu argüman PCF olmadan fixve Gödel'in Sistem T'si için bile geçerli olabilir .

Soru 3 : PCF'de gözlemsel eşdeğerlik için tam bir kanıt sistemi var mı? PCF'siz ne olacak fix?

Güncelleme: tam soyutlama

Burada tam soyutlama hakkındaki yorumda cevap veriyorum. Bence PCF iki farklı problemden muzdariptir: sonlandırılmamış (düzeltme yoluyla), bu da tam soyutlamanın kaybına neden olur, ancak aynı zamanda doğal sayılar da vardır. Her iki problem de gözlemsel denkliği tedavi etmeyi zorlaştırıyor, ancak birbirinden bağımsız olarak inanıyorum.

Bir yandan, PCF tam soyutlamayı kaybeder çünkü paralel veya semantik alanda yaşar (Plotkin 1977) ve bunun sonlandırmama ile ilgili olduğu görülmektedir. Ralph Loader (2000, "Finitary PCF karar verilemez") finitary PCF'nin (doğal olmayan, ancak sonlandırılmamış) zaten kararsız olduğunu gösterir; bu nedenle, (doğru bir şekilde özetlersem) tamamen soyut bir anlambilim, hesaplanabilir işlemlere sahip alanlarla kısıtlanamaz.

Öte yandan, Gödel'in sonlandırması olmayan System T'yi alın. (Tamamen soyut bir anlambilimine sahip olduğundan emin değilim, ancak evet tahmin ediyorum, çünkü sorun sadece PCF için belirtildi; alan adı daha üst düzey ilkel özyinelemeli işlevler içermelidir). Harper'ın Programlama Dilleri için Pratik Temelleri bu dil için gözlemsel eşdeğerliği tartışır; Sec. 47.4 "Bazı Eşitlik Yasaları" olarak adlandırılmıştır ve gözlemsel eşdeğerlik için kabul edilebilir bazı kanıt kuralları göstermektedir. Hiçbir yerde ispat sisteminin tamamlanıp tamamlanmadığını söylemiyor, bu yüzden sanmıyorum, ama aynı zamanda tamamlanıp tamamlanamayacağını da tartışmıyor. En iyi tahminim Gödel'in eksiklik teoremine bağlanıyor.


1
Sanırım bunlardan bazılarına cevap verebilirim, ama ne istediğine dair kafam karıştı. Bahsettiğiniz soru program denkliği ile ilgili değildir. Yani gözlemsel denklik mi? Hangi işletimsel anlambilim için? Yani, esasen, Soru 1'deki "kanıt" ın tam olarak ne anlama geldiğini açıklarsanız, sanırım neler olduğunu tahmin edebilirim. Şimdiye kadarki en iyi tahminim: gözlemsel denklik için tamamlanmış bir denklem teorisi istiyorsunuz ve bize kuralların yeterli olup olmadığını soruyorsunuz . Öyle mi? η
Andrej Bauer

@AndrejBauer: tahmininiz doğru, soruyu güncellemeye başlayacağım.
Blaisorblade

İşlemsel anlambilimden emin değilim - bu orijinal teoremler için bir fark yaratıyor mu?
Blaisorblade

Soruyu daha da düzeltmeye çalıştım. Ama hala en iyi tahmininizin doğru olduğunu düşünüyorum.
Blaisorblade

Burada küçük bir sorun var: doğal sayılar için ne olduğu gerçekten açık değil ! Sadece sadece işlev ve ürün türleri varsa, o zaman masumuz: terimler olduklarını IFF gözlemsel olarak eşdeğerdir β eşittir. Daha genel olarak, bunun tam soyutlama sorunuyla ilgili olduğunu düşünüyorum . ηβη
cody

Yanıtlar:


7

Sorunuza tamamen cevap verebileceğimden emin değilim, ama bir şans vereceğim ve bu konuda daha fazla tartışmaya neden olabilecek birkaç sorum olacak.

İki terim: İlk nokta şudur de Türlenmemiş X olduğu söylenir -calculus gözle görülebilen bir eşit , her dönem için IFF M : E t  sonlandırıldığında M t '  sonlandırıldığında  nerede sonlandırıldığında araçları "bir yer alır β -normal formu"t,t λM

M t terminates M t terminates 
β

Ben daha doğal "delikleri" veya terimleri dikkate bulmak bağlamlarda yerine basitçe terimleri arasında M ve yazma E [ t ] yerine M t . İki görünüm kesinlikle eşdeğerdir (değişkenler bağlama bağlı değilse), soyutlama E [ _ ] bağlamını λ x terimine dönüştürmenize izin verir . E [ x ] .E[_]ME[t]M tE[_]λx.E[x]

Şimdi, türlenmemiş hesaptaki gözlemsel eşitliğin β η- eşitliği tarafından yakalanmadığı bir gerçektir! Aslında, her ikisi de sona ermeyen ve kafa normal formları olmayan ve bu nedenle gözle görülür derecede eşit olan bir terim sınıfı vardır. Bunlara bazen kalıcı terimler veya çözülemeyen terimler denir ve burada iki terim vardır: ( λ x . X x ) ( λ x . X x ) ve ( λ x . X x x ) ( λ x .βη

(λx.x x)(λx.x x)
O bu terimler olmadıklarını göstermek için oldukça kolay p r | equal.
(λx.x x x)(λx.x x x)
βη

Tüm kalıcı terimler tanımlanırsa, gözlemsel eşitlik klasik bir sonuçla tamamen yakalanır (bkz. Barendregt teoremi 16.2.7).


λt1t2t1t2Ac x xcA,cA,cA,cx değişkenine karşılık gelen uygun tipte .x

  1. Taban türü de , IFF ve kafalı, normal bir şekilde olan ve bunun isimli ve ve kendi türlerinde .t 1t 2 β t 1 c u 1u n t 2 d v 1v n c = d u 1v 1 , , u nv nBt1t2βt1c u1unt2d v1vnc=du1v1,,unvn

  2. Ok türü de, IFF her iki terim de -azaltın bir -abstraction. β λt1t2βλ

Bu tanımda yalnızca dönüşümünü kullandığımı unutmayın .β

Şimdi bağlamları şöyle tanımlarım: başlık, uygulama, soyutlama ve ikame (kapalı dönemlere göre) ile.

[_]E[_] ut E[_]λx. E[_]E[_]θ

Daha sonra tanımlayabilir ve iyi tipi yazılan, Gözlemsel olarak eşdeğer olduğu, ancak ve ancak, her içerik için ise öyle ki da yazılan ve vardır kapalı . bu durumda yazacağızttTE[_]E[t],E[t]

E[t]E[t]
t=obst

Şimdi gözlemlemek kolay olduğunu eğer sonra . Diğer yön daha az önemsizdir, ancak aynı zamanda şunları tutar: gerçekten, eğer ise, türlerin indüksiyonuyla için terimlerin eşit olduğunu gösterebiliriz :t=βηtt=obstt=obstβη

  1. Temel tür de, sadece almak olduğu ile gönderir ikame için . Biz ve . Biz ve . Daha sonra ve böylece . Şimdi . Gerçekten de, eğer ve olan -abstractions ardından trivially[ _ ] θ x = x u i θ = β ηE[_][_]θθxcxE[t]=tθE[t]=tθtθβcx u1θunθtθβcx v1θvnθcx=cxx=xuiθ=βηviθuiviλuiθviθ ! Burada hüner göndermektir için ve gerekli olduğu kadar çok kez bu yineleyin. Buradaki ayrıntılar üzerinde biraz bulanıkım, ancak fikir Böhm teoremine benziyor ( Barendregt tekrar 10.4.2).x

    λy.cx~ (y1c1)(yncn)
  2. Ok türü de, almak olduğu , yani uygulama ile ve değil veya . Tümevarım hipotezinden Elimizdeki: ve böylece verir ve son olarak -equality tarafından : [ _ ] c y c y c y y t tE[_][_] cycycyytt

    t cy =βη t cy
    t y =βη t y
    λy.t y =βη λ.t yη
    t =βη t

Bu beklenenden daha zordu!


Pekala sistem T. Let en türü ekleme mücadele izin karışıma, yapıcılar ve ve recursor her tip için ile, " -rules" N0SrecTTβ

recT u v 0βu
recT u v (S n)βv n (recT u v n)

Yukarıdaki ile aynı teoremi kanıtlamak istiyoruz. gibi denklikleri kanıtlamak için " -rules" eklemek cazip gelebilir sağda vadeli sıyrılmakta o "aptal" kimliği halefleri sadece tekrar eklemek için.η

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

Örneğin bu kuralı ekleyelim: burada her zamanki kuralındaki gibi yeni bir değişkendir . Şimdi bu kuralın tekrar tekrar numaralandırılabileceğini unutmayın ( için mümkün olan her seçeneği deneyebilirsiniz ).

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

Yukarıdaki teoremi kanıtlayabilir miyiz? Ne yazık ki, şüphelendiğiniz gibi, bazı Gödel nastiness ya da Kleene varyantı ile karşılaşacaksınız ( Wikipedia'ya bakın ). Her Turing makine için , bir terim oluşturmak kolaydır sistemi bu şekilde ile ( ES) döner ise yüzeyler en içinde adımları ve , aksi.MtMTtM (S S 0)n S1Mn0

Şimdi sona , yukarıdaki kuralları kullanılarak (true) denkleminin geçerli olup olmadığını sorabilirsiniz . Ancak iff sonlandıran makine olarak kabul etmek sistem (yukarıdaki kurallarla) kanıtlanabilir , yani sorun yaşarsınız, yani denklemi doğrudur ancak kanıtlanamaz (veya Peano Aritmetiği tutarsız!).t M = λ x .0 β η M 0 = βM

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

Cevabınız için teşekkürler! İlk sorum şudur: gözlemsel eşdeğerlik bağlamında ikamelerin olması normal midir? En azından Plotkin'in LCF makalesi (1997) bunu yapmaz (bununla birlikte, böyle bir şeyin, ikameler gibi bir şeyin sözdiziminin bir parçası olduğu bazı kapanış hesabında mantıklı olacağını hayal edebiliyorum). Ancak her "ikame" bağlamı için kolayca görülebiliyorum, sadece lambda soyutlama ve uygulama kullanan daha fazla (benim için) "standart" bir bağlam tanımlayabilirim, örneğin (λx. []) C_x; bu yüzden sanırım yukarıdaki gözlemsel eşdeğerlik alışkın olduğum tanıma eşdeğerdir.
Blaisorblade

"Doğru fakat kanıtlanamaz" denklemi (sanırım) , , değil mi? Yapı için , ben sadece birini aradığını numaralandırmak deliller gerekiyor galiba . Ancak, hala 0 = 1'in neden yeterince zor olduğu konusunda kayboluyorum - aslında, her ikisi de normal formlar olduğu için olduğunu kanıtlamak kolay olmalı ve ben Peano aritmetiği yeterince güçlü olmasa şaşırırdım. t=λx.00=βηS0M0=βηS00βηS 0
Blaisorblade

Bunun yerine in aritmetik tutarsızlığının bir kanıtını aradığını söyleyin . Hala aritmetik tutarlıdır, ama bizim basit kural ispat bu gözlemsel denklik mümkün olmayacaktır böylece ikinci eksiklik teoremi ile bu kanıtlayan Peano aritmetik (ya da biz tartışılan kurallara göre) daha metatheoretic güç gerektirdiği için. Bu mantıklı mı? Vikipedi'yi aradım, ancak Kleene'in Gödel sonucunun varyantı hakkında çok spesifik değil; belki bu kanıtı daha iyi bilseydim, kanıtını da anlarım. (Bu arada, yine de seni oyuna sokuyorum). Mt=λx.0
Blaisorblade

1
O 3. Not kanıtlayabilirim , ama değil " sonsuza dek kanıt arayan deneyebilirsiniz,". "makul" bir eşitlik kuralıyla yakalanamayan gözlemsel bir eşitlik bulmak için yukarıdaki aynı hileyi kullandım . Her zaman kuralını ekleyebilirsiniz, ancak bu etkili olmaz (ve tamamlayınız!). Aradığın şey olmadığını hissediyorum. 0 1 P A0 = 1 T f 0 = g 0PA01PA0=1T
f 0=g 0f (S 0)=g (S 0)f=g
cody

1
Doğru! Rağmen bazen kanıt teorik amaçlar için bu tür "sonsuz" sistemleri dikkate almak mantıklı (örneğin sıralı analiz).
cody
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.