Apa asal mula hubungan logis?

15

Saya sebenarnya punya dua pertanyaan:

  1. Siapa yang pertama kali menggunakan hubungan logis untuk menghubungkan semantik?

    Saya melacak mereka kembali ke Reynold's " On the Relation Antara Direct dan Continuation Semantics ", tetapi saya tidak bisa mengklaim telah melakukan pencarian lengkap.

    Saya telah menemukan referensi untuk hubungan logis yang berkencan sebelumnya (Tait, '67), tetapi tidak untuk semantik yang terkait.

  2. Apa pengantar terbaik saat ini untuk hubungan logis?

Saya tahu " Jenis Sistem untuk Bahasa Pemrograman " Mitchell dari Buku Pegangan TCS. Eksposisi apa lagi yang ada?

Ohad Kammar
sumber
2
Ada bab tentang Hubungan Logis di Yayasan Mitchell untuk Bahasa Pemrograman . Bagian bawah halaman pertama memberikan tinjauan sejarah singkat, mengutip makalah utama. Saya bisa mengetik ini jika Anda tidak bisa mendapatkan buku Mitchell.
Dave Clarke
Saya bisa mendapatkannya, terima kasih! Saya akan melihat-lihat ketika saya sampai di kantor.
Ohad Kammar
OK, buku ini jauh lebih rumit daripada bab buku pegangan, meskipun mereka mencakup kira-kira materi yang sama (minus Sconing, sedihnya). Catatan sejarah hampir identik, dengan pengecualian penting bahwa buku itu menyebutkan laporan teknis Plotkin yang diberikan NeelK di bawah ini.
Ohad Kammar

Jawaban:

6

Paragraf kedua dari Memo 1973 tentangototabilitas dan Hubungan Logika Plotkin mengatakan sebagai berikut:

"Definisi [relasi] logis diturunkan dari yang sesuai dari M. Gordon untuk kalkulus λ yang diketik."

Ini tidak mengatakan secara eksplisit bahwa istilah itu diciptakan oleh Gordon. Tapi, mengingat bahwa memo tersebut berjudul "Lambda-definability dan hubungan logis" seolah-olah "hubungan logis" adalah ide yang sudah dikenal, dan para kedua mengatakan "membangun, tertentu disebut , hubungan logis," Saya pikir itu sangat mungkin bahwa Gordon menciptakan istilah dan Plotkin menggunakannya karenanya. (Plotkin mengkonfirmasi kepada saya bahwa apa pun yang ia tulis di memo itu benar.)

Gordon dikreditkan lagi di bagian atas hal. 12,

"M. Gordon mengusulkan, sebagai obat yang mungkin, bahwa hubungan ... harus diperluas - bukan hanya permutasi."

Versi makalah yang diterbitkan ("Lambda-definability dalam hierarki tipe lengkap" dalam To HB Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism ) memiliki pernyataan ini. Itu juga memiliki komentar yang dapat ditafsirkan sebagai penjelasan dari istilah "hubungan logis":

Karena sifat "logis" dari elemen -definable, mereka harus invarian di bawah permutasi dari D .λD

Dalam pandangan saya, ini adalah penjelasan yang sangat memuaskan mengapa hubungan logis "logis". Kalkulus Lambda adalah logis dan, jadi, fungsi yang didefinisikan menggunakannya akan seragam sehubungan dengan jenis dasar. Mereka tidak bisa "melihat" permutasi yang mungkin kita lakukan untuk nilai-nilai tipe dasar. Dilihat dengan cara ini, apa yang dimaksud Gordon dan Plotkin dengan "logis" pada dasarnya sama dengan apa yang disebut Reynolds sebagai "parametrik".

Namun, istilah "hubungan logis" tidak muncul dalam versi makalah yang diterbitkan. Ada kemungkinan bahwa wasit mungkin keberatan bahwa istilah itu membingungkan dan Plotkin mungkin memutuskan yang terbaik untuk menghindari istilah itu. Tapi, Statman kembali ke terminologi lama dan istilah itu telah kembali ke bahasa populer.

Uday Reddy
sumber
14

Plotkin menggunakan hubungan logis dalam makalahnya yang diterbitkan tahun 1973 tetapi tetap beredar luas dan berpengaruh "Lambda Definability and Logical Relations". Saya memiliki salinan catatan ini di halaman web saya.

Dulu saya berpikir bahwa dari sinilah nama itu berasal, tetapi ketika saya bertanya kepada Rick Statman tentang ini, dia mengatakan kepada saya bahwa Mike Gordon menciptakan istilah hubungan logis untuk menggambarkan metode Tait, dan bahwa dia dan Gordon Plotkin mengambilnya dari dia. Saya pikir ini adalah bagaimana ia memasukkan jargon bahasa pemrograman, meskipun Anda bisa memastikan dengan bertanya pada Plotkin.

Neel Krishnaswami
sumber
1
Ini hampir terdengar seperti gosip TCS yang menarik.
Dave Clarke
5
Jangan tanya Gordon, paksa dia untuk berpartisipasi di situs ini, seperti yang saya lakukan dengan Dana.
Andrej Bauer
1
Oke, saya bertanya pada Gordon Plotkin dan Mike Gordon. Keduanya sepakat bahwa Gordon Plotkin menciptakan istilah 'hubungan logis', dan masing-masing mengklaim gagasan untuk menggunakan hubungan berasal dari yang lain.
Ohad Kammar
1
Tesis Gandy sekarang tersedia secara online secara gratis: repository.cam.ac.uk/handle/1810/245090
Ohad Kammar
2
@OhadKammar: "Lambda-definability dalam hierarki tipe lengkap" dari Plotkin "memberikan pujian yang tepat kepada Howard dengan mengatakan bahwa gagasan menggunakan hubungan dan bukan permutasi" juga digunakan oleh Howard untuk mendefinisikan fungsionalnya [Tro] fungsionalitas yang dapat diwariskan secara turun temurun [Tro] ". Kutipan ini ditujukan untuk sebuah buku, tetapi satu-satunya bab dari Howard adalah lampiran, "Fungsionalitas turunan tipe terbatas yang bisa diperingkat": download.springer.com/static/pdf/314/… (dari link.springer.com/book/10.1007 % 2FBFb0066739 ).
Blaisorblade