Abstract
Definitions are traditionally considered to be a safe mechanism for introducing concepts on top of a logic known to be consistent. In contrast to arbitrary axioms, definitions should in principle be treatable as a form of abbreviation, and thus compiled away from the theory without losing provability. In particular, definitions should form a conservative extension of the pure logic. These properties are crucial for modern interactive theorem provers, since they ensure the consistency of the logic, as well as a valid environment for total/certified functional programming.
We prove these properties, namely, safety and conservativity, for Higher-Order Logic (HOL), a logic implemented in several mainstream theorem provers and relied upon by thousands of users. Some unique features of HOL, such as the requirement to give non-emptiness proofs when defining new types and the impossibility to unfold type definitions, make the proof of these properties, and also the very formulation of safety, nontrivial.
Our study also factors in the essential variation of HOL definitions featured by Isabelle/HOL, a popular member of the HOL-based provers family. The current work improves on recent results which showed a weaker property, consistency of Isabelle/HOL's definitions.
Supplemental Material
- Andreas Abel, Thierry Coquand, and Peter Dybjer. 2007. Normalization by Evaluation for Martin-Lof Type Theory with Typed Equality Judgements. In LICS. 3–12. Google Scholar
Digital Library
- Mark Adams. 2010. Introducing HOL Zero (Extended Abstract). In ICMS ’10. Springer.Google Scholar
- Wolfgang Ahrendt, Bernhard Beckert, Richard Bubel, Reiner Hähnle, Peter H. Schmitt, and Mattias Ulbrich (Eds.). 2016. Deductive Software Verification - The KeY Book - From Theory to Practice. Springer.Google Scholar
- Thorsten Altenkirch. 1993. Proving Strong Normalization of CC by Modifying Realizability Semantics. In TYPES. 3–18.Google Scholar
- Rob Arthan. 2014. "HOL Constant Definition Done Right". In ITP. 531–536. Google Scholar
Cross Ref
- R. D. Arthan. 2004. Some Mathematical Case Studies in ProofPower–HOL. In TPHOLs.Google Scholar
- Andrea Asperti, Wilmer Ricciotti, Claudio Sacerdoti Coen, and Enrico Tassi. 2011. The Matita Interactive Theorem Prover. In CADE. 64–69. Google Scholar
- Bruno Barras. 2010. Sets in Coq, Coq in Sets. Journal of Formalized Reasoning 3, 1 (2010).Google Scholar
- Yves Bertot and Pierre Casteran. 2004. Interactive Theorem Proving and Program Development. Coq’Art: The Calculus of Inductive Constructions. Springer. Google Scholar
Cross Ref
- Jasmin Christian Blanchette, Johannes Hölzl, Andreas Lochbihler, Lorenz Panny, Andrei Popescu, and Dmitriy Traytel. 2014. Truly Modular (Co)datatypes for Isabelle/HOL. In ITP, Vol. 8558. 93–110.Google Scholar
- Ana Bove, Peter Dybjer, and Ulf Norell. 2009. A Brief Overview of Agda—A Functional Language with Dependent Types. In TPHOLs.Google Scholar
- Alonzo Church. 1940. A Formulation of the Simple Theory of Types. The Journal of Symbolic Logic 5, 2 (1940), 56–68. Google Scholar
Cross Ref
- Thierry Coquand, Jean Gallier, and Le Chesnay Cedex. 1990. A Proof of Strong Normalization For the Theory of Constructions Using a Kripke-Like Interpretation. In Workshop on Logical Frameworks.Google Scholar
- Thierry Coquand and Arnaud Spiwack. 2006. A Proof of Strong Normalisation using Domain Theory. In LICS. 307–316. Google Scholar
Digital Library
- Karl Crary and Stephanie Weirich. 1999. Flexible Type Analysis. In ICFP. 233–248. Google Scholar
Digital Library
- Karl Crary, Stephanie Weirich, and J. Gregory Morrisett. 1998. Intensional Polymorphism in Type-Erasure Semantics. In ICFP. 301–312. Google Scholar
Digital Library
- Javier Esparza, Peter Lammich, René Neumann, Tobias Nipkow, Alexander Schimpf, and Jan-Georg Smaus. 2013. A Fully Verified Executable LTL Model Checker. In CAV. 463–478. Google Scholar
Digital Library
- Arve Gengelbach and Tjark Weber. 2017. Model-Theoretic Conservative Extension for Definitional Theories. (2017). Pre-proceedings of LSFA 2017. Available at http://lsfa2017.cic.unb.br/LSFA2017.pdf .Google Scholar
- J.H. Geuvers. 1993. Logics and Type systems. Ph.D. Dissertation. University of Nijmegen.Google Scholar
- Lorenzo Gheri and Andrei Popescu. 2017. A Formalized General Theory of Syntax with Bindings. In ITP. 241–261. Google Scholar
Cross Ref
- M. J. C. Gordon and T. F. Melham (Eds.). 1993. Introduction to HOL: A Theorem Proving Environment for Higher Order Logic. Cambridge University Press.Google Scholar
Digital Library
- Florian Haftmann and Makarius Wenzel. 2006. Constructive Type Classes in Isabelle.. In TYPES. 160–174.Google Scholar
- John Harrison. 1996. HOL Light: A Tutorial Introduction. In FMCAD. Springer. Google Scholar
Cross Ref
- John Harrison. 2006. Towards self-verification of HOL Light. In IJCAR. Springer. Google Scholar
Digital Library
- John Harrison. 2009. HOL Light: An Overview. In TPHOLs. 60–66.Google Scholar
- Leon Henkin. 1949. The Completeness of the First-Order Functional Calculus. J. Symbolic Logic 14, 3 (09 1949), 159–166.Google Scholar
Cross Ref
- Isabelle. 2016. The Isabelle Library. (2016). https://isabelle.in.tum.de/dist/library/HOL/index.html .Google Scholar
- Matt Kaufmann, Panagiotis Manolios, and J Strother Moore. 2000. Computer-Aided Reasoning: An Approach. Kluwer Academic Publishers.Google Scholar
Digital Library
- Gerwin Klein, June Andronick, Kevin Elphinstone, Gernot Heiser, David Cock, Philip Derrin, Dhammika Elkaduwe, Kai Engelhardt, Rafal Kolanski, Michael Norrish, Thomas Sewell, Harvey Tuch, and Simon Winwood. 2010. seL4: formal verification of an operating-system kernel. Commun. ACM 53, 6 (2010), 107–115. Google Scholar
Digital Library
- Gerwin Klein, Tobias Nipkow, Larry Paulson, and René Thiemann (eds.). 2016. Isabelle’s Archive of Formal Proofs. (2016).Google Scholar
- Alexander Krauss. 2009. Automating recursive definitions and termination proofs in higher-order logic. Ph.D. Dissertation. Technical University Munich.Google Scholar
- Ramana Kumar, Rob Arthan, Magnus O. Myreen, and Scott Owens. 2014. HOL with Definitions: Semantics, Soundness, and a Verified Implementation. In ITP. 308–324.Google Scholar
- Ramana Kumar, Rob Arthan, Magnus O. Myreen, and Scott Owens. 2016. Self-Formalisation of Higher-Order Logic -Semantics, Soundness, and a Verified Implementation. J. Autom. Reasoning 56, 3 (2016), 221–259. Google Scholar
Digital Library
- Ondřej Kunčar. 2015. Correctness of Isabelle’s Cyclicity Checker: Implementability of Overloading in Proof Assistants. In CPP. 85–94.Google Scholar
- Ondřej Kunčar and Andrei Popescu. 2015. A Consistent Foundation for Isabelle/HOL. In ITP. 234–252.Google Scholar
- Ondřej Kunčar and Andrei Popescu. 2016. From Types To Sets By Local Type Definitions in Higher-Order Logic. In ITP. 200–218. Google Scholar
Cross Ref
- Ondřej Kunčar and Andrei Popescu. 2017a. Comprehending Isabelle/HOL’s Consistency. In ESOP. 724–749.Google Scholar
- Ondřej Kunčar and Andrei Popescu. 2017b. Safety and Conservativity of Definitions in HOL and Isabelle/HOL: Extended Version. (2017). www.andreipopescu.uk/pdf/popl2018_extended.pdf .Google Scholar
- Ondřej Kunčar and Andrei Popescu. 2017c. Safety and Conservativity of Definitions in HOL and Isabelle/HOL: Isabelle/HOL Implementation. (2017). http://www21.in.tum.de/~kuncar/documents/unf.html .Google Scholar
- K. Rustan M. Leino. 2010. Dafny: An Automatic Program Verifier for Functional Correctness. In LPAR (Dakar). 348–370.Google Scholar
- Andreas Lochbihler. 2010. Verifying a Compiler for Java Threads. In ESOP. 427–447. Google Scholar
Digital Library
- Thomas F. Melham. 1989. Automating Recursive Type Definitions in Higher Order Logic. In Current Trends in Hardware Verification and Automated Theorem Proving. 341–386. Google Scholar
Cross Ref
- Magnus O. Myreen and Jared Davis. 2014. The Reflective Milawa Theorem Prover Is Sound - (Down to the Machine Code That Runs It). In ITP. 421–436.Google Scholar
- Tobias Nipkow and Gerwin Klein. 2014. Concrete Semantics - With Isabelle/HOL. Springer.Google Scholar
- Tobias Nipkow, Lawrence Paulson, and Markus Wenzel. 2002. Isabelle/HOL — A Proof Assistant for Higher-Order Logic. LNCS, Vol. 2283. Springer.Google Scholar
- Tobias Nipkow and Gregor Snelting. 1991. Type Classes and Overloading Resolution via Order-Sorted Unification. In Functional Programming Languages and Computer Architecture. Google Scholar
Cross Ref
- Michael Norrish. 2004. Recursive Function Definition for Types with Binders. In TPHOLs. 241–256. Google Scholar
Cross Ref
- Steven Obua. 2006. Checking Conservativity of Overloaded Definitions in Higher-Order Logic.. In RTA. 212–226. Google Scholar
Digital Library
- Sam Owre and Natarajan Shankar. 1999. The Formal Semantics of PVS. (1999). SRI technical report. http://www.csl.sri.com/ papers/csl- 97- 2/ .Google Scholar
- Lawrence C. Paulson. 1990. A formulation of the simple theory of types (for Isabelle). In COLOG-88. 246–274.Google Scholar
- Lawrence C. Paulson. 2010. Three Years of Experience with Sledgehammer, a Practical Link between Automatic and Interactive Theorem Provers. In PAAR. 1–10.Google Scholar
- Frank Pfenning and Carsten Schürmann. 1999. System Description: Twelf - A Meta-Logical Framework for Deductive Systems. In CADE. 202–206.Google Scholar
- Brigitte Pientka and Joshua Dunfield. 2010. Beluga: A Framework for Programming and Reasoning with Deductive Systems (System Description). In IJCAR. 15–21.Google Scholar
- A. Pitts. 1993. Introduction to HOL: A Theorem Proving Environment for Higher Order Logic, Chapter The HOL Logic, 191–232. In Gordon and Melham [ Gordon and Melham 1993 ].Google Scholar
- Andrei Popescu and Elsa L. Gunter. 2011. Recursion principles for syntax with bindings and substitution. In ICFP. 346–358. Google Scholar
Digital Library
- Andrei Popescu, Elsa L. Gunter, and Christopher J. Osborn. 2010. Strong Normalization for System F by HOAS on Top of FOAS. In LICS. 31–40.Google Scholar
- John C. Reynolds. 1983. Types, Abstraction and Parametric Polymorphism. In IFIP Congress. 513–523.Google Scholar
- Donald Sannella and Andrzej Tarlecki. 2012. Foundations of Algebraic Specification and Formal Software Development. Springer. I–XVI, 1–581 pages.Google Scholar
- Konrad Slind and Michael Norrish. 2008. "A Brief Overview of HOL4". In TPHOLs. 28–32. Google Scholar
Digital Library
- Dmitriy Traytel, Andrei Popescu, and Jasmin Christian Blanchette. 2012. Foundational, Compositional (Co)datatypes for Higher-Order Logic: Category Theory Applied to Theorem Proving. In LICS. 596–605.Google Scholar
- D. A. Turner. 2004. Total Functional Programming. J. UCS 10, 7 (2004), 751–768.Google Scholar
- Markus Wenzel. 1997. Type Classes and Overloading in Higher-Order Logic.. In TPHOLs. 307–322. Google Scholar
Cross Ref
- Markus Wenzel. 1999. Isar - A Generic Interpretative Approach to Readable Formal Proof Documents. In TPHOLs. 167–184.Google Scholar
- Makarius Wenzel. 2014. System description: Isabelle/jEdit in 2014. In UITP. 84–94.Google Scholar
- Freek Wiedijk. 2009. Stateless HOL. In TYPES. 47–61.Google Scholar
- Burkhart Wolff. 2015. Isabelle Foundation & Certification. (2015). Archived at https://lists.cam.ac.uk/pipermail/ cl- isabelle- users/2015- September/thread.html .Google Scholar
Index Terms
Safety and conservativity of definitions in HOL and Isabelle/HOL
Recommendations
Admissible Types-to-PERs Relativization in Higher-Order Logic
Relativizing statements in Higher-Order Logic (HOL) from types to sets is useful for improving productivity when working with HOL-based interactive theorem provers such as HOL4, HOL Light and Isabelle/HOL. This paper provides the first comprehensive ...
Formalizing Axiomatic Systems for Propositional Logic in Isabelle/HOL
Intelligent Computer MathematicsAbstractWe formalize soundness and completeness proofs for a number of axiomatic systems for propositional logic in the proof assistant Isabelle/HOL.
Programming Language Semantics with Isabelle/HOL
WEIT '13: Proceedings of the 2013 2nd Workshop-School on Theoretical Computer ScienceIsabelle is a generic meta-logical framework for implementing logical formalisms, and Isabelle/HOL is the specialization of Isabelle for HOL, which stands for Higher Order Logic. In programming language theory, formal semantics is the field concerned ...






Comments