Lambda hesabı için ara eta teorileri var mı?


15

Lambda kalkülüsünün incelenen iki teorisi vardır: beta teorisi ve onun Post-complete uzantısı, beta-eta teorisi.

Bu iki teorinin birbirine karışmış bir yeniden yazma teorisi veren bir tür ara ara eta kuralı var mı? Buna karşılık gelen bazı ilginç kısmi uzama kavramı var mı?

Bu benim orta eta peşinde istediler ikinci soru, önceki varlık lambda hesabının beta teorisinin Uzantıları , uzantının dik düşüncelerinizde sorusunu yöneltti, birleşik yeniden yazma kuralları tarafından görünmez eşdeğerlikleri nitelendiren bir açıklık getirmek istedi, önceki soruya cevap ver.

Yanıtlar:


10

Yazılan hesaplamalar için, negatif türleri ( , × , ) göz önünde bulundurursanız , eta kurallarını izdihamı etkilemeden temelde istediğiniz zaman açabilir veya kapatabilirsiniz.1×

Pozitif tipler için (toplamlar ve desen eşleştirme eliminasyonu ile çiftler), durum çok daha karışıktır. Temel olarak soru, terimin, bağlamların eta-genişletmelerle karmaşık şekillerde etkileşime girmesine izin veren kapalı alanlı bir eleme formuna sahip olup olmadığıdır. Örneğin, A × B tipi varsa , eta-genişlemesi l e teA×B . Ancak, bir teori teorisyeninin beklediği denklem teorisini elde etmek için, C [ - ] bağlamlarını düşünmenizve denklemi C [ e ] l e tlet(a,b)=ein(a,b)C[] (beklenen kapsam kısıtlamaları ile).C[e]let(a,b)=einC[(a,b)]

İşe gidip gelme dönüşümlerine izin vermezseniz, bir izdiham sonucunu kanıtlayabileceğinizi düşünüyorum. Ama bu kulaktan doludur - hiç denemedim ya da belgeleyen belgelere bakmadım.

Yine de türü olmayan lambda hesabı hakkında hiçbir şey bilmiyorum.

EDIT: Charles eta azaltımlarını soruyor. Bu, aradığı örnek için umut vericidir, çünkü genel olarak, booleanları içeren basit bir örnekle göstereceğim tam eşitlik teorisini modelleyecek kadar güçlü olmayacaklarını düşünüyorum. Booleanlar için eta-genleşmesi . (Eta azaltma elbette diğer yöndedir.)C[e]if(e,C[true],C[false])

Şimdi, i f ( e , f , g ) terimini düşünün . Bu terimin i f ( e , fif(e,f,g)if(e,x,y) biz değiştirmek gerekir, çünkü, bir eta-genişleme geçmesi gerekir e If-Then-birinin ile birinde t r u e ve f bir L s e , bir tahrik etmek üzere β Düşürülmesi. if(e,fx,gy)etruefalseβ


Bunun türsüz lambda hesabı ile ilgili olduğunu açıkça belirtmeliydim: mantık bir kenara bunu netleştirebilir. Yazılan durumda, Post bütünlüğünün 〈→, ×〉 teorisi için geçerli olmasını bekliyorum, ancak diğer türlerden hiç emin değilim. bağlamlar eta genişletmeleri ile karmaşık şekillerde etkileşime girer - bu, eta azaltmayı düşünmek için bir durumdur, değil mi, çünkü yeniden yazmaları sınırlamanız gerekmez mi?
Charles Stewart

4

Programlama Dillerinin Temelleri'ndeki John C. Mitchell'e göre, hem STLC'de hem de türlenmemiş lambda hesabında, indirgenme kuralı, indirgenmemiş durum için böyle koşullar olmadan indirgeme pair (proj₁ P, proj₂ P) → Pile birleştirildiğinde fix(ya da kanıtlara baktığımı varsayıyorum) kesiştiği noktayı ihlal eder. Bu teorem 4.4.19'dur (sayfa 272).


2
Sanırım bu, Neel'in cevabı hakkında genişletilmiş bir yorum. Klop ve De Vrijer (1989) , türlenmemiş lambda taşının teorisini amaçsal eşleştirme ile araştırır: eta azaltma durumu gerçekten birbirine karışmaz, ancak teori tutarlıdır (Scott'un D_inf yapısında bir modeli vardır) ve sonuçlar sağlarlar ortak çiftler için birleşik, muhafazakar bir yeniden yazma teorisi önerilebilir (hala açık bir sorun, AFAIK).
Charles Stewart
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.