Gödel definiert in seinem System T die primitive Rekursion über höhere Typen. Ich fand Notizen von Girard, in denen er die Implementierung von System T zusätzlich zu einfach eingegebenem Lambda-Kalkül erklärt. Auf Seite 50 erwähnt er, dass wir mit dem System mehr Ausdruckskraft gewinnen, sobald wir mehr Typen im Recursor verwenden.
Ich verstehe nicht, wie genau das passiert. Ist es möglich, eine Art Ackermann-Hierarchie mit der primitiven Rekursion höherer Ordnung zu entwickeln, dh eine Hierarchie von immer schneller wachsenden Funktionen, bei der jede Funktion in System T ausgedrückt werden kann, die Diagonale jedoch nicht? Ich denke schon, aber die Konstruktion scheint mir nicht offensichtlich zu sein und ich wäre interessiert zu sehen, wie man sie konstruieren oder Hinweise auf Literatur erhalten würde.
Ich bin nach etwas Konkretem. Mir ist das allgemeine diagonale Argument bekannt, das die Existenz einer Funktion nicht in T beweist, aber ich würde gerne sehen, wie man wirklich "in der Typhierarchie aufsteigen" würde.
quelle
Antworten:
(Dies ist eine sehr teilweise Antwort, die nur den ersten Punkt und nicht die Hauptfrage zur Hierarchie anspricht.)
Ich habe keinen Beweis, auf den ich Sie hinweisen könnte, aber die Idee ist, dass ein einziger Rekorder erster Ordnung über Naturtöne wie
wäre viel weniger mächtig als das vollständige (primitive) Rekursionsschema
da letzteres in etwa einem polymorphen Begriff in System F ähnelt, der bei vielen Typen verwendet werden kannU .
In der Tat das Grundlegenderec gibt uns nur Zugang zum primitiven Rekursionsschema erster Ordnung, wie wir es in einem Buch zur Berechenbarkeits- / Rekursionstheorie finden können. Nur damit wissen wir, dass Funktionen wie die von Ackermann nicht definierbar sind. (Nun, das ist nicht so offensichtlich, da wir hier auch Lambdas höherer Ordnung haben, es ist nur die Rekursion, die eingeschränkt ist. Aber der Punkt sollte trotzdem bestehen, denke ich.)
Mit demrecU Schema können wir stattdessen wählen U=nat→nat , was es uns ermöglicht, Ackermanns Funktion zu definieren, wie Girard in dem vom OP erwähnten Buch zeigt. Daher ist das Schema streng leistungsfähiger.
quelle
Dies ist eine interessante Frage, deren Antwort absolut nicht trivial ist.
Ich werde zuerst die kurze Antwort geben: Es gibt eine Hierarchie von Systemen, nennen Sie sieTk , wo die einzigen erlaubten Rekursoren sind recU mit der Reihenfolge vonU≤k , wobei die Reihenfolge eines Typs wie folgt definiert ist:
Dann lautet der Satz:
Beachten Sie, dassT=⋃kTk .
Als ersten Schritt ist es wahrscheinlich nützlich zu bemerken, dass die Ackermann-Funktion so definiert werden kann (wie in Chis Antwort angedeutet ):
Dies legt in der Tat nahe, dassrecnat→nat hatte zusätzliche "Kraft".
Aber wie gehen wir den ganzen Weg den Turm hinauf, um willkürlich zu sein?Tk ?
Der Trick besteht darin, eine dreifache Entsprechung zwischen:
1) Ordnungszahlen untenε0
2) Fragmente vonHAk der Heyting-Arithmetik, bei der die Induktion auf Aussagen mit weniger als beschränkt ist k Quantifiziererwechsel.
3) Funktionen definierbar inTk
Für jede Ordnungszahlλk=ωω…ω wo der Turm von Höhe ist k Es ist möglich, einen Beweis in der Heyting-Arithmetik zu betrachten, dass eine solche Ordnungszahl begründet ist, und daraus einen Begriff zu extrahierentk im System typisierbar Tk was der Funktion entspricht gλk in der Grzegorczyk-Hierarchie .
Ein solcher Begriff kann nicht gut eingegeben werdenTk−1 aufgrund der oben beschriebenen Korrespondenz und der Tatsache, dass HAk−1 beweist nicht die Begründetheit von λk .
Lügen und Referenzen :
Die Korrespondenz zwischenTk , HAk und λk ist nicht ganz so sauber wie ich vorgeschlagen habe, sollte es eigentlich geben k , k′ und k′′ , jeweils durch eine konkrete Konstante verbunden.
Eine explizite Konstruktion für dietk entlang des oben beschriebenen Weges wird von Ulrich Berger in der Programmextraktion aus Gentzens Beweis der transfiniten Induktion bis zu angegeben
ε0
Ich fürchte, ich habe keine bessere Referenz für die dreifache Korrespondenz als Proofs and Types , obwohl ich mich sehr freuen würde, von einer zu hören.
quelle