Y birleştiricisi “Lambda matematiği tutarsızlığını” nasıl örneklemektedir?


44

Sabit Nokta Kombinatorleri için Wikipedia sayfasında oldukça gizemli metinler yazılmıştır.

Y birleştiricisi, Lambda hesabını tutarsız kılanın bir örneğidir. Bu yüzden şüphe ile kabul edilmelidir. Bununla birlikte, Y birleştiricisini yalnızca matematik mantığında tanımlandığı zaman düşünmek güvenlidir.

Bir çeşit casus romanına girdim mi? Dünyada calculus un “tutarsız” olduğu ve “şüphe ile ilgili” olması gerektiği ifadesiyle ne kastedilmektedir ?λ


3
FWIW, bu paragraf Ocak 2014'ten bu yana Vikipedi makalesinde yer almakta ve neredeyse tüm makalenin bu büyük yeniden yazımında yer almaktadır .
Ilmari Karonen

Yanıtlar:


51

Gerçek olaylardan esinlenmiştir, ancak ifade edildiği yol zaruri olarak kabul edilemez ve “şüpheyle dikkate alınmalı” saçmalıktır.

Tutarlılığın mantıkta kesin bir anlamı vardır: Tutarlı bir teori, tüm ifadelerin kanıtlanamayacağı bir teoridir. Bir deyim vardır ve ancak eğer klasik mantık, bu bir çelişki olmaması eşdeğerdir, yani bir teori tutarsızteori hem kanıtlıyor öyle kive onun olumsuzlaması.AA¬A

Peki bu lamda matematiği için ne anlama geliyor? Hiçbir şey değil. Lamda matematiği bir yeniden yazma sistemidir, mantıksal bir teori değildir.

Lambda matematiğini mantık ile ilgili olarak görmek mümkündür. Bir kanıtdaki bir hipotezi temsil eden değişkenler olarak, lambda, belirli bir hipotezin altındaki kanıtlar olarak (değişken tarafından temsil edilen) kanıtlar ve hipotezin koşullu bir kanıtını ve kanıtını bir araya getirerek uygulayın. Daha sonra beta kuralı , mantığın temel ilkesi olan modus ponens uygulayarak bir kanıtın basitleştirilmesine karşılık gelir .

Ancak bu, yalnızca şartlı kanıt, doğru hipotezin kanıtıyla birleştirildiğinde çalışır. kabul eden koşullu bir kanıtınız varsa ve ayrıca kanıtı varsa, bunları birleştiremezsiniz. Bu lambda hesabının çalışmasını yorumlamak istiyorsanız, yalnızca uygun hipotezin kanıtlarının koşullu kanıtlara uygulanacağı bir kısıtlama eklemeniz gerekir. Buna tür sistemi denir ve sınırlama, bir fonksiyona bir argüman ilettiğinizde, argüman türünün fonksiyonun parametre tipiyle eşleşmesi gerektiğini söyleyen yazma kuralıdır.n=3n=2

Curry-Howard yazışma arasında bir paralel daktilo taşı ve dayanıklı sistemler.

  • türleri mantıksal ifadelere karşılık gelir;
  • terimler ispatlara karşılık gelir;
  • yaşadığı türler (yani, bu türden bir terim olacak türler) gerçek ifadelere karşılık gelir (yani o ifadenin kanıtı olacak ifadeler);
  • program değerlendirmesi (yani beta gibi kurallar) ispatların dönüşümlerine karşılık gelir (bu da doğru ispatları doğru ispatlara daha iyi dönüştürmüştür).

gibi sabit bir nokta birleştiricisine sahip olan bir yazı tipi, herhangi bir terimin oluşturulmasına izin verir ( deneyin ), böylece Curry-Howard yazışmaları yoluyla mantıksal bir yorum alırsanız tutarsız bir teori elde edersiniz. Bkz mu Y combinator çelişmektedir Curry-Howard yazışma? daha fazla ayrıntı için.YY(λx.x)

Bu, saf lambda matematiği, yani tipsiz lambda matematiği için anlamlı değildir.

Birçok yazılı hesapta, sabit nokta birleştiriciyi tanımlamak imkansızdır. Bu yazılı hesaplar, mantıksal yorumlarına göre faydalıdır, ancak bir Turing-komple programlama dili için bir temel olarak kullanılamaz. Bazı yazılı hesaplarda, sabit nokta birleştiriciyi tanımlamak mümkündür. Bu yazılı hesaplar Turing-complete bir programlama dili için bir temel olarak kullanışlıdır, ancak mantıksal yorumlarına göre değil.

Sonuç olarak:

  • Lambda matematiği “tutarsız” değildir, bu kavram geçerli değildir.
  • Bir yazılı Lambda taşı bu atar her lambda terimi, bir tür tutarsız. Bazı yazılı lambda matematiği böyle, diğerleri ise bazı terimleri yazılamaz ve tutarlıdır.
  • Yazılan lambda taşları tek değildir nedenidir varlık lambda hesabı için, hatta tutarsız yazılan lamda taşları çok yararlı araçlardır - sadece şeyler kanıtlamak için değil.

