Eine der praktischsten Konsequenzen der "Curry-Howard-Lambek" -Korrespondenz ist, dass die Syntax vieler Lambda-Calucli / Logiken verwendet werden kann, um Konstruktionen in einer ausreichend strukturierten Kategorie auszuführen.
Beispielsweise verfügt die synthetische Differentialgeometrie über Modelle in Topoi, die die Kategorie der glatten Mannigfaltigkeiten enthalten und einbetten, sodass Sie Logik höherer Ordnung verwenden können, um glatte Funktionen zu konstruieren und Differentialgleichungen zu lösen.
Als weiteres Beispiel in diesem Artikel stellen sie fest, dass "Schrittindizierung" wirklich nur mit Vorspannungen über den Naturwerten (einem anderen Topos) funktioniert, sodass Sie die Syntax der Logik höherer Ordnung verwenden können, um schrittweise indizierte logische Beziehungen ohne langwierige zu definieren Manipulation von Schritten.
Schließlich zeigt Andrej Bauer in dieser MO-Frage, dass man mit der "internen Sprache" der Topos von Graphen viel anfangen kann.
Meine Frage ist, hat jemand diese Vision buchstäblich in einem Theorembeweiser verwirklicht ? Wenn ich zum Beispiel zeige, dass eine Kategorie, die mir wichtig ist, kartesisch geschlossen ist, könnte ich in den "internen Modus" wechseln, in dem ich die Lambda-Kalkül-Syntax (mit einigen modellspezifischen Axiomen) schreibe, und dann in den "externen Modus" zurückkehren. und sie als Objekte in meinem Modell manipulieren?
Im Extremfall würde ich sogar Topos-Theorie und Logik höherer Ordnung wollen, damit ich meine schrittindizierten logischen Beziehungen ohne Schritte schreiben oder klassische Mechanik mit einem Theorembeweiser unter Verwendung von SDG unterrichten kann. Dies scheint mir eine sehr wirkungsvolle Idee zu sein, da jemand die Theorie des erweiterungsabhängigen Typs einmal implementieren und nette Werkzeuge bereitstellen und sie dann mit ganz anderen Anwendungen verwenden könnte, wie oben beschrieben.