Parametrisitas Logika Linier

9

Apakah kita mampu membuktikan teorema parametricity gratis tentang fungsi seperti ? Seharusnya menyatakan bahwa f mengambil daftar dan selalu mengembalikan permutasi itu.f:A.[A][A]f

Contoh lain: membuktikan bahwa fungsi akan selalu mengembalikan daftar permutasi dengan tepat satu elemen disalin.f:A.(A(A,A))[A][A]

Łukasz Lew
sumber
1
Ya itu mungkin. Kami telah menjelajahi tema ini dalam pengaturan yang sedikit berbeda ( polimorfik, linear -kalkulusπ ).
Martin Berger

Jawaban:

7

Berbagai orang tertarik untuk membuktikan hal semacam ini. Neel Krishnaswami menyebutkan teorema khusus ini di sini . Saya juga melihat Frank Pfenning memberikan beberapa contoh keren untuk logika yang dipesan. Misalnya, jika Anda memiliki , maka dalam sistem tipe yang diurutkan, e harus menambahkan daftar x dan y .A,x:[A],y:[A]e:[A]exy

Jawaban singkatnya adalah ya, kami dapat membuktikan contoh pertama Anda. Dalam konteks kalkulus lambda, pendekatan berbasis hubungan logis dijelaskan dalam makalah ini . Mereka akan membuktikan teorema Anda dalam dua langkah:

  1. Tentukan interpretasi relasional dari jenis dan gunakan untuk membuktikan teorema bebas konvensional sepenuhnya mengabaikan linearitas yaitu pada dasarnya menggunakan alasan yang sama yang Anda lihat, misalnya, "Teorema Gratis!". Mengingat , teorema bebas yang biasa memberi tahu kita bahwa f mengembalikan daftar yang hanya berisi elemen yang ada dalam daftar yang diberikan. Mengingat daftar yang berbeda variabel linear bebas x 1 ... x n , kami menyimpulkan bahwa f [ x 1 , . . . ,f:A.[A][A]fx1xn mengevaluasi ke beberapa daftar [ y 1 , . . . , Y m ] di mana { y 1 , ... , y m } { x 1 , . . . , x n } .f[x1,...,xn][y1,...,ym]{y1,,ym}{x1,...,xn}
  2. Perhatikan bahwa variabel linier bebas harus dipertahankan dalam evaluasi. Ini memungkinkan kita mengambil keuntungan dari linearitas. Jika tidak permutasi dari [ x 1 , . . . , x n ] , maka itu akan menyiratkan bahwa beberapa x i hilang atau diduplikasi selama evaluasi, yang tidak dapat terjadi.[y1,,ym][x1,...,xn]xi

Tetapi, teorema semacam ini menjadi lebih menarik ketika kita melihat bahasa dengan efek dan kemampuan kita untuk membuktikannya untuk bahasa-bahasa seperti itu sangat terbatas. Sebagai contoh, perhatikan isomorfisma dari Sistem F. Dalam pengaturan nilai-panggilan, isomorfisma ini terputus ketika kita menambahkan non-terminasi. Kami harus bisa memulihkan isomorfisma yang sama, meskipun, dengan jenis linear: τ A . ( Τ A ) A . Sayangnya, kami tidak memiliki hubungan logis operasional yang dapat membuktikan ini.τA.(τA)AτA.(τA)A

Yang mengatakan, ada juga metode sintaksis yang dapat membuktikan isomorfisme dan teorema Anda. Ini tampaknya menjadi pendekatan yang sangat berguna dalam pengaturan linier, dan jauh lebih sedikit dari beban daripada mengatur hubungan logis untuk membuktikan teorema sederhana.

Edit: Karena Anda bertanya, inilah contoh dari bukti sintaksis dari teorema bebas untuk jenis dalam pengaturan dengan istilah yang berulang selamanya dan diketik dengan baik dalam konteks apa pun pada jenis apa pun. Idenya adalah untuk menemukan seperangkat istilah kanonik dari suatu jenis dan menggunakannya untuk menentukan apa nilai pengembalian yang mungkin untuk suatu fungsi. Kita mulai dengan teorema kesehatan untuk istilah yang diketik dengan baik.A.(AA)A

Δ;Γe:τ

  • evΔ;Γv:τ
  • enΓΔ;Γn:τ
  • e

Δx

f:A.(AA)Afλx.eA;x:(AA)e:A

  • eA;x:(AA)(v1,v2):Av1v2AA
  • ex
  • efλx.

e let(x1,x2)=x in eA;x1:A,x2:Ae:Afλx.let (x1,x2)=x in eeAexi

A.(AA)Aλx.λx.let (x1,x2)=x in 

Anda meminta referensi untuk bukti semacam ini, tapi saya tidak yakin dengan yang baik. Jenis pemikiran ini terkenal di kalangan tertentu dan mungkin kembali sejauh Gentzen. Saya diberitahu bahwa ini mengingatkan pada pencarian bukti terfokus untuk kalkulus sekuensial, tetapi saya tidak tahu persis apa hubungannya.

Yang mengatakan, saya tidak mengetahui adanya karya modern yang diterbitkan yang menjelaskan metode yang relatif sederhana ini dengan baik. Memang, ini agak terbatas dalam penerapannya ke bahasa yang lebih sederhana. Di sisi lain, saya pikir itu telah dibayangi oleh "Teorema Gratis!" et al dan sebagai akibatnya bahkan banyak peneliti senior segera memikirkan hubungan logis ketika mereka mendengar ungkapan "teorema bebas", tidak menyadari bahwa teknik seperti ini dapat menjadi pendekatan alternatif yang lebih sederhana untuk bukti semacam itu (terutama dalam konteks sistem tipe linear).

AfA.(B.B(B,B))[A][A]B.B(B,B) ada karena harus menduplikasi inputnya.

Nick Rioux
sumber
Bisakah Anda memberikan referensi untuk metode sintaksis yang Anda bicarakan?
Łukasz Lew
Tidak yakin dengan referensi yang baik, tetapi saya menambahkan contoh ke posting. Beri tahu saya jika ada yang tidak jelas.
Nick Rioux
1
Tidak linier, tetapi di sini ada blog yang menggunakan analisis bukti-teoretis untuk mendapatkan teorema seperti paramtricity
Max New
Selain kertas Zhao et al yang terkait dalam pos tersebut, Lars Birkedal dan rekan penulisnya juga memperluas model parametrik Reynolds ke kasing linear di kertas mereka Linear Abadi dan Plotkin Logic .
Neel Krishnaswami