2
Vay, burada açmam için çok şey var. Detaylı açıklama için teşekkürler. Her şeyi mahvetmeye çalışmam biraz zaman alacak.
Ben I.

4
Teknik olarak BM olarak türsüz inceleyen i daktilo, sen türsüz lambda matematik ve mantık arasında bir CH yazışmalar yapabilirsiniz. Bu sadece çok, çok sıkıcı (ve kesinlikle tutarsız) bir mantık. NuPRL gibi kanıt asistanları suları biraz çamurluyor. NuPRL'nin nesne dili yazılmamış lambda hesabını içerir ve Y birleştiricisini kolayca tanımlayabilirsiniz. NuPRL işleri biraz farklı şekilde böler; bu yüzden bir tür sisteminden ziyade bir tür iyileştirme sistemine sahiptir ve alıştırma iyi yazılmış terimler üretmek değil, yazım türevleri üretmek içindir.
Derek Elkins,

Sadece ben miyim, yoksa türetilmemiş lambda hesabına "tür olarak öneri" paradigmasını dayatmak garip midir? Hep insanlar boolean değerler olarak belirli nesneleri tanıtarak türsüz lambda calculus mantığı hakkında konuşmak gördüm trueve falseve önermeler boolean değerli çıkışı vardı şeylerdi. (ve sadece o şeylerin etki alanında önerileri kabul edildi yapar çıktı üretmesi bir boolean değeri).

Önemsiz (her ifadeyi kanıtlar) ve çelişkiler içeren iki farklı özellik vardır. Klasik mantıkta eşdeğer olsalar da, paraconsistent mantık için bir sistem tutarsız ve önemsiz olabilir.
Taemyr

1
"Analiz" tabanlı bir mantık için "tutarsız" ifadesi, "her terime bir tür atamaz" anlamına gelmez (önceki terimden sonra gelse de); tutarsız mantıklara karşılık gelen fakat her λ-calculus teriminin yazılabilir olmadığı çok sayıda λ-calculus-tabanlı dil vardır.
Jonathan Cast

6

@Giles'ın söylediklerine bir tane eklemek istiyorum.

Köri-Howard yazışmalar arasında bir paralel hale -terms (daha özel olarak, tip arasında -terms) ve izolasyon sistemleri.λλ

Örneğin, tip sahiptir (burada vasıtası "ile ilgili fonksiyon için mantıksal ifade karşılık gelir,"), . İşlev türü vardır tekabül eden, . Herhangi bir lambda-matematiği türünü mantıksal bir totolojiye dönüştürebiliriz, bir anlamda, fonksiyonlar üzerinde "örüntü eşleştirme".λx.λy.xa(ba)ababa(ba)λx.λy.xy(ab)(ab)(ab)(ab)

Sorun, olarak tanımlanan Y birleştiricisini göz önüne aldığımızda ortaya çıkar . Sorun, bir "sabit nokta" birleştiricisi olarak Y birleştiricisinin türüne sahip olmasını beklememizden kaynaklanıyor (çünkü bir türden aynı türe bir işlev alıyor ve sabit buluyor) o tür için o işleve işaret edin). Bunu mantıksal bir cümleye dönüştürmek verimi . Bu bir çelişki:λf.(λx.f(xx))(λx.f(xx))(aa)a(aa)a

(aa)aaa(¬a¬a)(¬a)¬a¬a

Kabul tipi sistem tutarsız olma bir tip sistem derivasyonlarda. Bu da yapabiliriz demektir(aa)a


1
CH türleri önerileri, prova programları, hatta prova dönüşümleri azaltmaları ile ilgilidir. Bu sadece türlerle ilgili değil. Daha sonra, sadece yaşayan türler totolojilere karşılık gelir. ye bir terim bulunmasa bile (polimorfik) lambda hesabı türüdür. gibi bir tür demek istediğinizi , ardından bu türleri kabul etmek gayet iyi, mesele bu türün sakin olup olmadığı. Buna karşılık, STLC'ye, yazım sistemini genişletmeden karşılık gelen mantığı tutarsız kılacak ilkel terimler ekleyebiliriz. a,b.aba.(aa)a
Derek Elkins

@DerekElkins, ne tür ilkel terimler? Ayrıca, eğer doğru anlarsam, bu sadece (a -> a) -> a'nın tutarsızlığı üreten her zaman yaşadığını varsaymak içindir. Yani sonlandırma kanıtı gerektiren bir programlama dili ile daha fazla tutarsızlık yok? Veya türlenmemiş veya Hindley ‑ Milner tip lambda matematiğinde başka bir tutarsızlık kaynağı var mı?
Hibou57

1
@ Hibou57 İlkel terimler, yani sabitler gibi fix. Her tipi için bir sabit olduğunu iddia edebilirsiniz . Bu size zaten CH ile ilgili olarak tutarsız bir sistem verecektir, çünkü her türün in yaşadığı anlamına gelir . Ek olarak hesaplama yapmak için -rules ekleyebilir ve bu, örneğin doğal olan STLC'yi Turing-complete sistemine çevirir, ancak bu hesaplama kurallarını ve sistemi eklemeniz gerekmez hala tutarsız olurdu. fixAAfix(λx.x)δfix
Derek Elkins
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.