On Definitions of Constants and Types in HOL

This paper reports on a simpler and more powerful replacement for the principles for defining new constants that were previously provided in the various HOL implementations. We discuss the problems that the new principle is intended to solve and sketch the proofs that it is conservative and that it subsumes the earlier definitional principles. The new definitional principle for constants has been implemented in HOL4 and in ProofPower and has been adopted in OpenTheory and in the work of Kumar, Myreen and Owens on a fully verified implementation of HOL. Kumar et al. have formally verified that the new definitional principle is conservative with respect to the standard set theoretic semantics of HOL. We continue this line of thought with a look at the mechanisms for defining new types and consider potential improvements, one of which has now been adopted in OpenTheory.

[1]  Michael Norrish,et al.  A Brief Overview of HOL4 , 2008, TPHOLs.

[2]  R. Diaconescu Axiom of choice and complementation , 1975 .

[3]  John Harrison,et al.  Towards Self-verification of HOL Light , 2006, IJCAR.

[4]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[5]  Leon Henkin,et al.  Completeness in the theory of types , 1950, Journal of Symbolic Logic.

[6]  Matt Kaufmann,et al.  Structured Theory Development for a Mechanized Logic , 2001, Journal of Automated Reasoning.

[7]  Rob Arthan HOL Constant Definition Done Right , 2014, ITP.

[8]  Joe Hurd,et al.  The OpenTheory Standard Theory Library , 2011, NASA Formal Methods.

[9]  Peter V. Homeier The HOL-Omega Logic , 2009, TPHOLs.

[10]  John Harrison,et al.  HOL Light: An Overview , 2009, TPHOLs.

[11]  Ramana Kumar,et al.  HOL with Definitions: Semantics, Soundness, and a Verified Implementation , 2014, ITP.

[12]  Robert S. Boyer,et al.  Functional Instantiation in First-Order Logic , 1991, Artificial and Mathematical Theory of Computation.