Saya mengerti bahwa angka Gereja terlihat seperti (... n kali ...) . Ini berarti tidak lebih dari "fungsi diterapkan kali ke fungsi ". λ s . λ z . s ss n z
Definisi yang mungkin dari fungsi adalah sebagai berikut: . Melihat tubuh, saya mengerti logika di balik fungsi. Namun, ketika saya mulai mengevaluasi, saya mandek. Saya akan mengilustrasikannya dengan sebuah contoh:t i m e s = λ m . λ n . λ s . m
Sekarang dalam situasi ini, jika saya pertama kali menerapkan , saya mendapatkan hasil yang diinginkan. Namun, jika saya menerapkan pertama, seperti yang seharusnya karena aplikasi asosiatif dari kiri, saya mendapatkan hasil yang salah:( λ z . s
Saya tidak bisa lagi mengurangi ini. Apa yang saya lakukan salah? Hasilnya harus
Jawaban:
Saya pikir pengurangan Anda benar (saya hanya melihatnya dengan mata saja). Pada akhirnya, Anda tidak dapat menerapkan ke , ini tidak pernah muncul dalam istilah. adalah , bukan . Fungsi dalam kalkulus lambda mengambil satu argumen; mereka secara efektif digulung : fungsi dua argumen diimplementasikan sebagai fungsi satu argumen yang mengambil argumen pertama dan mengembalikan fungsi satu argumen baru yang mengambil argumen kedua dan mengembalikan hasilnya.z λ z . f f z λ z . ( f f ) z λ z . f ( f z )( λ z. s s s z) z λ z. ffz λ z. ( ff) z λ z. f( fz)
Anda membuat kesalahan yang sama ketika mendefinisikan angka Gereja. Angka Gereja untuk didasarkan pada penyusunan fungsi kali. “Fungsi diterapkan kali pada fungsi ” . Apa yang Anda tulis adalah fungsi diterapkan kali ke fungsi dan akhirnya ke , yang tidak menurut saya istilah yang berguna.n s n z λ s . λ z . s ( s ( … sn n s n z s n - 1 s zλ s . λ z. s ( s ( … sz) ... ) ) s n - 1 s z
sumber