Pi tiplerinin funsplit ve polaritesi


18

Bir de son iplik Agda posta listesinde, sorusu η yasaları Peter Hancock yapılan ettiği, açıldı düşündürücüdür sözler .

Anladığım kadarıyla yasaları negatif türlerle geliyor, yani. giriş kurallarının ters çevrilebilir olduğu bağlayıcılar. Eta'yı işlevler için devre dışı bırakmak için Hank , olağan uygulama kuralı yerine özel yapılmış bir kaldırıcı funsplit kullanmanızı önerir . Hank'in kutuplar açısından yorumunu anlamak istiyorum.ηη

Örneğin, iki sunum var türleri. Olumlu bir tarzda geleneksel Martin-Löf bölünmüş eliminator var:Σ

Γf:(a:A)(b:Ba)C(a,b)Γp:Σa:A.BΓsplitfp:Cp

Ve olumsuz versiyon var:

Γp:Σa:A.BΓπ0p:AΓp:Σa:A.BΓπ1p:B[π0p/a]

Bu son sunum, çiftler için almayı kolaylaştırır . herhangi bir çift (burada == tanım eşitliği anlamına gelir). Geçerlilik açısından, bu fark önemli değil: sezgisel olarak, projeksiyonları bölünmüş veya başka bir şekilde uygulayabilirsiniz.η(π0p,π1p)==pp

Şimdi, türleri genellikle (ve tartışmasız bir şekilde, inanıyorum) olumsuz alınır:Π

Γf:Πa:A.BΓs:AΓfs:B[s/a]

Bu da bize işlevler için verir : .ηλx.fx==f

