Salah satu konsekuensi paling praktis dari korespondensi "Curry-Howard-Lambek" adalah bahwa sintaks dari banyak lambda-calucli / logika dapat digunakan untuk melakukan konstruksi dalam kategori yang cukup terstruktur.
Misalnya, Synthetic Differential Geometry memiliki model dalam topoi yang berisi dan menyematkan kategori manifold halus, sehingga Anda dapat menggunakan logika tingkat tinggi untuk membangun fungsi yang halus dan menyelesaikan persamaan diferensial.
Sebagai contoh lain, dalam makalah ini , mereka memperhatikan bahwa "langkah-pengindeksan" benar-benar hanya bekerja dengan presheaves atas naturals (topos lain), sehingga Anda dapat menggunakan sintaks logika urutan yang lebih tinggi untuk menentukan hubungan logis langkah-diindeks tanpa membosankan. manipulasi langkah-langkah.
Akhirnya, Andrej Bauer menunjukkan dalam pertanyaan MO ini bahwa Anda dapat melakukan banyak hal dengan "bahasa internal" dari topos grafik.
Pertanyaan saya adalah, adakah orang yang menyadari visi ini secara harfiah dalam pepatah teorema ? Misalnya, jika saya menunjukkan bahwa kategori yang saya pedulikan adalah Cartesian Closed, saya kemudian dapat pindah ke "mode internal" di mana saya menulis sintaks lambda-calculus (dengan beberapa aksioma khusus model) dan kemudian dapat kembali ke "mode eksternal" dan memanipulasi mereka sebagai objek dalam model saya?
Dalam ekstrim saya bahkan ingin teori topos dan logika tingkat tinggi, sehingga saya bisa menulis hubungan logis langkah-indeks tanpa langkah, atau mengajar mekanika klasik dengan pembuktian teorema menggunakan SDG. Bagi saya ini adalah ide yang sangat kuat karena seseorang dapat menerapkan teori tipe dependen ekstensional satu kali dan memberikan perkakas yang bagus dan kemudian menggunakannya dengan aplikasi yang sangat berbeda seperti yang dijelaskan di atas.
sumber
Jawaban:
Dalam Teori Memperluas Jenis dengan Memaksa oleh Guilhem Jaber, Nicolas Tabareau dan Matthieu Sozeau, 2012, pemaksaan intuitionistic disajikan sebagai internalisasi konstruksi presheaf, diimplementasikan sebagai terjemahan pengawet jenis dalam gaya terjemahan parametrisitas Bernardy dan Lasson .
Ini berarti bahwa Anda dapat mendefinisikan istilah dalam teori tipe yang biasa Anda gunakan, dan kemudian "menerjemahkannya" ke dalam "lapisan pemaksa" di mana mereka ditafsirkan sebagai terjemahan pada jenis terjemahan yang berbeda. Misalnya, terjemahan yang disebabkan oleh pengindeksan terhadap penurunan bilangan asli memungkinkan Anda menggunakan istilah yang biasa dalam teori pasca-penerjemahan di mana
later
modalitas dapat didefinisikan. Ini kedengarannya agak dekat dengan ide Anda untuk bekerja secara internal di topos pohon.Tampaknya mereka memiliki plugin Coq baru yang lebih sederhana yang mengimplementasikan ide-ide ini di CoqHott / coq-forcing , dan khususnya SI.v membuat terjemahan pemaksaan ini untuk langkah-pengindeksan. Sayangnya, sementara itu melakukan pekerjaan membangun model, tidak ada contoh menggunakannya untuk definisi langkah-diindeks dalam praktek (satu-satunya hal yang diterjemahkan bukannya didefinisikan dalam lapisan memaksa adalah
Forcing Translate eq
, yang tidak terlalu informatif). Anda dapat mencoba bereksperimen untuk melihat bagaimana nyamannya menggunakan ini.sumber
Jika Anda akan bekerja hanya dalam bahasa internal maka Anda hanya dapat menggunakan asisten bukti. Ada sedikit teknisitas memiliki atau tidak memilikietset, karena asisten pembuktian biasanya bertipe teori, tetapi Coq
Prop
konsisten dengan interpretasi Coq dalam topos.Namun Anda menyarankan untuk menggunakan mesin sebagai semacam alat terjemahan yang akan membawa Anda dari bahasa internal ke interpretasi dalam model. Ini adalah ide yang bagus, kecuali saya pikir itu tidak akan berguna seperti yang diharapkan. Memang benar bahwa terjemahan dari bahasa internal ke model adalah mekanis, tetapi sayangnya menghasilkan terjemahan yang berbelit-belit yang membutuhkan banyak pemijatan sebelum berguna. (Jika Anda pernah mencoba menggunakan interpretasi Lawvere-Tierney dari logika topos dalam sheos topos, Anda akan tahu.)
Ada satu masalah lagi, yaitu terjemahan terbalik . Kita sering mulai dengan konsep atau objek yang diketahui dalam model, dan ingin deskripsi atau axomatization yang baik dalam bahasa internal. Ini biasanya kerja keras dan matematika sungguhan. Saya tidak melihat bagaimana asisten bukti saat ini dapat membantu.
Dari sisi teknis, seseorang harus khawatir tentang formalisasi:
Itu juga banyak pekerjaan. Beberapa proyek di sepanjang garis ini telah dilakukan (misalnya penafsiran -calculus dalam kategori tertutup kartesian). Saya tidak mengetahui ada yang meresmikan toposa, misalnya.λ
Singkatnya, menggunakan asisten bukti untuk membantu memeriksa bahwa Anda tidak melakukan kesalahan dalam bahasa internal adalah ide yang bagus (pada kenyataannya, itu adalah ide yang sangat bagus, sebagaimana dibuktikan oleh teori tipe homotopy, di mana kami menggunakan Coq dan Agda untuk mengembangkan teorema baru yang hanya kemudian tidak diformalkan ke dalam bahasa Inggris), tetapi menggunakannya untuk mendapatkan pernyataan tentang model tidak mungkin bekerja tanpa banyak pekerjaan tambahan. Bukan berarti Anda tidak boleh mencoba!
sumber