Apakah ada teori eta antara untuk kalkulus lambda?


15

Ada dua teori utama yang dipelajari dari kalkulus lambda, teori beta dan ekstensi Pasca Lengkapnya, teori beta-eta.

Apakah kedua teori ini memiliki di antara, semacam aturan eta menengah yang memberikan teori penulisan ulang yang konfluen? Apakah ada gagasan menarik tentang ekstensionalitas parsial yang sesuai dengannya?

Ini adalah pertanyaan kedua yang saya tanyakan dalam mengejar eta menengah, yang sebelumnya adalah Ekstensi dari teori-beta kalkulus lambda , yang menyebabkan pertanyaan tentang gagasan ortogonal tentang ekstensi, Mencirikan persamaan yang tak terlihat oleh aturan penulisan ulang yang konfluen , yang berusaha untuk memperjelas jawaban untuk pertanyaan sebelumnya.

Jawaban:


10

Untuk kalkulus yang diketik, jika Anda mempertimbangkan tipe negatif ( , × , ), Anda dapat menghidupkan atau mematikan aturan eta pada dasarnya sesuka hati tanpa mempengaruhi pertemuan.1×

Untuk tipe positif (jumlah, dan pasangan dengan eliminasi pencocokan pola), situasinya jauh lebih berantakan. Pada dasarnya, pertanyaannya adalah apakah istilah tersebut memiliki bentuk eliminasi lingkup tertutup, yang memungkinkan konteks berinteraksi secara rumit dengan ekspansi eta. Misalnya, jika memiliki tipe A × B , maka eta-ekspansi adalah l e teA×B . Tetapi untuk mendapatkan teori persamaan yang diharapkan oleh sebuah kategori yang oleh teori, Anda perlu mempertimbangkan konteks C [ - ] , dan menggeneralisasi persamaan tersebut menjadi C [ e ] l e tlet(a,b)=ein(a,b)C[] (dengan batasan pelingkupan yang diharapkan).C[e]let(a,b)=einC[(a,b)]

Saya pikir Anda masih dapat membuktikan hasil pertemuan jika Anda tidak mengizinkan konversi perjalanan. Tapi ini hanya desas-desus - saya belum pernah mencobanya sendiri, atau melihat kertas yang mendokumentasikannya.

Tapi saya tidak tahu apa-apa tentang kalkulus lambda yang tidak diketik.

EDIT: Charles bertanya tentang pengurangan eta. Ini menjanjikan untuk contoh yang dia cari, karena saya pikir secara umum mereka tidak akan cukup kuat untuk memodelkan teori kesetaraan penuh, yang akan saya ilustrasikan dengan contoh sederhana yang melibatkan para boolean. Ekspansi eta untuk boolean adalah . (Pengurangan eta tentu saja arah yang lain.)C[e]if(e,C[true],C[false])

Sekarang, pertimbangkan istilah . Menunjukkan bahwa istilah ini setara dengan i f ( e , fif(e,f,g)if(e,x,y) perlu melalui ekspansi eta, karena kita harus mengganti e di salah satu dari jika-maka-elses dengan t r u e dan f a l s e untuk mendorongpengurangan β . if(e,fx,gy)etruefalseβ


Aku seharusnya menjelaskan bahwa ini tentang kalkulus lambda yang tidak diketik: logika yang disamping mungkin membuat itu tidak jelas. Dalam kasus yang diketik, saya berharap bahwa kelengkapan Post berlaku untuk teori 〈→, ×〉, tapi saya sama sekali tidak yakin pada tipe lain. konteks berinteraksi secara rumit dengan eta-ekspansi - itu adalah kasus untuk mempertimbangkan pengurangan eta, bukan, karena Anda tidak perlu membatasi penulisan ulang?
Charles Stewart

4

Menurut John C. Mitchell dalam Yayasan Bahasa Pemrograman, baik dalam STLC dan dalam kalkulus lambda yang tidak diketik, aturan reduksi pair (proj₁ P, proj₂ P) → Pmemecah pertemuan ketika dikombinasikan dengan fixreduksi (atau, saya berasumsi dari melihat buktinya), tanpa syarat seperti itu untuk kasus yang tidak diketik. Ini adalah teorema 4.4.19 (halaman 272).


2
Saya kira ini adalah komentar panjang tentang jawaban Neel. Klop & De Vrijer (1989) mensurvei teori kalkulus lambda yang tidak diketik dengan pasangan surjektif: kasus dengan pengurangan eta memang non-konfluen, tetapi teorinya konsisten (memiliki model dalam konstruksi D_inf Scott), dan mereka memberikan hasil menyarankan teori penulisan ulang yang konservatif dan konfluen untuk pasangan surjektif dapat diberikan (masih merupakan masalah terbuka, AFAIK).
Charles Stewart
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.