Kilise rakamlarını içeren bir lambda hesabı değerlendirmesi


10

Bir Kilise rakamının λ s'yecn benzediğini anlıyorum . λ z . s (... n kez ...) sλs.λz.ssz . "Fonksiyon daha Bu araçlar bir şeys uygulanann fonksiyonu kezz ".

işlevinin olası bir tanımı aşağıdadır: t i m e s = λ m . λ n . λ s . mtimes . Vücuda baktığımda, fonksiyonun arkasındaki mantığı anlıyorum. Ancak değerlendirmeye başladığımda takıldım. Bir örnekle göstereceğim:times=λm.λn.λs.m(ns)

(λm.λn.λs.m(ns))(λs.λz.ssz)(λs.λz.sssz)λs.(λs.λz.ssz)((λs.λz.sssz)s))λs.(λs.λz.ssz)(λz.sssz)λs.λz.(λz.sssz)(λz.sssz)z

Şimdi bu durumda, eğer ilk başvurursam , istenen sonuca ulaşıyorum. Ancak, eğer başvurursam ( λ z . S(λz.sssz)z ilk olarak, başvuru soldan ilişkisel olduğu için yanlış bir sonuç alıyorum:(λz.sssz)(λz.sssz)

λs.λz.(λz.sssz)(λz.sssz)zλs.λz.(sss(λz.sssz))z

Bunu artık azaltamıyorum. Neyi yanlış yapıyorum? Sonuç λ s olmalıdır . λ z . sλs.λz.ssssssz


Başlangıç ​​döneminizdeki Kilise rakamları doğru değil. 2 ile temsil edilir , λ s değil . λ z . s s z . λs.λz.s(sz)λs.λz.ssz
Uday Reddy

Yanıtlar:


7

Bence indirgemenin doğru olduğunu düşünüyorum. Sonunda, uygulayamazsınız için z , bu asla vadede görünür. λ z . f f z , λ z'dir . ( f f ) z , λ z değil . f ( f z ) . Lambda hesabındaki işlevler tek bir argüman alır; etkili bir şekilde körüklenirler(λz.sssz)zλz.ffzλz.(ff)zλz.f(fz): iki bağımsız değişken işlevi, ilk bağımsız değişkeni alan ve ikinci bağımsız değişkeni alan ve sonucu döndüren yeni bir tek bağımsız değişken işlevi döndüren tek bağımsız değişken işlevi olarak uygulanır.

Kilise rakamlarını tanımlarken de aynı hatayı yaptınız. için Kilise sayısı, n kez bir işlev oluşturmaya dayanır . “Fonksiyon s uygulanan N fonksiyonu katı zλ s . λ z . s ( s ( s)nnsnzλs.λz.s(s(...sz)...))sn-1sz

2x3(λmns.m(ns))(λsz.s(sz))(λsz.s(s(sz)))λsz.s(s(s(s(s(sz)))))


Paragrafınıza gelince, haklısınız ve bunun farkındaydım. Sadece doğru çağrışımcılığın uygulanmasının doğru sonucu verdiğine dikkat çekti. İkinci paragrafa kadar: haklısın. Hiçbir diş teli kullanmama, uygulamanın sol birlikteliği nedeniyle benim için yanlıştı. Şimdi her şeyi tekrar azaltacağım ve diş teli eksikliğimin hataya neden olup olmadığını göreceğim!
codd

O yaptı. Gösterimin yanlış uygulama sırasını ima ettiğini fark ettiniz, sorunu çözdünüz! Cevabınızı kabul ediyorum.
codd
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.