skip to main content
10.1145/2676724.2693175acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
research-article

Correctness of Isabelle's Cyclicity Checker: Implementability of Overloading in Proof Assistants

Published:13 January 2015Publication History

ABSTRACT

Overloaded constant definitions are an important feature of the proof assistant Isabelle because they allow us to provide Haskell-like type classes to our users. There has been an ongoing question as to under which conditions we can practically guarantee that overloading is a safe theory extension, i.e., preserves consistency or is conservative. The natural condition is that a rewriting system generated by overloaded definitions must always terminate. The current system imposes restrictions on accepted overloaded definitions and decides the termination by an algorithm that is part of the trusted code base of Isabelle. Therefore we aim to prove its correctness.

Thanks to our work we discovered not only completeness shortcomings but also a correctness issue---we could prove False. In our paper we present a modified version of the algorithm together with a proof of completeness and correctness of it.

Although our work deals with Isabelle, our paper provides a more general result: how to practically implement overloading in proof assistants.

References

  1. URL http://www21.in.tum.de/~kuncar/documents/issues.Google ScholarGoogle Scholar
  2. A. Grabowski, A. Kornilowicz, and A. Naumowicz. Mizar in a Nut- shell. J. Formalized Reasoning, 3(2):153--245, 2010.Google ScholarGoogle Scholar
  3. F. Haftmann and M. Wenzel. Constructive Type Classes in Isabelle. In T. Altenkirch and C. McBride, editors, TYPES, volume 4502 of Lecture Notes in Computer Science, pages 160--174. Springer, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. T. Nipkow and Z. Qian. Reduction and Unification in Lambda Calculi with Subtypes. In D. Kapur, editor, CADE, volume 607 of Lecture Notes in Computer Science, pages 66--78. Springer, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. S. Obua. Checking Conservativity of Overloaded Definitions in Higher- Order Logic. In F. Pfenning, editor, RTA, volume 4098 of Lecture Notes in Computer Science, pages 212--226. Springer, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. M. Sozeau and N. Oury. First-Class Type Classes. In O. A. Mohamed, C. M. Muñoz, and S. Tahar, editors, Theorem Proving in Higher Order Logics, volume 5170 of Lecture Notes in Computer Science, pages 278--293. Springer, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. M. Wenzel. Type Classes and Overloading in Higher-Order Logic. In E. L. Gunter and A. P. Felty, editors, Theorem Proving in Higher Order Logics, volume 1275 of Lecture Notes in Computer Science, pages 307--322. Springer, 1997. Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Correctness of Isabelle's Cyclicity Checker: Implementability of Overloading in Proof Assistants

                Recommendations

                Comments

                Login options

                Check if you have access through your login credentials or your institution to get full access on this article.

                Sign in
                • Published in

                  cover image ACM Conferences
                  CPP '15: Proceedings of the 2015 Conference on Certified Programs and Proofs
                  January 2015
                  192 pages
                  ISBN:9781450332965
                  DOI:10.1145/2676724
                  • Program Chairs:
                  • Xavier Leroy,
                  • Alwen Tiu

                  Copyright © 2015 ACM

                  Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

                  Publisher

                  Association for Computing Machinery

                  New York, NY, United States

                  Publication History

                  • Published: 13 January 2015

                  Permissions

                  Request permissions about this article.

                  Request Permissions

                  Check for updates

                  Qualifiers

                  • research-article

                  Acceptance Rates

                  CPP '15 Paper Acceptance Rate18of26submissions,69%Overall Acceptance Rate18of26submissions,69%

                  Upcoming Conference

                  POPL '25

                PDF Format

                View or Download as a PDF file.

                PDF

                eReader

                View online with eReader.

                eReader