Lambda hesabı yazan işlevler hesaplanamıyor


12

Sadece türsüz lambda hesabı tarafından hesaplanabilen ancak daktilo lambda hesabı ile hesaplanamayan fonksiyonların bazı örneklerini bilmek istiyorum.

Yeni başlayan biri olduğum için, bazı arka plan bilgilerinin tekrarlanması takdir edilecektir.

Teşekkürler.

Düzenleme: Yazılan lambda calculi tarafından, Sistem F ve basitçe yazılan lambda hesap hakkında bilmek niyetindeydim. İşlev olarak, Turing uyumlu herhangi bir işlevi kastediyorum.


-calculi için birçok yazım disiplini vardır ve talebinizin cevabı kısmen hangi yazma disiplinini seçtiğinize bağlıdır. Aynı zamanda fonksiyon ile ne demek istediğinize de bağlıdır. Farkın bir örneği, Sistem F gibi disiplinlerin yazılmasının sadece normalleştirici programlar yazabilmesi iken türlenmemiş λ- hesabı normalleştirici olmayan terimler içermesidir. λλ
Martin Berger

Sistem F ve basit yazılı lambda hesabı hakkında düşünüyordum. Fonksiyonu ile, turing-hesaplanabilir fonksiyonu kastediyorum.
Timothy Zacchari

Yanıtlar:


15

Godelization tarafından güzel bir örnek verilmiştir: lambda hesabında, bir işlevle yapabileceğiniz tek şey onu uygulamaktır. Sonuç olarak, işlev argümanı alan ve bunun için bir Godel kodu döndüren kapalı tipinde kapalı bir işlev yazmanın bir yolu yoktur .(NN)N

Bunu Heyting aritmetiğine bir aksiyom olarak eklemek genellikle "yapıcı Kilise tezi" olarak adlandırılır ve güçlü bir anti-klasik aksiyomdur. Yani, HA'ya eklemek tutarlıdır, ancak Peano aritmetiğine değil! (Temel olarak, her Turing makinesinin durup durmadığı klasik bir gerçektir ve bu gerçeğe tanıklık edebilecek hesaplanabilir bir işlev yoktur.)


Bunun bir genişleme teorisi ile nasıl tutarlı olduğunu anlamıyorum: f ve g'yi geniş ölçüde eşit, ama farklı uygulamalar ve dolayısıyla farklı godel kodlarıyla alın. İşleviniz f ve g için aynı sayıyı döndürüyor mu?
cody

3
Uzatmayla tutarlı değil! Ancak, HA ve ∃ ' da fonksiyonlar / kayıtlar değil, mantıksal bağlaçlardır . Bu yüzden gerçekleştirilebilir olmalılar, ancak aydınlatıcıları genişletici olmak zorunda değildir. Andrej Bauer bu konuda uzmandır, bu yüzden bir soru sorarsanız iyi bir cevap alacağınızdan emin olabilirsiniz.
Neel Krishnaswami

11

En basit cevap, yazılan lambda calculi'nin mantıklara (basitçe yazılan lambda hesabı -> yüklem mantığı; sistem f -> ikinci dereceden mantık) karşılık gelmesi ve tutarlı mantıkların kendi tutarlılıklarını kanıtlayamamasıdır.

ff ikinci dereceden mantığın tutarsız olduğunu ima eden ikinci dereceden mantık).

ff

Uyarı 2: Bazen "basitçe yazılmış lambda hesabı" ile insanlar "sabit noktalı bir operatör veya özyinelemeli işlevlerle basitçe yazılmış lambda hesabı" anlamına gelir. Bu , tıpkı türetilmemiş lambda hesabı gibi, herhangi bir hesaplanabilir işlevi hesaplayabilen az çok PCF olacaktır .


10

λYλ

λY


Nedense Ackermann'ı Sistem F'de yapabileceğinizi kafamda tuttum ...
Rob Simmons

@Rob, anladığım kadarıyla Andrej durumun böyle olmadığını söylemiyor.
Kaveh

1
λλ

Ah, doğru, sadece aptal oluyordum. (Soru, Sistem F hakkında konuşmak ve STLC hakkında konuşmak arasında oldukça belirsiz olduğu için, daha güçlü sistemi seçtim ve daha basit soruyu unuttum.)
Rob Simmons

λλm.m(λfn.nf(f1_)) suc(((((fe)fe)h)((((fe)fe)h) hg)g)(((bc)ab)(bc)ac)d)dY

6

a


5
(pp)ppp

2
λ

@Marting: Teşekkürler! Ben şimdi Almanya'da yaşıyorum, bu yüzden bu benim Almanca pratik için güzel bir ekstra teşvik. :)
Neel Krishnaswami

4

Sevdiğim kalkülinin kuvvetle normalleştirilmesinin sınırlarının bir vizyonu hesaplanabilirlik açısıdır. Çekirdek basitçe yazılmış lambda hesabı, Sistem F veya Yapılar Hesabı gibi güçlü bir şekilde normalize edilmiş bir hesapta, tüm terimlerin sonunda sona erdiğine dair bir kanıtınız vardır.

Eğer bu kanıtı yapıcı olduğunu, bir hesaplama zamanında üst sınır garantili ile tüm terimleri değerlendirmek için sabit bir algoritma olsun. Ya da (zorunlu olarak yapıcı olmayan) kanıtları inceleyebilir ve ondan bir üst sınır çıkarabilirsiniz - ki bu büyük olabilir , çünkü bu hesaplamalar etkileyici.

Bu sınırlar, size bu sabit lambda hesabına yazılamayan "doğal" işlev örnekleri verir: bu sınırdan asimptotik olarak üstün olan tüm aritmetik işlevler.

Doğru hatırlıyorsam, basit yazılan lambda-calculus'ta yazılan terimler üstel kulelerde değerlendirilebilir O(2^(2^(...(2^n)..):; bu tür kulelerden daha hızlı büyüyen bir işlev bu matematikte ifade edilemez. Sistem F, sezgisel ikinci dereceden mantığa karşılık gelir, bu nedenle hesaplanabilirlik gücü çok büyüktür. Daha güçlü teorilerin hesaplanabilirlik gücünü yakalamak için, genellikle hesaplanabilirlik teorisi yerine küme teorisi ve model teorisi (örn. Hangi ordinaller inşa edilebilir) açısından mantık gösteririz.


0

Δ=λx.xxΔΔβ ΔΔΔAA=AA


λAAAA

Evet, haklısın, ama basitçe yazılan lambda hesabı veya Sistem F'de her ikisi de güçlü bir şekilde normalleşen böyle bir türün mümkün olmadığını düşündüm (belki de yanılıyorum).
Charles

ΔΔΔΔ

@Kaveh Neden Aböyle A \ident A \rightarrow Agarip olmayan bir tip var ? Bana saçma geliyor, ne görüyorum?
Martijn

Muhtemelen klasik olarak onlar üzerindeki kümeler ve fonksiyon uzaylarını düşünürsünüz. Örneğin sonlu ikili dizeler ve bunların üzerindeki hesaplanabilir fonksiyonlar hakkında düşünün.
Kaveh
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.