Kilise rakamları için bir indüksiyon prensibi beyan etmek neden imkansız


17

Düşünün, bağımlı olarak yazılan lambda hesabındaki doğal sayıları Kilise rakamları olarak tanımladık. Bunlar aşağıdaki şekilde tanımlanabilir:

SimpleNat = (R : Set) → R → (R → R) → R

zero : SimpleNat
zero = λ R z _ → z

suc : SimpleNat → SimpleNat
suc sn = λ R z s → s (sn R z s)

SimpleNatRec : (R : Set) → R → (R → R) → SimpleNat → R
SimpleNatRec R z s sn = sn R z s

Ancak, Kilise rakamlarını aşağıdaki İndüksiyon prensibi ile tanımlayamayacağımız anlaşılıyor:

NatInd : (C : Nat -> Set) -> (C zero) -> ((n : Nat) -> C n -> C (suc n)) -> (n : Nat) -> (C n)

Neden böyle? Bunu nasıl kanıtlayabilirim? Sorun, Nat için özyinelemeli bir tür tanımlamaktan kaynaklanıyor gibi görünüyor. Buna izin vermek için lambda hesabını değiştirmek mümkün müdür?

Yanıtlar:


20

Sorduğunuz soru ilginç ve biliniyor. Doğal sayıların kestirimsel kodlamasını kullanıyorsunuz. Arka planı biraz açıklayayım.

tip yapıcısı verildiğinde , A - T ( A ) ' sağlayan "minimal" tip A ile ilgilenebiliriz . Kategori teorisi açısından T bir fonktor ve A ilk T- cebiridir. Örneğin, T ( X ) = 1 + x sonra bir doğal numaralara karşılık gelir. Eğer T ( X ) = 1 XT:TypeTypebirbirT(bir)TbirTT(X)=1+Xbir sonra A sonlu ikili ağaçların türüdür.T(X)=1+XxXbir

Uzun bir geçmişi olan bir fikir ilk olmasıdır cebiri türüdür bir : = Π X : T y s e ( T ( X ) X ) x . (Bağımlı ürünler için Agda gösterimini kullanıyorsunuz, ancak daha geleneksel bir matematiksel gösterimi kullanıyorum.) Bu neden olmalı? Aslında, A esas olarak ilk T- cebiri için özyineleme ilkesini kodlar : herhangi bir T- cebiri Y , f : T ( Y ( Y)T

bir:=ΠX:Type(T(X)X)X.
birTTY , bir cebir homomorfizması alıyoruz ϕ : A Y by ϕ ( a ) = af:T(Y)Yφ:birY Bu yüzden A'nın kesin olarakzayıfolduğunu görüyoruz. İlk olması için ϕ'nin de benzersizolduğunu bilmemiz gerekir. Bu, başka varsayımlar olmadan doğru değildir, ancak detaylar teknik ve kötüdür ve bazı arka plan materyallerinin okunmasını gerektirir. Örneğin, tatmin edici bir parametrik teoremgösterebilirsek,o zaman kazanırız, ancak başka yöntemler de vardır ( A'nın tanımına masajyapmak ve K- aksiyomunu ve fonksiyon genişlemesinivarsaymak gibi).
φ(bir)=birYf.
birφbirK

Yukarıdakileri : N a t = X : T y p e ( ( 1 + X ) X ) X = X : T y p e ( X × ( X X ) ) X = X : T y p eT(X)=1+X

N-birt=ΠX:Type((1+X)X)X=ΠX:Type(Xx(XX))X=ΠX:TypeX(XX)X.

Sorunuzun teknik cevabı şudur: türün rakamlara karşılık gelmeyen egzotik elemanlar SimpleNatiçerdiği tip teorisi modelleri vardır ve dahası, bu elemanlar indüksiyon prensibini kırmaktadır. Tipi bu modellerde çok büyük ve sadece bir zayıf başlangıç cebir.SimpleNat


8
Cevabın harika olduğunu kabul ediyorum, ancak burada birkaç referans yararlı olabilir: Geuvers'ın indüksiyonun türetilemezliği ile ilgili makalesi ve Neel K ve Derek Dreyer'in parametriklikten (bazı) indüksiyon elde etme makalesi . Yine de ilişkiyi tam olarak araştıran bir makalenin farkında değilim.
cody

Bu alandaki referanslar konusunda çok güçlü değilim, teşekkürler @cody!
Andrej Bauer
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.