Bagaimana cara membuktikan hubungan antara "kelas" jenis?


8

Setelah membaca Efek sebagai Sesi, Sesi sebagai Efek , saya bertanya-tanya bagaimana bukti kesetaraan antara keduanya terjadi, atau bahkan, bukti jenis Sesi menjadi Jenis dan Sistem Efek.

Dengan cara yang lebih umum, bagaimana seseorang dapat membuktikan hubungan (misalnya kesetaraan) antara "kelas" * jenis yang berbeda? Apakah tes ekspresif seperti yang dilakukan oleh Orchard dan Yoshida sudah cukup?

[*]: Saya tidak tahu cara mendefinisikannya dengan benar, saya tidak ingin menggunakan "jenis jenis" atau "jenis jenis".

Jawaban:


6

Salah satu pendekatan untuk pertanyaan semacam itu adalah melalui penyandian .

Katakanlah Anda memiliki bahasa L1 dan bahasa L2 dan Anda ingin menunjukkan bahwa mereka entah bagaimana "sama", Anda dapat melakukan ini dengan menemukan penyandian

[[]]:L1L2

dan kemudian menunjukkan bahwa untuk semua program yang berikut ini berlaku: M , NL1M,N

M1Niff[[M1]]2[[M2]]

Di sini adalah gagasan yang dipilih tentang kesetaraan program untuk . Untuk melakukan ini untuk bahasa yang diketik, orang biasanya juga memetakan -jenis ke dengan fungsi yang diperluas ke lingkungan pengetikan, sehingga sesuatu seperti yang dipegang oleh berikut:L i L 1 L 2iLiL1L2

i L i

Γ1M:αimpliesΓ2[[M]]:α
Di sini adalah penilaian mengetik untuk . Seluruh pendekatan ini disebut abstraksi penuh .iLi

Untuk menghindari "kutukan universalitas Gereja-Turing", orang biasanya memaksakan kondisi pada , misalnya bahwa itu adalah komposisi, atau ditutup dengan penamaan ulang injeksi. Semakin banyak persyaratan bertemu, semakin kuat hasil abstraksi penuh.[[[]][[]]

Ini juga sedang dilakukan oleh Orchard & Yoshida (Teorema 1-5), walaupun mereka tidak cukup mencapainya.

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.