Evaluasi Kalkulus Lambda


8

Saya tahu ini adalah pertanyaan sederhana tetapi dapatkah seseorang menunjukkan kepada saya caranya direduksi menjadi .(λy.λx.λy.y)(λx.λy.y)λx.λy.y


Apakah Anda yakin mengurung ini dengan benar? Karena caranya ditulis, saya tidak melihat bagaimana itu bisa disederhanakan sama sekali. Jika ya (λy.λx.λy.y) (λx.λy.y), itu akan berkurang menjadi λx.λy.y.
sepp2k

Ya terima kasih, saya memperbarui pertanyaan saya. Bisakah Anda menjelaskan bagaimana Anda mendapat λx.λy.y
prerm2686

Jawaban:


10

Alasan bahwa berkurang menjadi dan bukan untuk adalah bahwa dalam tubuh mengacu pada argumen dari lambda ketiga, bukan yang pertama.(λy.λx.λy.y)(λx.λy.y)λx.λy.yλx.λy.λx.λy.yyλy.λx.λy.y

Jika Anda mengganti nama argumen untuk memiliki nama yang berbeda, akan ditulis sebagai . Jadi, jika Anda menerapkan fungsi itu ke argumen, itu berarti bahwa setiap kemunculan di harus diganti dengan argumen. Namun tidak muncul sama sekali dalam ekspresi itu, sehingga argumennya hanya diabaikan dan hasilnya adalah .λy.λx.λy.yλy1.λx.λy2.y2y1λx.λy2.y2y1λx.λy2.y2


Oh ok jadi y2 tidak terikat y1. Terima kasih banyak.
prerm2686

7
@ prerm2686 Suatu variabel selalu terikat oleh melingkupi terdekat . Subterm adalah fungsi identitas, di mana pun Anda menggunakannya, bahkan jika Anda menggunakannya dalam konteks yang juga menggunakan nama variabel . λλy.yy
Gilles 'SO- stop being evil'

Pengurangan pada wikipedia memberikan perlakuan yang lebih formal untuk konversi-α dan reduksi-β. Referensi yang saya suka adalah buku Chris Hankin
Romuald
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.