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: https://drops.dagstuhl.de/opus/volltexte/2022/16724/
Go to the corresponding LIPIcs Volume Portal


Gengelbach, Arve ; ├ůman Pohjola, Johannes

A Verified Cyclicity Checker: For Theories with Overloaded Constants

pdf-format:
LIPIcs-ITP-2022-15.pdf (0.8 MB)


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


DROPS-Home | Fulltext Search | Imprint | Privacy Published by LZI