η-conversion vs ekstensionality dalam ekstensi lambda-calculus


14

Saya sering bingung dengan hubungan antara konversi dan ekstensionalitas.

Sunting: Menurut komentar, sepertinya saya juga bingung tentang hubungan antara ekuivalensi ekstensional dan ekuivalen observasi. Tetapi setidaknya di Agda dengan kesetaraan ekstensional untuk fungsi (sebagai postulat), dan untuk kalkulus lambda yang diketik sederhana (yang memiliki semantik abstrak sepenuhnya, jika saya tidak salah), kesetaraan denotasional sama dengan kesetaraan pengamatan. Jangan ragu untuk mengoreksi saya dalam komentar atau jawaban; Saya tidak pernah mendapatkan pendidikan sistematis tentang hal-hal ini.

Dalam lambda-calculus yang tidak diketik, aturan eta memberikan sistem bukti yang sama dengan aturan ekstensionalitas, sebagaimana dibuktikan oleh Barendregt (dikutip dalam jawaban untuk pertanyaan ini ). Saya mengerti bahwa ini berarti bahwa sistem bukti dengan aturan eta lengkap untuk kesetaraan pengamatan (dari jawaban lain, yang mungkin memerlukan aturan ξ-aturan, yaitu pengurangan di bawah pengikat IIUC; Saya tidak punya masalah menambahkan aturan itu juga) .

Namun, apa yang terjadi jika kita beralih ke kalkulus yang diketik dan menambahkan kembangkan kalkulus ini dengan tipe basis tambahan dan formulir pengenalan serta eliminasi yang sesuai? Bisakah kita masih menulis sistem bukti lengkap untuk kesetaraan pengamatan? Saya akan berbicara tentang sistem bukti dalam bentuk semantik aksiomatik, mengikuti Yayasan Bahasa Pemrograman Mitchell (FPL); sistem bukti / semantik aksiomatik mendefinisikan kesetaraan program.

Pertanyaan 1 : apakah teorema Barendregt meluas ke STLC? Apakah ekivalensi η setara dengan ekstensionalitas dalam konteks itu?

Saya sedang browsing diskusi FPL dari PCF (tapi tidak menyelesaikan bagian belum), dan tampaknya bahwa setelah Anda menambahkan pasang, extensionality membutuhkan aturan tambahan, pasangan yaitu surjective: pair (Proj1 P, Proj2 P) = P. Menariknya, aturan ini berkaitan dengan pengenalan dan penghapusan pasangan persis seperti aturan-η terkait dengan pengenalan dan penghapusan fungsi.

Pertanyaan 2 : Apakah cukup untuk menambahkan aksioma pemasangan surjektif untuk membuktikan ekstensionalitas dalam kalkulus λ sederhana yang diketik dengan pasangan? sunting : Pertanyaan 2b : apakah surjective pairing sebuah η-law, seperti η-law yang disebutkan dalam makalah ini , karena kesamaan struktural yang saya sebutkan?

Mari kita lanjut ke PCF sekarang. Deskripsi tentang kesetaraan ekstensional yang saya lihat kemudian membuktikan bahwa ekstensionalitas menyiratkan aturan pembuktian dengan induksi, tetapi mereka tidak mengatakan apakah itu cukup. Karena PCF adalah Turing-complete, kesetaraan ekstensional tidak dapat ditentukan . Tetapi itu tidak berarti bahwa tidak ada sistem bukti lengkap, karena panjang bukti tidak terikat. Lebih relevan, sistem bukti semacam itu mungkin akan bertentangan dengan teorema ketidaklengkapan Gödel. Dan argumen itu mungkin berlaku bahkan untuk PCF tanpa fix, dan untuk Sistem T.

Pertanyaan 3 : Apakah ada sistem bukti lengkap untuk kesetaraan pengamatan dalam PCF? Bagaimana dengan PCF tanpa fix?

Pembaruan: abstraksi penuh

Saya jawab di sini di komentar tentang abstraksi penuh. Saya pikir PCF menderita dua jenis masalah: PCF non-termination (via fix), yang menyebabkan hilangnya abstraksi penuh, tetapi juga memiliki bilangan alami. Kedua masalah membuat kesetaraan pengamatan sulit untuk diobati, tetapi saya percaya secara independen satu sama lain.

Di satu sisi, PCF kehilangan abstraksi penuh karena paralel atau hidup dalam domain semantik (Plotkin 1977), dan itu tampaknya ada hubungannya dengan nonterminasi. Ralph Loader (2000, "Finitary PCF is not decidable") menunjukkan bahwa PCF finiter (tanpa naturals, tetapi dengan nontermination) sudah diputuskan; karenanya, (jika saya simpulkan dengan benar) semantik yang sepenuhnya abstrak tidak dapat membatasi domain dengan operasi yang dapat dihitung.

