Seperti yang didefinisikan oleh Wikipedia,
(Korespondensi Curry-Howard) adalah generalisasi dari analogi sintaksis antara sistem logika formal dan kalkulus komputasi yang pertama kali ditemukan oleh ahli matematika Amerika Haskell Curry dan ahli logika William Alvin Howard.
Terkait dengan itu adalah λ-cube, yang merupakan representasi grafis dari kemungkinan penyempurnaan dari tipe sederhana ke kalkulus konstruksi, yang memiliki interpretasi logis:
Sejauh yang saya tahu, korespondensi Curry-Howard adalah hubungan antara teori tipe dan logika klasik. Pertanyaan saya adalah: apakah ada korespondensi analog antara sistem tipe dan logika linier ?
logic
type-theory
functional-programming
Viktor Maia
sumber
sumber
Jawaban:
Anda dapat memaksakan persyaratan yang serupa di dalam sistem tipe Anda, yang berarti mengharuskan objek tidak pernah dihancurkan atau digandakan. Untuk contoh aplikasi praktis, lihat Jenis Linear dapat Mengubah Dunia! oleh Philip Wadler, yang menentukan aturan mengetik untuk ini. Ini juga menunjukkan bagaimana sistem tipe dapat menggabungkan tipe linear dan non-linear.
Untuk aplikasi praktis ini, lihat
std::unique_ptr
di C ++. Di sini, linearitas memastikan bahwa deallokasi selalu terjadi tepat sekali.Dalam bahasa fungsional, linearitas juga memberikan kemungkinan pembaruan destruktif (yang tampak murni bagi programmer). Namun, dalam praktiknya sepertinya monad adalah pendekatan yang lebih umum untuk menyelesaikan masalah ini.
Pembaruan : Saya perhatikan bahwa dalam tabel NLab Computational Trinitarianism tidak adanya kontraksi dalam logika (yaitu tidak dapat menduplikasi asumsi) sesuai dengan Teorema No-Kloning dari mekanika kuantum. Saya (sayangnya) tidak mengerti implikasi dari ini, tetapi saya pikir Anda mungkin menganggapnya menarik.
sumber
Logika linier berhubungan dengan sistem tipe untuk kalkulus proses (varian dari kalkulus π internal ), di mana:
Ini adalah area penelitian yang cukup aktif. Sementara orang mengharapkan korespondensi antara logika linier dan beberapa model konkurensi sejak dimulainya logika linear oleh Girard [1987] , menemukan sesuatu yang memuaskan dari perspektif pemodelan logis dan konkurensi agak sulit dipahami.
Berikut ini ringkasan perkembangan kunci sejauh ini.
Jika Anda mencari beberapa kertas untuk memulai, saya akan mulai dari [Wadler, 2014] dan kemudian [Kokke et al., 2019] (untuk melihat sistem terbaru).
sumber