Matching Funds - Tirol
Wissenschaftsdisziplinen
Informatik (50%); Mathematik (50%)
Keywords
-
Theorem Proving,
Certification,
Term Rewriting,
Termination,
Confluence,
Completion
Termersetzung ist ein einfaches aber dennoch ausdrucksstarkes Berechenbarkeitsmodel, welches zu großen Teilen der deklarativen Pogrammierung sowie dem computerunterstützen Beweisen zu Grunde liegt. Außerdem gibt es Methoden welche die Verifikation von Computerprogrammen auf das Nachweisen bestimmter Eigenschaften von entsprechenden Termersetzungssystemen reduzieren. Die beiden wohl wichtigsten Eigenschaften in der Termersetzung sind Konfluenz und Terminierung. Während Terminierung sicherstellt dass es keine Endlosschleifen gibt, garantiert Konfluenz das Berechnungen deterministisch in dem Sinne sind, dass beliebige zwei Berechnungspfade stets wieder vereint werden können. Zusammen implizieren diese beiden Eigenschaften, dass man unabhängig von der gewählten Auswertungsstrategie stets das selbe Resultat für die selbe Eingabe erhält. Terminierende und konfluente Systeme von Ersetzungsregeln sind von besonderem Interesse, da sie Entscheidungsverfahren für ihre jeweilige Gleichungstheorie liefern (wenn man wissen will ob zwei Terme äquivalent sind, muss man diese nur vollständig mit Hilfe der Ersetzungsregeln reduzieren und anschließend auf syntaktische Gleichheit überprüfen). Die sogenannte Vervollständigung, stellt eine Möglichkeit dar um eine gegebene Menge von Gleichungen in eine äquivalente Menge von terminierenden und konfluenten Ersetzungsregeln umzuwandeln. Seit Kurzem ist die Zertifizierung von automatischen Terminierungs- und Konfluenzbeweisen äußerst erfolgreich. Wobei wir mit Zertifizierung die automatische und zuverlässige Verifikation von Beweisen meinen, welche von einem beliebigen externen Programm generiert wurden (z.B. einem automatischen Terminierungs-, Konfluenz-, oder Vervollständigungsprogramm). Der vorherrschende Ansatz in der Zertifizierung kann in zwei Phasen eingeteilt werden: Zuerst formalisiert man die zu Grunde liegende Theorie und die Techniken welche von dem externen Programm verwendet werden mit Hilfe eines Beweisassistenten (z.B. Isabelle/HOL). Danach stellt man für einen gegeben Beweis, der von solch einem Programm erstellt wurde, sicher, dass alle verwendeten Techniken korrekt angewandt wurden. In der ersten Phase überprüft man also, dass die mathematischen Grundlagen der genutzten Techniken im Allgemeinen korrekt sind und dass keine impliziten Annahmen übersehen wurden. In der zweiten Phase stellt man die korrekte Anwendung dieser Techniken auf ein konkretes Problem sicher. Einer der verfügbaren Zertifizierer ist unser Programm CeTA, das automatisch aus unserer Isabelle Formalisierung der Ersetzungstheorie (IsaFoR) generiert wird. Unsere Hauptprojektziele umfassen die folgenden Erweiterungen von IsaFoR und CeTA: (1) Eine Formalisierung der kürzlich vorgestellten Weighted Path Order (WPO). Weiters soll diese auf den Fall von Ersetzung modulo Assoziativität und Kommutativität erweitert werden. (2) CeTA-Unterstützung für Konfluenzbweise von konditionalen Ersetzungssystemen. (3) Eine Formalisierung von Ersetzung und Unifikation modulo Assoziativität und Kommutativität, sowie die Unterstützung sogenannter normalisierter Vervollständigungsbweise durch CeTA. Das Erreichen dieser Ziele wird CeTA auf den neuesten Stand bezüglich der jüngsten Entwicklung von Terminierungs-, Konfluenz-, und Vervollständigungsprogrammen bringen.
Eines der verbreitetsten Hilfsmittel in der Verifikation von Computerprogrammen ist das Anwenden von Gleichungen (zum Beispiel um Teile eines Programms durch andere zu ersetzen die die selben Ergebnisse liefern aber effizienter in der Laufzeit sind). Das Problem mit Gleichung ist, dass man diese immer in zwei Richtungen einsetzen kann, von links nach rechts oder verkehrt herum. Daher kann man beim Anwenden von Gleichungen nie so genau sagen ob man sich seinem Ziel überhaupt nähert und wann man aufhören kann. Dieses Problem wird mit Hilfe der Termersetzung behandelt, in der man Gleichungen durch Regeln ersetzt die nur von links nach rechts anwendbar sind. Zwei der wichtigsten Eigenschaften der resultierenden Termersetzungssysteme sind Terminierung und Konfluenz. Terminierung bedeutet dass es keine Endlosschleifen in der Regelanwendung gibt: man kommt immer irgendwann zu einem Ergebnis auf das keine Regel mehr passt. Und Konfluenz besagt dass egal in welcher Reihenfolge wir Regeln anwenden, wir nichts "kaputt" machen, sondern immer alle Ergebnisse erreichen können. Ein Termersetzungssystem welches beide Eigenschaften erfüllt ist besonders nützlich, da wir dessen Regeln einfach automatisch von einem Computer ausführen lassen können und stets zu einem eindeutigen Ergebnis kommen. Daher sind wir auch an der sogenannten Vervollständigung interessiert, einem Prozess bei dem wir mit Gleichungen anfangen die zum Beispiel ein Computerprogramm mathematisch charakterisieren und deren Erfolg uns ein terminierendes und konfluentes Termersetzungssystem liefert welches alle ursprünglichen Gleichungen erfüllt. Im Projekt "Certification Redux" ging es um die Weiterentwicklung des sogenannten Zertifizierungsansatzes. Dabei handelt es ich um eine generelle Herangehensweise, die dazu dienen soll Eigenschaften von Termersetzungssystemen automatisch zu verifizieren. Hierbei entwickeln wir zwei Arten von Werkzeugen: Zum einen automatische Beweiser, also Programme welche zum Beispiel Terminierung oder Konfluenz eines Termersetzungssystems automatisch überprüfen können und im Falle eines Erfolgs einen entsprechenden Beweise, ein sogenanntes Zertifikat, generieren. Und zum anderen einen Zertifizierer, dessen Aufgabe es ist, die generierten Zertifikate der automatischen Beweiser zu validieren. Nun wäre es jedoch unzureichend, als Zertifizierer einfach ein Computerprogramm zu schreiben das Zertifikate auf Korrektheit überprüfen soll: Warum sollten wir diesem Programm mehr vertrauen als den automatischen Beweisern? Um eine höchstmögliche Verlässlichkeit zu gewährleisten, beweisen wir daher die Korrektheit des Zertifizierers mit Hilfe eines sogenannten Beweisassistenten. Als Resultat unseres Projektes können wir nun Konfluenz von Termersetzungssystemen deren Regeln mit Bedingungen versehen sind automatisch beweisen und zertifizieren. Zusätzlich haben wir die Theorie der Vervollständigung mit Hilfe eines Beweisassistenten erfasst und können nun eine besonders erfolgreiche aber auch komplexe Variante der Vervollständigung, die sogenannte geordnete Vervollständigung zertifizieren. Beide Ergebnisse stellen nützliche Werkzeuge für die Programmverifikation dar.
- Universität Innsbruck - 100%
- Evelyne Contejean, Université Paris Sud - Frankreich
- Akihisa Yamada, National Institute of Advanced Science and Technology - Japan
- Salvador Lucas Alba, Universitat Politècnica de València - Spanien
Research Output
- 110 Zitationen
- 46 Publikationen
-
2019
Titel Abstract Completion, Formalized Typ Journal Article Autor Hirokawa N Journal Logical Methods in Computer Science Seiten 19:1-19:42 Link Publikation -
2019
Titel The Termination and Complexity Competition DOI 10.1007/978-3-030-17502-3_10 Typ Book Chapter Autor Giesl J Verlag Springer Nature Seiten 156-166 -
2019
Titel nonreach – A Tool for Nonreachability Analysis DOI 10.1007/978-3-030-17462-0_19 Typ Book Chapter Autor Meßner F Verlag Springer Nature Seiten 337-343 -
2019
Titel Reachability Analysis for Termination and Confluence of Rewriting DOI 10.1007/978-3-030-17462-0_15 Typ Book Chapter Autor Sternagel C Verlag Springer Nature Seiten 262-278 -
2019
Titel Certified ACKBO DOI 10.1145/3293880.3294099 Typ Conference Proceeding Abstract Autor Lochmann A Seiten 144-151 Link Publikation -
2021
Titel Multi-Dimensional Interpretations for Termination of Term Rewriting DOI 10.1007/978-3-030-79876-5_16 Typ Book Chapter Autor Yamada A Verlag Springer Nature Seiten 273-290 -
2022
Titel Spatial patterns and determinants of avocado frontier dynamics in Mexico DOI 10.1007/s10113-022-01883-6 Typ Journal Article Autor Ramírez-Mejía D Journal Regional Environmental Change Seiten 28 Link Publikation -
2019
Titel Certified Equational Reasoning via Ordered Completion DOI 10.1007/978-3-030-29436-6_30 Typ Book Chapter Autor Sternagel C Verlag Springer Nature Seiten 508-525 -
2019
Titel Abstract Completion, Formalized DOI 10.23638/lmcs-15(3:19)2019 Typ Journal Article Autor Hirokawa N Journal Logical Methods in Computer Science Link Publikation -
2020
Titel A Mechanized Proof of Higman’s Lemma by Open Induction DOI 10.1007/978-3-030-30229-0_12 Typ Book Chapter Autor Sternagel C Verlag Springer Nature Seiten 339-350 -
2016
Titel The Z Property Typ Other Autor Felgenhauer B Konferenz Archive of Formal Proof Link Publikation -
2016
Titel CoCo 2016 Participant: ConCon Typ Other Autor Middeldorp A Konferenz International Workshop on Confluence -
2016
Titel CoCo 2016 Participant: CeTA 2.28 Typ Other Autor Nagele J Konferenz International Workshop on Confluence -
2016
Titel TTT2 @ TermComp'2016 Typ Other Autor Sternagel C Konferenz International Workshop on Termination -
2016
Titel AC Dependency Pairs Revisited DOI 10.4230/lipics.csl.2016.8 Typ Conference Proceeding Abstract Autor Sternagel C Konferenz LIPIcs, Volume 62, CSL 2016 Seiten 8:1 - 8:16 Link Publikation -
2016
Titel Certifying Confluence of Almost Orthogonal CTRSs via Exact Tree Automata Completion DOI 10.4230/lipics.fscd.2016.29 Typ Conference Proceeding Abstract Autor Sternagel C Konferenz LIPIcs, Volume 52, FSCD 2016 Seiten 29:1 - 29:16 Link Publikation -
2016
Titel Formalized Confluence of Quasi-Decreasing, Strongly Deterministic Conditional TRSs DOI 10.48550/arxiv.1609.03341 Typ Preprint Autor Sternagel T -
2016
Titel A Short Mechanized Proof of the Church-Rosser Theorem by the Z-property for the $\lambda\beta$-calculus in Nominal Isabelle DOI 10.48550/arxiv.1609.03139 Typ Preprint Autor Nagele J -
2016
Titel The Generalized Subterm Criterion in TTT2 DOI 10.48550/arxiv.1609.03432 Typ Preprint Autor Sternagel C -
2016
Titel A Characterization of Quasi-Decreasingness DOI 10.48550/arxiv.1609.03345 Typ Preprint Autor Sternagel T -
2017
Titel Foundational (Co)datatypes and (Co)recursion for Higher-Order Logic DOI 10.1007/978-3-319-66167-4_1 Typ Book Chapter Autor Biendarra J Verlag Springer Nature Seiten 3-21 -
2017
Titel HOLCF-Prelude Typ Other Autor Breitner J Konferenz Archive of Formal Proof Link Publikation -
2017
Titel Homogeneous Linear Diophantine Equations Typ Other Autor Meßner F Konferenz Archive of Formal Proof Link Publikation -
2017
Titel CoCo 2017 Participant: CeTA 2.31 Typ Other Autor Nagele J Konferenz International Workshop on Confluence -
2017
Titel CoCo 2017 Participant: ConCon 1.5 Typ Other Autor Sternagel C Konferenz International Workshop on Confluence -
2017
Titel Formalized Ground Completion Typ Other Autor Middeldorp A Konferenz International Workshop on Confluence -
2017
Titel Infinite Runs in Abstract Completion DOI 10.4230/lipics.fscd.2017.19 Typ Conference Proceeding Abstract Autor Hirokawa N Konferenz LIPIcs, Volume 84, FSCD 2017 Seiten 19:1 - 19:16 Link Publikation -
2017
Titel Foundational (Co)datatypes and (Co)recursion for Higher-Order Logic DOI 10.5281/zenodo.3228084 Typ Other Autor Biendarra J Link Publikation -
2017
Titel Foundational (Co)datatypes and (Co)recursion for Higher-Order Logic DOI 10.5281/zenodo.3228083 Typ Other Autor Biendarra J Link Publikation -
2017
Titel Certified Non-Confluence with ConCon 1.5 DOI 10.48550/arxiv.1709.05162 Typ Preprint Autor Sternagel T -
2018
Titel CoCo 2018 Participant: CeTA 2.33 Typ Other Autor Felgenhauer B -
2018
Titel TermComp 2018 Participant: TTT2 Typ Other Autor Meßner F Konferenz International Workshop on Termination -
2018
Titel CoCo 2018 Participant: ConCon 1.5 Typ Other Autor Sternagel C Konferenz International Workshop on Confluence -
2018
Titel First-Order Terms Typ Other Autor Sternagel C Konferenz Archive of Formal Proof Link Publikation -
2016
Titel Level-Confluence of 3-CTRSs in Isabelle/HOL DOI 10.48550/arxiv.1602.07115 Typ Preprint Autor Sternagel C -
2015
Titel CoCo 2015 Participant: CeTA 2.21 Typ Other Autor Nagele J Konferenz International Workshop on Confluence -
2015
Titel Deriving class instances for datatypes Typ Other Autor Sternagel C Konferenz Archive of Formal Proof Link Publikation -
2015
Titel Deriving Comparators and Show Functions in Isabelle/HOL DOI 10.1007/978-3-319-22102-1_28 Typ Book Chapter Autor Sternagel C Verlag Springer Nature Seiten 421-437 -
2017
Titel Certifying Confluence of Quasi-Decreasing Strongly Deterministic Conditional Term Rewrite Systems DOI 10.1007/978-3-319-63046-5_26 Typ Book Chapter Autor Sternagel C Verlag Springer Nature Seiten 413-431 Link Publikation -
2018
Titel A Formally Verified Solver for Homogeneous Linear Diophantine Equations DOI 10.1007/978-3-319-94821-8_26 Typ Book Chapter Autor Meßner F Verlag Springer Nature Seiten 441-458 -
2018
Titel The remote_build Tool DOI 10.48550/arxiv.1805.07195 Typ Preprint Autor Sternagel C -
2018
Titel Certified Ordered Completion DOI 10.48550/arxiv.1805.10090 Typ Preprint Autor Sternagel C -
2018
Titel Abstract Completion, Formalized DOI 10.48550/arxiv.1802.08437 Typ Preprint Autor Hirokawa N -
2018
Titel TTT2 with Termination Templates for Teaching DOI 10.48550/arxiv.1806.05040 Typ Preprint Autor Schöpf J -
2022
Titel Tuple Interpretations for Termination of Term Rewriting DOI 10.1007/s10817-022-09640-4 Typ Journal Article Autor Yamada A Journal Journal of Automated Reasoning Seiten 667-688 -
2015
Titel Certification of Complexity Proofs using CeTA DOI 10.4230/lipics.rta.2015.23 Typ Conference Proceeding Abstract Autor Avanzini M Konferenz LIPIcs, Volume 36, RTA 2015 Seiten 23 - 39 Link Publikation