Beweise zwischen logischen Systemen übersetzen
Eine neue Methode, um formale Beweise zwischen verschiedenen Beweisassistenten zu teilen.
― 5 min Lesedauer
Inhaltsverzeichnis
- Herausforderungen bei der Beweisübersetzung
- Ein neuer Ansatz: Predikativisierungs-Transformation
- Vereinheitlichungsprobleme
- Implementierung der Transformation
- Übersetzung von Arithmetikbibliotheken
- Logische Rahmenwerke und Interoperabilität
- Beiträge zur Vereinheitlichungstheorie
- Zukünftige Arbeiten und Auswirkungen
- Originalquelle
- Referenz Links
Formale Beweise sind ein wichtiger Teil der Mathematik und Informatik. Sie sorgen dafür, dass Theoreme und Algorithmen korrekt sind. Allerdings kann das Erstellen dieser Beweise viel Zeit und Mühe kosten. Daher ist es entscheidend, Wege zu finden, diese Beweise zu teilen, damit andere nicht die ganze Arbeit noch einmal machen müssen. Das Teilen wird kompliziert, wenn man zwischen verschiedenen Beweisassistenten wechselt, die unterschiedliche logische Systeme verwenden.
Herausforderungen bei der Beweisübersetzung
Beweisassistenten sind Werkzeuge, die beim Schreiben und Überprüfen von Beweisen helfen. Jeder Assistent hat seine eigene Art, mit Logik umzugehen, was das Teilen von Beweisen kompliziert machen kann. Wenn wir Beweise von einem Assistenten auf einen anderen übersetzen wollen, stossen wir oft auf Probleme, weil die beiden nicht kompatibel sind. Besonders einige Assistenten verwenden impredikative Logiken, die flexiblere Definitionen und Referenzen ermöglichen, während andere predikative Logiken nutzen, die starrer sind.
Impredikative Logiken erlauben es Aussagen, auf Sammlungen zu verweisen, die sich selbst einschliessen. Das kann das Schreiben von Beweisen erleichtern, aber es kann auch die Übersetzung in Systeme verhindern, die solche Konzepte nicht unterstützen. Das führt zu einer entscheidenden Frage: Wie können wir Beweise von impredikativen Systemen in predikative Systeme übersetzen, wenn die Verwendung von Impredikativität nicht wesentlich ist?
Ein neuer Ansatz: Predikativisierungs-Transformation
Ein neuer Ansatz besteht darin, eine Transformation zu schaffen, die Beweise, die in einem impredikativen System geschrieben sind, in eine Form umformuliert, die in einem predikativen funktionieren kann. Die Idee ist, die zusätzlichen Universumsinformationen aus dem ursprünglichen Beweis zu entfernen und ihn in eine allgemeinere Form zu bringen, die in den Rahmen von prädikativen Logiken passt.
Diese Transformation basiert auf einer Art Polymorphismus, der es ermöglicht, ein Konzept auf verschiedene Weisen darzustellen. Der Vorteil dieser Methode ist, dass sie die Tür zu vielen Beweisübersetzungen öffnet, die nicht grundlegend von den flexibleren Aspekten der impredikativen Logik abhängen.
Vereinheitlichungsprobleme
Ein entscheidender Teil dieser Transformation besteht darin, Vereinheitlichungsprobleme zu lösen. Vereinheitlichung bezieht sich auf den Prozess, einen Weg zu finden, um verschiedene logische Aussagen kompatibel zu machen. Bei der Übersetzung von Beweisen müssen wir oft herausfinden, wann zwei Seiten einer Gleichung unter bestimmten Bedingungen gleich sein können.
Um diese Vereinheitlichungsprobleme anzugehen, müssen wir zuerst die Bedingungen verstehen, unter denen bestimmte Gleichungen vereinheitlicht werden können. Eine vollständige Charakterisierung dieser Bedingungen hilft uns, einen Algorithmus zu entwerfen, der die Vereinheitlichung effektiv angehen kann.
Der Algorithmus verwendet eine Strategie, die es ihm ermöglicht, einige Entscheidungen aufzuschieben, während er andere zuerst löst, was zu neuen Möglichkeiten der Vereinheitlichung führen kann. Diese Methode bedeutet, dass wir mehr Fortschritte bei der Lösung der Probleme erzielen können, ohne stecken zu bleiben.
Implementierung der Transformation
Die vorgeschlagene Transformation wurde in einem Tool namens Predicativize implementiert. Dieses Tool nutzt den Algorithmus, den wir entwickelt haben, um Beweise halbautomatisch zu übersetzen. Durch die Implementierung dieser Transformation konnten wir erfolgreich eine Vielzahl von Beweisen von einem Beweisassistenten zu einem anderen übersetzen, insbesondere von einer komplexen Beweisbibliothek zu einem einfacheren prädikativen Rahmen.
Übersetzung von Arithmetikbibliotheken
Eine der bedeutenden Errungenschaften dieser Arbeit war die Übersetzung einer Arithmetikbibliothek von einem Beweisassistenten zu einem anderen. Die ursprüngliche Bibliothek enthielt wichtige mathematische Ergebnisse, wie den kleinen Satz von Fermat und das Bertrand-Postulat. Durch die Nutzung unseres Tools konnten wir diese Beweise in einem anderen Beweisassistenten für Nutzer verfügbar machen, die auf prädikative Systeme angewiesen sind.
Der Übersetzungsprozess stellte einige Herausforderungen dar, insbesondere hinsichtlich der spezifischen rekursiven Funktionen und der induktiven Typen, die in den ursprünglichen Beweisen verwendet wurden. Durch sorgfältiges Management von Einschränkungen und Umschreibungsregeln während der Übersetzung haben wir jedoch eine erfolgreiche Umwandlung erreicht, die die Integrität der ursprünglichen Beweise bewahrt hat.
Logische Rahmenwerke und Interoperabilität
Der Bedarf nach einem gemeinsamen Rahmen, der verschiedene Beweisassistenten unterbringen kann, ist entscheidend. Durch die Verwendung eines logischen Rahmens können wir die Logiken verschiedener Beweisassistenten einheitlich definieren. Dies ermöglicht es, die logischen Transformationen, die für das Teilen von Beweisen notwendig sind, standardisiert zu definieren und die Last der Anpassung der Übersetzungen an spezifische Systeme zu verringern.
In dieser Arbeit haben wir auch einen Rahmen genutzt, der die Kodierung der Logiken vieler Beweisassistenten ermöglicht. Dies hat sich als effektiv erwiesen, um Transformationen zu erleichtern und hat den Grundstein für die Schaffung eines stärker vernetzten Ökosystems von Beweisassistenten gelegt.
Beiträge zur Vereinheitlichungstheorie
Unsere Forschung trägt auch zum umfassenderen Verständnis der Vereinheitlichung in logischen Systemen bei. Durch die Bereitstellung einer vollständigen Charakterisierung der Vereinheitlichungsbedingungen für Universumslevel können wir allgemeinere Fälle erkunden und Lösungen entwickeln, die an verschiedene logische Rahmen angepasst werden können.
Insbesondere haben wir spezifische Formen von Gleichungen identifiziert, die einen allgemeinsten Vereinheitlicher (g.v.) ermöglichen, was eine entscheidende Komponente in vielen logischen Aufgaben darstellt. Dieses Verständnis hilft, Vereinheitlichungsalgorithmen zu verbessern und bietet eine Grundlage für zukünftige Forschung in diesem Bereich.
Zukünftige Arbeiten und Auswirkungen
In der Zukunft gibt es mehrere Möglichkeiten zur weiteren Erforschung. Ein Schwerpunkt wird darauf liegen, die Benutzerintervention während des Übersetzungsprozesses zu minimieren. Derzeit erfordern bestimmte Schritte, insbesondere solche, die rekursive Funktionen betreffen, manuelle Eingaben, was ein Engpass bei der Übersetzung grösserer Bibliotheken sein kann.
Ein weiteres Ziel ist es, den Vereinheitlichungsalgorithmus weiter zu verfeinern, um sicherzustellen, dass er komplexeren Beweissystemen Rechnung trägt. Die Erkenntnisse aus diesen Bemühungen könnten zu einer noch grösseren Interoperabilität zwischen Beweisassistenten führen und es Mathematikern und Informatikern erleichtern, die Arbeit anderer zu teilen und darauf aufzubauen.
Zusammenfassend haben die Bemühungen, ein System zur Übersetzung formaler Beweise zu schaffen, vielversprechende Ergebnisse gezeigt, um komplexe mathematische Arbeiten zugänglicher zu machen. Indem wir die Lücken zwischen verschiedenen logischen Rahmen schliessen, eröffnen wir neue Möglichkeiten für Zusammenarbeit und Innovation in mathematischen Beweisen und formalen Verifikationen.
Titel: Sharing proofs with predicative theories through universe-polymorphic elaboration
Zusammenfassung: As the development of formal proofs is a time-consuming task, it is important to devise ways of sharing the already written proofs to prevent wasting time redoing them. One of the challenges in this domain is to translate proofs written in proof assistants based on impredicative logics to proof assistants based on predicative logics, whenever impredicativity is not used in an essential way. In this paper we present a transformation for sharing proofs with a core predicative system supporting prenex universe polymorphism. It consists in trying to elaborate each term into a predicative universe-polymorphic term as general as possible. The use of universe polymorphism is justified by the fact that mapping each universe to a fixed one in the target theory is not sufficient in most cases. During the elaboration, we need to solve unification problems in the equational theory of universe levels. In order to do this, we give a complete characterization of when a single equation admits a most general unifier. This characterization is then employed in a partial algorithm which uses a constraint-postponement strategy for trying to solve unification problems. The proposed translation is of course partial, but in practice allows one to translate many proofs that do not use impredicativity in an essential way. Indeed, it was implemented in the tool Predicativize and then used to translate semi-automatically many non-trivial developments from Matita's library to Agda, including proofs of Bertrand's Postulate and Fermat's Little Theorem, which (as far as we know) were not available in Agda yet.
Autoren: Thiago Felicissimo, Frédéric Blanqui
Letzte Aktualisierung: 2024-09-09 00:00:00
Sprache: English
Quell-URL: https://arxiv.org/abs/2308.15465
Quell-PDF: https://arxiv.org/pdf/2308.15465
Lizenz: https://creativecommons.org/licenses/by/4.0/
Änderungen: Diese Zusammenfassung wurde mit Unterstützung von AI erstellt und kann Ungenauigkeiten enthalten. Genaue Informationen entnehmen Sie bitte den hier verlinkten Originaldokumenten.
Vielen Dank an arxiv für die Nutzung seiner Open-Access-Interoperabilität.
Referenz Links
- https://github.com/Deducteam/predicativize
- https://q.uiver.app/#q=WzAsNCxbMCwwLCJ0Il0sWzEsMCwidSJdLFsxLDEsInUnIl0sWzAsMSwiXFxleGlzdHMgdCciXSxbMSwyXSxbMCwzLCIiLDAseyJzdHlsZSI6eyJib2R5Ijp7Im5hbWUiOiJkYXNoZWQifX19XSxbMywyLCJcXHNpbWVxIiwxLHsic3R5bGUiOnsiYm9keSI6eyJuYW1lIjoibm9uZSJ9LCJoZWFkIjp7Im5hbWUiOiJub25lIn19fV0sWzAsMSwiXFxzaW1lcSIsMSx7InN0eWxlIjp7ImJvZHkiOnsibmFtZSI6Im5vbmUifSwiaGVhZCI6eyJuYW1lIjoibm9uZSJ9fX1dXQ==
- https://github.com/Deducteam/predicativize/
- https://github.com/thiagofelicissimo/matita_lib_in_agda