Di sisi lain, ambil Sistem T Gödel, yang tidak memiliki nonterminasi. (Saya tidak yakin itu memiliki semantik abstrak sepenuhnya, tapi saya kira ya, karena masalahnya hanya disebutkan untuk PCF; domain harus mengandung fungsi rekursif primitif tingkat tinggi). Yayasan Praktis Harper untuk Bahasa Pemrograman membahas kesetaraan pengamatan untuk bahasa ini; Detik. 47.4 berjudul "Some Laws of Equality", dan menunjukkan beberapa aturan bukti yang dapat diterima untuk kesetaraan pengamatan. Tidak ada tempat yang mengatakan apakah sistem buktinya lengkap, jadi saya kira tidak, tetapi juga tidak ada tempat yang bisa diselesaikan. Tebakan terbaik saya menghubungkan kembali ke teorema ketidaklengkapan Gödel.


1
Saya pikir saya bisa menjawab beberapa dari ini, tetapi saya bingung apa yang Anda tanyakan. Pertanyaan yang Anda ajukan bukan tentang kesetaraan program. Apakah yang Anda maksud adalah kesetaraan pengamatan? Untuk apa semantik operasionalnya? Jadi, pada dasarnya, jika Anda menjelaskan dengan tepat apa yang dimaksud "bukti" dalam Pertanyaan 1, saya pikir saya bisa menebak apa yang terjadi. Tebakan terbaik saya sejauh ini: Anda menginginkan teori persamaan yang lengkap untuk kesetaraan pengamatan, dan Anda bertanya kepada kami apakah aturan sudah cukup. Itu saja? η
Andrej Bauer

@ AndrejBauer: tebakan Anda benar, saya akan mulai memperbarui pertanyaan.
Blaisorblade

Saya tidak yakin tentang semantik operasional - apakah itu membuat perbedaan untuk teorema asli?
Blaisorblade

Saya mencoba untuk memperbaiki pertanyaan lebih lanjut. Tapi saya masih berpikir tebakan terbaik Anda benar.
Blaisorblade

Ada masalah kecil di sini: benar-benar tidak jelas apa untuk bilangan asli! Jika Anda hanya memiliki fungsi dan jenis produk saja, maka Anda jelas: istilahnya setara secara observasi jika mereka β η sama. Secara umum, saya pikir ini terkait dengan masalah abstraksi penuh . ηβη
cody

Jawaban:


7

Saya tidak yakin saya dapat menjawab pertanyaan Anda sepenuhnya, tetapi saya akan mencobanya, dan mengajukan beberapa pertanyaan saya sendiri yang mungkin mendorong beberapa diskusi lebih lanjut tentang masalah ini.

Titik pertama saya adalah ini: dua istilah di untyped λ kalkulus dikatakan observably sama IFF untuk setiap jangka M : M t  Menghentikan M t '  Menghentikan  Dimana Menghentikan berarti "memiliki β bentuk -Normal"t,t λM

M t terminates M t terminates 
β

Saya merasa lebih alami untuk mempertimbangkan istilah dengan "lubang" atau konteks bukan hanya istilah M dan menulis E [ t ] bukan M t . Kedua pandangan ini tentu setara (jika variabel tidak terikat oleh konteks), karena abstraksi memungkinkan Anda untuk mengubah konteks E [ _ ] menjadi istilah λ x . E [ x ] .E[_]ME[t]M tE[_]λx.E[x]

