Wenn wir uns das Buch Homotopy Type Theory ansehen , sehen wir die folgenden Themen:
Homotopy type theory
2.1 Types are higher groupoids
2.2 Functions are functors
2.3 Type families are fibrations
2.4 Homotopies and equivalences
2.5 The higher groupoid structure of type formers
2.6 Cartesian product types
2.7 S-types
2.8 The unit type
2.9 P-types and the function extensionality axiom
2.10 Universes and the univalence axiom
2.11 Identity type
2.12 Coproducts
2.13 Natural numbers
2.14 Example: equality of structures
2.15 Universal properties
Jetzt wissen wir, dass nicht alle Homotopietheorien möglich sind: Agda und Coq .
Meine Frage ist: Welche Teile der Homotopietypentheorie sind in Agda oder Coq nicht möglich?
type-systems
Falkenauge
quelle
quelle
Antworten:
Wenn man sich anschaut , Hinweise zu Kapitel 8 Sie werden sehen , was hat bereits formalisiert, und ich denke , dass eine Menge ist. Es gibt die Coq HoTT-Bibliothek und die Agda HoTT-Agda- Bibliothek, die große Teile der Homotopy Type Theory formalisieren.
Um die Dinge in Coq zu erledigen, benötigten wir eine spezielle Version von Coq, die nur für die Zwecke von HoTT gepatcht wurde. Da sich Coq jedoch in Richtung der Unterstützung der Homotopietypentheorie bewegt, können wir dies möglicherweise in Kürze mit Standard-Coq tun.
In Agda muss man die
--without-K
Option einschalten , sonst glaubt Agda, dass alle Typen 0-Typen sind. Es gibt einige anhaltende Zweifel, ob--without-K
die Annahme, dass alles eine 0-Menge ist, wirklich beseitigt wird, oder ob man sie mit kniffligen Verwendungszwecken von Musterübereinstimmungen wieder in Agda einführen könnte.Die folgenden Aspekte von Coq- und Agda-Formalisierungen sind nicht zufriedenstellend:
Das Univalenz-Axiom wird als Hypothese angegeben. Es wäre besser, wenn es in das System eingebaut wäre. Insbesondere möchten wir, dass Coq und Agda die Berechnungsregeln für das Axiom der Univalenz verstehen.
Ebenso müssen wir Hacks verwenden, um funktionsfähige Typen mit höherer Induktivität zu erhalten. Auch hier wäre es besser, direkte Unterstützung zu haben.
Das Problem mit den oben genannten Mängeln ist, dass niemand weiß, wie man sie sogar theoretisch behebt. Dies ist ein aktives Forschungsgebiet.
Abgesehen davon kann man sagen, dass HoTT meistens in Coq und Agda durchgeführt werden kann, aber nicht optimal.
quelle
ua
die Konstante, die das Axiom der Univalenz bezeugt? Was sind die Berechnungsregeln für HITs? Wir haben einige Ideen, aber nichts wasserdichtes.Soweit ich weiß, ist es in Agda möglich, all das zu repräsentieren (dh in Kapitel 2 - es gibt eine Bibliothek auf Github, die dies tut; AFAIK, dasselbe gilt für Coq). Nur wenn Sie zu späteren Kapiteln kommen, wird es schwierig. Es gibt zwei offensichtliche Punkte:
Es gibt auch andere Elemente, aber ich habe diesen Teil der Agda-Formalisierung noch nicht gelesen ... Aber im Großen und Ganzen kann der größte Teil von HoTT sowohl in Agda als auch in Coq gut formalisiert werden.
Noch wichtiger ist, dass beide Entwicklerteams aktiv daran arbeiten, ihre Systeme so anzupassen, dass mehr von HoTT gehandhabt werden kann, zumindest wenn eine klare Theorie vorliegt, wie die erforderlichen Funktionen implementiert werden können. Das hat sich in Teilen als herausfordernd erwiesen.
quelle