Perché è impossibile dichiarare un principio di induzione per i numeri della Chiesa


17

Immagina, abbiamo definito i numeri naturali nel calcolo lambda tipicamente dipendente come numeri della Chiesa. Potrebbero essere definiti nel modo seguente:

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

Tuttavia, sembra che non possiamo definire i numeri della Chiesa con il seguente tipo di principio di induzione:

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

Perché è così? Come posso provarlo? Sembra che il problema sia con la definizione di un tipo per Nat che diventa ricorsivo. È possibile modificare il calcolo lambda per consentirlo?

Risposte:


20

La domanda che stai ponendo è interessante e conosciuta. Stai usando la cosiddetta codifica impredicativa dei numeri naturali. Lascia che ti spieghi un po 'lo sfondo.

Dato un costruttore di tipo , potremmo essere interessati al tipo "minimal" A che soddisfa A T ( A ) . In termini di teoria delle categorie T è un funzione e A è la T- algebra iniziale . Ad esempio, se T ( X ) = 1 + X, allora A corrisponde ai numeri naturali. Se T ( X ) = 1 +T:TypeTypeUNUNT(UN)TUNTT(X)=1+XUN quindi A è il tipo di alberi binari finiti.T(X)=1+X×XUN

Un'idea con lunga storia è che l'iniziale -algebra è il tipo A : = Π X : T y p e ( T ( X ) X ) X . (Stai usando la notazione Agda per prodotti dipendenti, ma sto usando una notazione matematica più tradizionale.) Perché dovrebbe essere? Bene, A essenzialmente codifica il principio di ricorsione per la T- algebra iniziale : dato qualsiasi T- algebra Y con una struttura morfismo f : T ( YT

UN:=ΠX:Type(T(X)X)X.
UNTTY , otteniamo un omomorfismo algebrico ϕ : A Y di ϕ ( a ) = af:T(Y)Yφ:UNY Quindi vediamo che A èdebolmenteiniziale sicuramente. Perché sia ​​iniziale dovremmo sapere che anche ϕ è unico. Questo non è vero senza ulteriori ipotesi, ma i dettagli sono tecnici e sgradevoli e richiedono la lettura di materiale di base. Ad esempio, se possiamo mostrare unteorema parametrico soddisfacente,allora vinciamo, ma ci sono anche altri metodi (come massaggiare la definizione di A e assumere l'asse K e l'estensione della funzione).
φ(un')=un'Yf.
UNφUNK

T(X)=1+X

Nun't=ΠX:Type((1+X)X)X=ΠX:Type(X×(XX))X=ΠX:TypeX(XX)X.

La risposta tecnica alla tua domanda è questa: esistono modelli di teoria dei tipi in cui il tipo SimpleNatcontiene elementi esotici che non corrispondono ai numeri e, inoltre, questi elementi infrangono il principio di induzione. Il tipo SimpleNatin questi modelli è troppo grande ed è solo un'algebra iniziale debole .


8
Concordo sul fatto che la risposta sia ottima, ma alcuni riferimenti potrebbero essere utili qui: il documento di Geuvers sulla non derivabilità dell'induzione e il documento di Neel K e Derek Dreyer sull'ottenere (un po ') induzione dalla parametricità . Non sono a conoscenza di un documento che esplora completamente la relazione.
cody

Non sono troppo forte sui riferimenti in questo settore, grazie @cody!
Andrej Bauer,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.