Sekarang adalah fakta bahwa kesetaraan pengamatan dalam kalkulus yang tidak diketik tidak ditangkap oleh -equality! Memang ada seluruh kelas istilah, yang keduanya tidak berakhir dan tidak memiliki bentuk kepala normal dan karena itu semuanya sama. Ini kadang-kadang disebut istilah abadi atau istilah yang tidak dapat dipecahkan , dan berikut adalah dua istilah tersebut: ( λ x . X x ) ( λ x . X x ) dan ( λ x . X x x ) ( λ x .βη

(λx.x x)(λx.x x)
Cukup mudah untuk menunjukkan bahwa istilah-istilah ini tidak β η- sama.
(λx.x x x)(λx.x x x)
βη

Jika semua istilah abadi diidentifikasi, maka kesetaraan pengamatan sepenuhnya ditangkap, dengan hasil klasik (lihat teorema Barendregt 16.2.7).


Sekarang untuk batu yang diketik. Mari kita pertimbangkan -kalkulus yang baru diketik tanpa bilangan asli terlebih dahulu. Definisi persamaan pengamatan di atas menjadi sepele, karena setiap istilah menjadi normal! Kita perlu perbedaan yang lebih baik. Kami akan menggunakan nilai kesetaraan t 1t 2 untuk istilah tertutup, ditentukan oleh induksi pada jenis t 1 dan t 2 . Pertama-tama mari kita tambahkan untuk setiap tipe A , konstanta dalam jumlah tak terbatas c A , c A , c A , . Kami akan memilih beberapa konstanta c xλt1t2t1t2AcA,cA,cA,cxdari tipe yang sesuai untuk berhubungan dengan setiap variabel .x

  1. Pada dasarnya tipe , t 1t 2 jika dan hanya jika β bentuk normal -Kepala t 1 adalah c u 1 ... u n dan bahwa dari t 2 adalah d v 1 ... v n dan c = d dan u 1v 1 , , U nv n pada jenisnya masing-masing.Bt1t2βt1c u1unt2d v1vnc=du1v1,,unvn

  2. Pada tipe panah, jika kedua istilah β -duksi menjadi λ -straksi.t1t2βλ

Perhatikan bahwa saya hanya menggunakan konversi dalam definisi ini.β

Sekarang saya mendefinisikan konteks menjadi: dengan konteks kepala, aplikasi, abstraksi, dan substitusi (dengan istilah tertutup).

[_]E[_] ut E[_]λx. E[_]E[_]θ

Kita kemudian dapat mendefinisikan dan t , diketik dengan baik dari tipe T untuk menjadi setara dengan pengamatan jika dan hanya jika untuk setiap konteks E [ _ttT sedemikian rupa sehingga E [ t ] , E [ t ] diketik dengan baik danditutup. E [ t ] E [ t ] kita akan menulis t = o b s t dalam kasus iniE[_]E[t],E[t]

E[t]E[t]
t=obst

Sekarang mudah untuk mengamati bahwa jika maka t = o b s t . Arah lain kurang sepele, tetapi juga memegang: memang, jika t = o b s t ' , maka kita dapat menunjukkan bahwa istilah yang sama untuk ß n dengan induksi pada jenis:t=βηtt=obstt=obstβη

  1. Pada tipe dasar, cukup anggap menjadi [ _ ] θ , dengan θ substitusi yang mengirim x ke c x . Kami memiliki E [ t ] = t θ dan E [ t ] = t θ . Kami memiliki t θ β c x u 1 θ u n θ dan t θ E[_][_]θθxcxE[t]=tθE[t]=tθtθβcx u1θunθ . Kami kemudian memiliki c x = c x dan jadi x = x . Sekarang kita tidak dapat langsung menyimpulkan bahwa u i θ = β η v i θ . Memang, jika u i dan v i adalah λ -straksi, maka sepele u i θ v i θ ! Kuncinya di sini adalah mengirim xtθβcx v1θvnθcx=cxx=xuiθ=βηviθuiviλuiθviθxke dan untuk mengulangi ini sebanyak yang diperlukan. Saya agak kabur pada detailnya di sini, tetapi idenya mirip dengan teorema Böhm ( Barendregt lagi 10.4.2).

    λy.cx~ (y1c1)(yncn)
  2. Pada tipe panah, ambil menjadi [ _ ] c y , yaitu aplikasi untuk c y dengan c y dan y tidak dalam t atau t . Dengan hipotesis induksi kita memiliki: t c y =E[_][_] cycycyytt dan jadi ty = β η t y Yang menghasilkanλy. ty = β

    t cy =βη t cy
    t y =βη t y
    dan akhirnya denganη-kesetaraan: t = β η t λy.t y =βη λ.t yη
    t =βη t

Itu lebih sulit dari yang diharapkan!


Baiklah mari kita menangani sistem T. Mari menambahkan jenis ke dalam campuran, konstruktor 0 dan S , dan recursor r e c T untuk setiap jenis T , dengan " β -rules" r e c T u v 0 β u r e c T u v ( S n ) β v n ( r e c T u v n )N0SrecTTβ

recT u v 0βu
recT u v (S n)βv n (recT u v n)

Kami ingin membuktikan teorema yang sama seperti di atas. Sangat menggoda untuk menambahkan " η

λx.x =βη recN 0 (λk m.S m)
m

f (S x) =βη h x (f x)f t =βηrecT (f 0) h t
xηh

MtMTtM (S S 0)n S1Mn0

M

tM =λx.0
βηM
0 =βη S 0
TtM=λx.0

Terima kasih atas jawaban anda! Pertanyaan pertama saya adalah: apakah biasanya ada pengganti dalam konteks kesetaraan pengamatan? Setidaknya kertas LCF Plotkin (1997) tidak melakukan itu (meskipun saya bisa membayangkan sesuatu seperti itu akan masuk akal dalam beberapa kalkulus penutupan, di mana sesuatu seperti substitusi adalah bagian dari sintaksis). Tapi saya dapat dengan mudah melihat untuk setiap "substitusi" konteks satu dapat mendefinisikan lebih "(untuk saya)" konteks "yang hanya menggunakan lambda-abstraksi dan aplikasi, katakanlah (λx. []) C_x; jadi saya kira kesetaraan pengamatan di atas setara dengan definisi yang biasa saya gunakan.
Blaisorblade

t=λx.00=βηS0M0=βηS00βηS 0

Mt=λx.0

1
PA01PA0=1T
f 0=g 0f (S 0)=g (S 0)f=g

1
Betul! Meskipun kadang-kadang masuk akal untuk mempertimbangkan sistem "tak terbatas" semacam itu untuk tujuan bukti-teoretis (misalnya analisis ordinal).
cody
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.