License: Creative Commons Attribution 4.0 International license (CC BY 4.0)
When quoting this document, please refer to the following
DOI: 10.4230/LIPIcs.ITP.2022.15
URN: urn:nbn:de:0030-drops-167240
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2022/16724/
Gengelbach, Arve ;
Åman Pohjola, Johannes
A Verified Cyclicity Checker: For Theories with Overloaded Constants
Abstract
Non-terminating (dependencies of) definitions can lead to logical contradictions, for example when defining a boolean constant as its own negation. Some proof assistants thus detect and disallow non-terminating definitions. Termination is generally undecidable when constants may have different definitions at different type instances, which is called (ad-hoc) overloading. The Isabelle/HOL proof assistant supports overloading of constant definitions, but relies on an unclear foundation for this critical termination check. With this paper we aim to close this gap: we present a mechanised proof that, for restricted overloading, non-terminating definitions are of a detectable cyclic shape, and we describe a mechanised algorithm with its correctness proof. In addition we demonstrate this cyclicity checker on parts of the Isabelle/HOL main library. Furthermore, we introduce the first-ever formally verified kernel of a proof assistant for higher-order logic with overloaded definitions. All our results are formalised in the HOL4 theorem prover.
BibTeX - Entry
@InProceedings{gengelbach_et_al:LIPIcs.ITP.2022.15,
author = {Gengelbach, Arve and \r{A}man Pohjola, Johannes},
title = {{A Verified Cyclicity Checker: For Theories with Overloaded Constants}},
booktitle = {13th International Conference on Interactive Theorem Proving (ITP 2022)},
pages = {15:1--15:18},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-95977-252-5},
ISSN = {1868-8969},
year = {2022},
volume = {237},
editor = {Andronick, June and de Moura, Leonardo},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/opus/volltexte/2022/16724},
URN = {urn:nbn:de:0030-drops-167240},
doi = {10.4230/LIPIcs.ITP.2022.15},
annote = {Keywords: cyclicity, non-termination, ad-hoc overloading, definitions, Isabelle/HOL}
}
Keywords: |
|
cyclicity, non-termination, ad-hoc overloading, definitions, Isabelle/HOL |
Collection: |
|
13th International Conference on Interactive Theorem Proving (ITP 2022) |
Issue Date: |
|
2022 |
Date of publication: |
|
03.08.2022 |
Supplementary Material: |
|
Software (Source Code): https://code.cakeml.org/tree/master/candle/overloading |