Bununla birlikte, bu postada Hank, funplit eliminatörünü hatırlar (ML tipi teorisinde programlama, [http://www.cse.chalmers.se/research/group/logic/book/], s.56). Mantıksal çerçevede şu şekilde tanımlanır:

fΠ(A,B)C(v)Set[vΠ(A,B)]d(y)C(λ(y))[y(x)B(x)[xA]]funsplit(f,d)C(f)

İlginçtir, Nordstrom ve ark. "[bu] alternatif kanonik olmayan biçimin yapısal tümevarım ilkesine dayandığını" söyleyerek bu tanımı motive eder. Bu ifadeye karşı güçlü bir pozitiflik kokusu var: fonksiyonlar kurucuları tarafından 'tanımlanacak' .λ

Bununla birlikte, doğal kesinti (veya daha da iyisi, ardışık analiz) içinde bu kuralın tatmin edici bir sunumunu tamamen çivileyemem. tanıtmak için mantıksal çerçevenin (ab) kullanımı burada çok önemlidir.y

Peki, funsplit -tiplerinin olumlu bir sunumu mu? (Bağımlı olmayan) sıralı hesapta da benzer bir şey var mı? Nasıl olurdu?Π

Bu alandaki kanıt teorisyenleri için ne kadar yaygın / meraklı?

Yanıtlar:


12

kullanılarak fonksiyonel eliminasyonun sunulması , tip teorisinin birçok tedavisinde kesinlikle olağan bir olay değildir. Ancak, bu formun gerçekten fonksiyonel türlerin ortadan kaldırılmasının "olumlu" sunumu olduğuna inanıyorum. Buradaki mesele, bir tür Yüksek Dereceli kalıp eşleşmesine ihtiyacınız olmasıdır, örneğin Dale Miller .funsplit

Kuralınızı, benim için daha açık bir şekilde yeniden formüle etmeme izin verin:

Γf:Πx:A.BΓ,z:Πx:A.BC:SetΓ,[x:A]F(x):Be:C{λx:A.F(x)/z}match f with λx:A.F(x)e:C{f/z}

Burada , x : A bağlamında B tipi bir meta değişkendir .FBx:A

Yeniden yazma kuralı şu şekilde olur:

match λx:A.t with λx:A.F(x)ee{t{u/x}/F(u)}

Bu, uygulamayı şu şekilde tanımlamanızı sağlar:

app(t,u)=match t with λx:A.F(x)F(u)

Bunun "mantıksal çerçeve tarzı" tip-sistemin geçerli olmasını gerektirmesinin ötesinde, daha üst düzey birleşmenin güçlüğü (ve sınırlı ihtiyacı) bu formülasyonu popüler kılmaz.

Bununla birlikte, literatürde pozitif / negatif ayrımın bulunduğu bir yer vardır: mantıksal ilişkinin formülasyonu yordamaktadır . İki olası tanım (tekli durumda)

[[Πx:A.B]]={tu[[A]],tu[[B]]xu}

ve

[[Πx:A.B]]={ttλx.t,u[[A]],t{u/x}[[B]]xu}

İkinci versiyon daha az yaygındır, ancak örneğin Dowek ve Werner'de bulunabilir .


1
Bu, Mantıksal Çerçeve'de yaygın olarak kullanılan Yüksek Dereceli Özet Sözdizimi ile ilişkili görünmektedir. Özellikle, buradaki meta işlevi olarak görünmektedir. F
gün

13

İşte Fredrik'in cevabı üzerine biraz farklı bir bakış açısı. Genellikle, kestirimci Kilise türlerinin kodlamaları ilgili yasaları karşılayacak, ancak η yasalarını karşılamayacaktır .βη

Yani bu, bağımlı bir çifti aşağıdaki gibi tanımlayabileceğimiz anlamına gelir:

Şimdi, bu not π 1 kolay olarak tanımlanabilir olduğu: π 1 : x : x .

x:X.Y[x]α:.(Πx:X.Y[x]α)α
π1 Ancak ikinci projeksiyonu π 2 : Π p : ( x : X olarak tanımlayamazsınız) .
π1:x:X.Y[x]Xλp:(x:X.Y[x]).pX(λxy.x)
- deneyin! Bunun için sadece zayıf bir eliminatör tanımlayabilirsiniz, bu yüzden onu varoluşsal olarak yazdım.π2:Πp:(x:X.Y[x]).Y[π1p]

Bununla birlikte, ikinci projeksiyon gerçekleştirilebilir ve parametrik bir modelde de doğru davranışa sahip olduğunu gösterebilirsiniz. ( Derek Dreyer ile Yapılar Hesabı'ndaki parametriklik konusundaki son taslağım hakkında daha fazla bilgi edinin.) Bu yüzden projeksiyonunun, anlamlı olması için temel olarak bazı güçlü uzantı özellikleri gerektirdiğini düşünüyorum .π2

Sıralı hesap açısından, zayıf eliminatör biraz benzeyen bir kurala sahiptir:

Γ,x:X,y:Y[x],Γe:CΓ,p:x:X.Y[x],Γlet(x,y)=pine:C
pΓC
Γ,x:X,y:Y[x],[(x,y)/p]Γe:[(x,y)/p]CΓ,p:x:X.Y[x],Γlet(x,y)=pine:C

1
Tüm bu cevapları gerçekten çok seviyorum! Fredrik'in cevabında eta ile ilgili asıl sorun olan örtük "içgözlem" (bir terimin bir değeri olduğunu bilme yeteneği) kavramı olduğunu hissediyorum: parametriklik içgözlem eta'yı ima eder.
cody

10

Richard Garner, funsplit kuralının daha üst düzey doğasını da tartışan Martin-Löf (APAL 160 (2009)) tip teorisindeki bağımlı ürünlerin gücü hakkında ( Peter Schroeder-Heister Doğal çıkarımın doğal bir uzantısı (JSL 49 (1984))).

Π

m:Π(bir,B)η(m):bendΠ(bir,B)(m,λx.mx)(Π-propη)
x:birf(x):B(x)η(λ(f))=refl(λ(f)):bendΠ(bir,B)(λ(f),λ(f))(Π-propη-Zorunlu)

η(Π-Prop-η-Comp)

Σsplit

η(m):=refl(m)ηηηΣ

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.