Di halaman Wikipedia untuk Fixed Point Combinators tertulis teks yang agak misterius
Penggabung Y adalah contoh dari apa yang membuat kalkulus Lambda tidak konsisten. Jadi harus dianggap dengan kecurigaan. Namun aman untuk mempertimbangkan kombinator Y ketika didefinisikan dalam logika matematika saja.
Sudahkah saya memasuki semacam novel mata-mata? Apa di dunia yang dimaksud dengan pernyataan bahwa kalkulus adalah "tidak konsisten" dan bahwa itu harus "dianggap dengan kecurigaan" ?
Jawaban:
Ini terinspirasi dari peristiwa nyata, tetapi cara itu dinyatakan hampir tidak dikenali dan "harus dianggap dengan kecurigaan" adalah omong kosong.
Konsistensi memiliki makna yang tepat dalam logika: teori yang konsisten adalah teori di mana tidak semua pernyataan dapat dibuktikan. Dalam logika klasik, ini setara dengan tidak adanya kontradiksi, teori yaitu tidak konsisten jika dan hanya jika ada pernyataan sehingga teori membuktikan kedua A dan negasinya ¬ A .A A ¬A
Jadi apa artinya ini tentang kalkulus lambda? Tidak ada. Kalkulus lambda adalah sistem penulisan ulang, bukan teori logis.
Dimungkinkan untuk melihat kalkulus lambda dalam kaitannya dengan logika. Menganggap variabel mewakili hipotesis dalam sebuah bukti, abstraksi lambda sebagai bukti di bawah hipotesis tertentu (diwakili oleh variabel), dan aplikasi sebagai menyusun bukti kondisional dan bukti hipotesis. Kemudian aturan beta terkait dengan penyederhanaan bukti dengan menerapkan modus ponens , prinsip dasar logika.
The Curry-Howard korespondensi adalah paralel antara diketik bate dan sistem bukti.
Ini tidak berarti untuk kalkulus lambda murni, yaitu untuk kalkulus lambda tanpa jenis.
Di banyak kalki yang diketik, tidak mungkin untuk mendefinisikan kombinator titik tetap. Kalkuli yang diketik itu berguna sehubungan dengan interpretasi logis mereka, tetapi bukan sebagai dasar untuk bahasa pemrograman Turing-lengkap. Di beberapa kalki yang diketik, dimungkinkan untuk menentukan kombinator titik tetap. Kalkuli yang diketik tersebut berguna sebagai dasar untuk bahasa pemrograman Turing-lengkap, tetapi tidak sehubungan dengan interpretasi logis mereka.
Kesimpulannya:
sumber
true
danfalse
, dan proposisi adalah hal-hal yang memiliki output bernilai boolean. (dan hanya dianggap proposisi pada domain hal mana tidak output nilai boolean).Saya ingin menambahkan satu ke apa yang dikatakan @Giles.
sumber
fix