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: T y p e → T y p eUNA ≅T( A )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
A : = ∏X: T y p e( T( X) → X) → X.
UNTTY , otteniamo un omomorfismo algebrico
ϕ : A → Y di
ϕ ( a ) = af: T( Y) → Yϕ : A → Y
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 un
teorema 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).
ϕ ( a ) = aYf.
UNφUNK
T( X) = 1 + X
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 eX→ ( X→ X) → X.
La risposta tecnica alla tua domanda è questa: esistono modelli di teoria dei tipi in cui il tipo SimpleNat
contiene elementi esotici che non corrispondono ai numeri e, inoltre, questi elementi infrangono il principio di induzione. Il tipo SimpleNat
in questi modelli è troppo grande ed è solo un'algebra iniziale debole .