Die Frage, die Sie stellen, ist interessant und bekannt. Sie verwenden die sogenannte improvisatorische Kodierung der natürlichen Zahlen. Lassen Sie mich ein bisschen den Hintergrund erklären.
Bei einem gegebenen Typkonstruktor könnte uns der "minimale" Typ A interessieren , der A ≅ T ( A ) erfüllt . In Bezug auf die Kategorietheorie ist T ein Funktor und A ist die anfängliche T- Algebra. Wenn beispielsweise T ( X ) = 1 + X ist, entspricht A den natürlichen Zahlen. Wenn T ( X ) = 1 +T: T y p e → T y p eEINA ≅T( A )TEINTT(X)=1+XA dann A ist die Art der endlichen binären Bäume.T(X)=1+X×XA
Eine Idee mit langer Geschichte ist , dass die anfängliche -Algebra der Typ
A : = Π X : T y p e ( T ( X ) → X ) → X .
(Sie verwenden die Agda-Notation für abhängige Produkte, aber ich verwende eine traditionellere mathematische Notation.) Warum sollte das so sein? Nun, A kodiert im Wesentlichen das Rekursionsprinzip für die anfängliche T- Algebra: Gegeben sei jede T- Algebra Y mit einem Strukturmorphismus f : T ( YT
A:=∏X:Type(T(X)→X)→X.
ATTY wir einen algebraischen Homomorphismus
ϕ : A → Y durch
ϕ ( a ) = af:T(Y)→Yϕ:A→Y
So sehen wirdass
A ist
schwachsicher initial. Damit es anfänglich ist, müssen wir wissen, dass
ϕ auch einzigartig ist. Dies gilt nicht ohne weitere Annahmen, aber die Details sind technisch und unangenehm und erfordern das Lesen von Hintergrundmaterial. Zum Beispiel, wenn wir einen zufriedenstellenden zeigen
parametricty Satzdann gewinnen wir, aber es gibt auch andere Methoden (wie die Definition von Massieren
A und unter der Annahme des
K -axiom und Funktion Extensionalität).
ϕ(a)=aYf.
AϕAK
T(X)=1+X
Nat=∏X:Type((1+X)→X)→X=∏X:Type(X×(X→X))→X=∏X:TypeX→(X→X)→X.
Die technische Antwort auf Ihre Frage lautet: Es gibt Modelle der Typentheorie, in denen der Typ exotische Elemente SimpleNat
enthält , die nicht den Ziffern entsprechen, und diese Elemente brechen darüber hinaus das Induktionsprinzip. Der Typ in diesen Modellen ist zu groß und ist nur eine schwache Anfangsalgebra.SimpleNat