Smn teoremi, köri ile aynı kavram mıdır?


12

Smn teoremini inceliyorum ve kavram bana köriliğimi hatırlattı.

Smn teoremi hakkında wikipedia makalesinden :

teorem, belirli bir programlama dili ve m ve n pozitif tamsayıları için, m değerleri ile birlikte m + n serbest değişkenleri olan bir programın kaynak kodunu girdi olarak kabul eden belirli bir algoritmanın var olduğunu söyler. Bu algoritma, ilk m serbest değişkeninin değerlerini etkili bir şekilde ikame eden ve geri kalan değişkenleri serbest bırakarak kaynak kodu üretir.

Körili hakkında bir makaleden :

Sezgisel olarak, curried "bazı argümanları düzeltirseniz, kalan argümanların bir fonksiyonunu alırsınız" der

Bana aynı fikir gibi geliyor. Emin olmamın tek nedeni, smn'de karşılaştığım malzemelerin körelemeden bahsetmemesi (ve tam tersi), bu yüzden gerçekten aldığımdan emin olmak için danışmak istedim.


Aslında. Bazı hesaplanabilirlik kanıtlarının kuzu eti bir tadı vardır. Smn teoremi, kabaca, özyinelemeli fonksiyonların indekslerinin lambda terimleri gibi davranmasına izin verir, böylece verildiğinde gayri resmi g ( x ) = # λ y oluşturabiliriz . ϕ i ( x , y ) ve g'nin ilkel özyinelemeli olduğunu iddia eder . İkinci özyineleme teoremi kanıtı (smn'den yararlanan) bile Kilisenin kılık değiştirmiş sabit nokta birleştiricisidir ( s )ϕi(,)g(x)=#λy.ϕi(x,y)gs()kullanımları. Buradaki kilit nokta, sayımı, örneğin, TM'ler (veya Java veya ...) numaralandırma olarak tanımlanmış olsa bile , yine de lambdalarımız olduğunu iddia edebiliriz ! ϕi
chi

Curried fonksiyonun varlığı ise Eh, smn bir varoluşsal bir açıklama yapar sağlar "derleyici". Ama fikir aynı.
Raphael

Yanıtlar:


15

Evet, aynı şey.

Currying hesabından bir kavramdır . A × B C ve A ( B C ) arasında bir dönüşümdür . Bunu " A ve B tipi iki argümanın bir fonksiyonumuz varsa , ilk argümanı ( A tipi ) düzeltebiliriz ve kalan argümanın ( B tipi ) bir fonksiyonunu elde ederiz" olarak düşünün . Aslında, bu dönüşüm bir izomorfizmdir. Bu, kartezyen kapalı kategoriler olan (tip) λ- hesabının matematiksel modelleri ile matematiksel olarak hassas hale getirilir .λA×BCA(BC)ABABλ

Numaralandırılmış kümelerin bir kategorisi vardır. Bir numaralı grubu bir çift burada bir bir dizi ve ν A : Nbir a, kısmi örten, diğer bir deyişle üzerine sayılardan bir harita A da tarif edilemeyebilir. Eğer ν A ( n ) = x o zaman demek n bir olan kod ait x . Hesaplanabilirlik teorisinde birçok örnek vardır. Bazı bilgileri bir sayı ile kodladığımızda, numaralandırılmış bir küme alırız. Örneğin, standart bir numaralandırma vardır(A,νA)AνA:NAAνA(n)=xnx kısmi hesaplanabilir fonksiyonları, böylece cp N ( k ) tarafından kodlanan kısmi hesaplanabilir fonksiyon hesaplanan bir sayıdır , n uygulandığında k . (Sonuç tanımlanmamış olabilir.)φφn(k)nk

Sayılı kümelerinin morfizmanın a, fark harita , var olduğu anlamına gelir , n N , öyle ki ön ( ν bir ( k ) ) = ν B ( cp N ( k ) ) ν A alanındaki tüm k için . Bu karmaşık görünüyor, ama tek söylediği şey φ nf:(A,νA)(B,νB)nNf(νA(k))=νB(φn(k))kνAφn öğelerine ne yaptığını kodlar . "Program ϕ n, f işlevini uygular " demenin matematiksel yoludur .fϕnf

İşte yumruk çizgisi: numaralı setlerin kategorisi kartezyen kapalı. Bu nedenle içindeki calulus'u yorumlayabilir ve hangi programın körükleme işlemini uyguladığını sorabiliriz. Cevap: smn teoremi tarafından verilen program.λ


İlginç. Bu kategori ile yakından ilişkili mi? ν A bir PER uyarıyor gibi görünüyor. PER(A)νA
chi

1
Evet, iki kategori eşdeğerdir ve üçüncü eşdeğer sürüm mütevazı kümelerdir ("mütevazı kümeler ve montajlar" araması).
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.