Offene Induktion, Kruskals Theorem und Einfache Terminierung
Open Induction, The Tree Theorem, and Simple Termination
Wissenschaftsdisziplinen
Informatik (40%); Mathematik (60%)
Keywords
-
Theorem Proving,
Formalization,
Open Induction,
Constructive Proofs
Terminierung nachzuweisen ist eine wichtige Komponente der Programmverifikation. Um wiederverwendbare und abstrakte Resultate zu ermöglichen, verwendet man für gewöhnlich, an Stelle einer bestimmten Programmiersprache, ein mathematisches Model der Berechenbarkeit. Für dieses Projekt handelt es sich dabei um die Termersetzung. Heutzutage gibt es viele Werkzeuge die Terminierung von Termersetzung automatisch beweisen können. Doch können diese Werkzeuge fehlerhaft sein. Daher benötigt man die Möglichkeit einer unabhängigen und verlässlichen Zertifizierung ihrer Resultate. Dies wiederum, wird von sogenannten Zertifizierern, Werkzeugen welche automatisch überprüfen können, ob ein von einem Terminierungswerkzeug erzeugter Beweis korrekt ist, gemacht. Die hohe Zuverlässigkeit solcher Zertifizierer kommt daher, dass diese meist auf Formalisierungen der zu Grunde liegenden Theorie mit Hilfe von Beweisassistenten, wie Isabelle/HOL, aufgebaut sind. Eine dieser Formalisierungen ist IsaFoR. Natürlich können Isabelle Formalisierungen nur Fakten verwenden, welche bereits zuvor in Isabelle formalisiert wurden. Aus diesem Grund ist eines der Projektziele, die mathematischen Grundlagen und Fakten, welche Isabelle Benutzern zur Verfügung stehen, zu erweitern. Als konkrete neue Beiträge denken wir hier an eine Formalisierung von (möglicherweise unendlichen) Bäumen und darauf aufbauend, einen Beweis des berühmten Baum Theorems von Kruskal, in Isabelle. Das Baum Theorem wiederum, wird es erlauben, die Verbindung von einfacher Terminierung zu Terminierung herzustellen: jedes einfach terminierende Termersetzungssystem ist auch terminierend. Dieses Resultat wird dann verwendet werden, um die Knuth-Bendix Ordnung (und möglicherweise andere Simplifizierungsordnungen) in IsaFoR einzubauen, wodurch die Anzahl der Terminierungsbeweise, welche automatisch zertifiziert werden können, steigt. Wie dem auch sei, das Baum Theorem ist nicht nur hinsichtlich einfacher Terminierung interessant, sondern auch in Hinblick auf seinen algorithmischen Inhalt. Diesbezüglich werden wir das Prinzip der Offenen Induktion in Isabelle formalisieren, um es anschließend für einen alternativen und konstruktiveren Beweis des Baum Theorems heranzuziehen. Außerdem werden wir nach anderen Theoremen suchen, für die das Prinzip der Offenen Induktion einen formalisierten Beweis ermöglichen könnte. Abschließend sei noch bemerkt, dass Offene Induktion auch verwendet werden kann um totale Funktionen zu definieren. Da Beweisassistenten die auf Logik höherer Ordnung aufbauen (so wie Isabelle) verlangen, dass alle definierten Funktionen total sind, werden wir die Offene Induktion verwenden, um Isabelles Funktionspaket um Funktionen zu erweitern, welche durch Offene Induktion definiert sind.
Die Haupterrungenschaft dieses Projekts ist ein computergestützter Beweis von Kruskals Theorem, welches ein (zumindest unter Mathematikern) berühmtes Resultat darstellt. Dieses Theorem beschäftigt sich mit dem Begriff eines Baums, einer mathematischen Struktur die zum Beispiel verwendet wird um beliebige mathematische Ausdrücke oder Syntax beliebiger Programmiersprachen zu modellieren. Nun zeigt Kruskals Theorem dass in jeder unendlichen Sequenz von Bäumen wie zum Beispiel durch eine Endlosschleife in einem Computerprogramm verursacht die einzelnen Elemente immer komplizierter werden. Diese Tatsache wiederum, kann verwendet werden um Endlosschleifen für eine bestimmte Klasse von Computerprogrammen vollständig auszuschließen und damit deren Terminierung zu beweisen. Kruskals Theorem wurde bereits 1960 zum ersten Mal bewiesen, doch konnte im Rahmen dieses Projektes der erste computergestützte Beweis erbracht werden. Wobei computergestützt in diesem Fall bedeutet, dass der Beweis mit Hilfe eines Beweisassistenten erbracht wurde, einem Computerprogramm welches es ermöglicht mathematische Beweise zu verfassen und dabei jeden Beweisschritt rigoros überprüft. Dies führt zu nahezu 100 %er Verlässlichkeit und ebnet den Weg um Kruskals Theorem auch als Teil von anderen computergestützten Verifikationswerkzeugen anzuwenden. Letztendlich wird dies zu einer äußerst zuverlässigen und mächtigen automatischen Sammlung von Werkzeugen um die Korrektheit von Computerprogrammen zu beweisen führen.Unser Zertifizierer CeTA stellt einen wichtigen Schritt auf dem Weg zu diesem Ziel dar. CeTA ist ein verifiziertes Computerprogramm, entwickelt mit Hilfe eines Beweisassistenten, welches die Ausgabe von einigen existierenden Termination Tools (automatische Werkzeuge die versuchen die Terminierung eines gegeben Programms zu beweisen) zertifizieren kann. Diese Termination Tools sind selbst in konventionellen Programmiersprachen verfasst und damit anfällig bezüglich derselben Art von Fehlern die wir ursprünglich vermeiden wollten; daher auch der Bedarf an einem Zertifizierer wie CeTA. Als Teil dieses Projektes wurde CeTAs Leistungsfähigkeit unter Verwendung des oben erwähnten Theorems von Kruskal gesteigert und ein generelles Rahmenwerk zur Entwicklung von Zertifizieren extrapoliert.
Research Output
- 52 Zitationen
- 26 Publikationen
-
2014
Titel Certified Kruskal's Tree Theorem. Typ Journal Article Autor Sternagel C -
2014
Titel The Certification Problem Format DOI 10.48550/arxiv.1410.8220 Typ Preprint Autor Sternagel C -
2014
Titel The Certification Problem Format DOI 10.4204/eptcs.167.8 Typ Journal Article Autor Sternagel C Journal Electronic Proceedings in Theoretical Computer Science Seiten 61-72 Link Publikation -
2014
Titel Certification monads. Typ Journal Article Autor Sternagel C -
2010
Titel Rezension zu: Haag Antje (2010). Versuch über die moderne Seele Chinas: Eindrücke einer Psychoanalytikerin. Typ Journal Article Autor Klötzbücher S -
2012
Titel Getting Started with Isabelle/jEdit in 2018 DOI 10.48550/arxiv.1208.1368 Typ Preprint Autor Sternagel C -
2012
Titel Recording Completion for Finding and Certifying Proofs in Equational Logic DOI 10.48550/arxiv.1208.1597 Typ Preprint Autor Sternagel T -
2012
Titel A Locale for Minimal Bad Sequences DOI 10.48550/arxiv.1208.1366 Typ Preprint Autor Sternagel C -
2012
Titel Proof Pearl—A Mechanized Proof of GHC’s Mergesort DOI 10.1007/s10817-012-9260-7 Typ Journal Article Autor Sternagel C Journal Journal of Automated Reasoning Seiten 357-370 Link Publikation -
2014
Titel Formalizing Monotone Algebras for Certification of Termination and Complexity Proofs DOI 10.1007/978-3-319-08918-8_30 Typ Book Chapter Autor Sternagel C Verlag Springer Nature Seiten 441-455 -
2014
Titel Imperative insertion sort. Typ Journal Article Autor Sternagel C -
2014
Titel Xml. Typ Journal Article Autor Sternagel C -
2014
Titel A New and Formalized Proof of Abstract Completion DOI 10.1007/978-3-319-08970-6_19 Typ Book Chapter Autor Hirokawa N Verlag Springer Nature Seiten 292-307 -
2015
Titel A Framework for Developing Stand-Alone Certifiers DOI 10.1016/j.entcs.2015.04.004 Typ Journal Article Autor Sternagel C Journal Electronic Notes in Theoretical Computer Science Seiten 51-67 Link Publikation -
2013
Titel Certified HLints with Isabelle/HOLCF-Prelude. Typ Conference Proceeding Abstract Autor Breitner J Konferenz Proceedings of the 1st International Workshop on Haskell and Rewriting Techniques, 2013 -
2013
Titel Formalizing Knuth-Bendix Orders and Knuth-Bendix Completion. Typ Journal Article Autor Sternagel C Journal Proceedings of the 24th International Conference on Rewriting Techniques and Applications -
2013
Titel Certified HLints with Isabelle/HOLCF-Prelude DOI 10.48550/arxiv.1306.1340 Typ Preprint Autor Breitner J -
2013
Titel A Haskell Library for Term Rewriting DOI 10.48550/arxiv.1307.2328 Typ Preprint Autor Felgenhauer B -
2013
Titel Certified Kruskal’s Tree Theorem DOI 10.1007/978-3-319-03545-1_12 Typ Book Chapter Autor Sternagel C Verlag Springer Nature Seiten 178-193 -
2012
Titel Recording completion for finding and certifying proofs in equational logic. Typ Conference Proceeding Abstract Autor Sternagel C Et Al Konferenz Proceedings of the 1st International Workshop on Confluence -
2012
Titel Getting started with Isabelle/jEdit. Typ Conference Proceeding Abstract Autor Sternagel C Konferenz Proceedings of the Isabelle Users Workshop 2012 -
2012
Titel A locale for minimal bad sequences. Typ Conference Proceeding Abstract Autor Sternagel C Konferenz Proceedings of the Isabelle Users Workshop 2012 -
2012
Titel Well-Quasi-Orders. Typ Journal Article Autor Sternagel C -
2012
Titel Certification of Nontermination Proofs DOI 10.1007/978-3-642-32347-8_18 Typ Book Chapter Autor Sternagel C Verlag Springer Nature Seiten 266-282 -
2012
Titel Open Induction. Typ Journal Article Autor Ogawa M -
2012
Titel A relative dependency pair framework. Typ Conference Proceeding Abstract Autor Sternagel C Konferenz Proceedings of the 12th Workshop on Termination