Abstract
HOL Zero is a basic theorem prover that aims to achieve the highest levels of reliability and trustworthiness through careful design and implementation of its core components. In this paper, we concentrate on its treatment of concrete syntax, explaining how it manages to avoid problems suffered in other HOL systems related to the parsing and pretty printing of HOL types, terms and theorems, with the goal of achieving well-behaved parsing/printing and Pollack-consistency. Included are an explanation of how Hindley-Milner type inference is adapted to cater for variable-variable overloading, and how terms are minimally annotated with types for unambiguous printing.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Although in hol90, type variable names must start with a single-quote character.
- 2.
We refer here to the “vanilla” version of the HOL language, implemented by all HOL systems except Isabelle/HOL and HOL Omega.
- 3.
Note that, in HOL Zero, numerals are not atoms of primitive syntax, but for illustrative purposes it suffices to treat 5 as an atom in this example.
References
Adams, M.: Proof auditing formalised mathematics. J. Formalized Reasoning 9(1), 3–32 (2016)
Adams, M., Clayton, P.B.: ClawZ: cost-effective formal verification for control systems. In: Lau, K.-K., Banach, R. (eds.) ICFEM 2005. LNCS, vol. 3785, pp. 465–479. Springer, Heidelberg (2005)
Arthan, R., Jones, R.: Z in HOL in ProofPower. In: Issue 2005–1 of the British Computer Society Specialist Group Newsletter on Formal Aspects of Computing Science, pp. 39–54 (2005)
Davis, J.: A Self-Verifying Theorem Prover. PhD Thesis, University of Texas at Austin (2009)
Davis, J., Myreen, M.: The reflective Milawa theorem prover is sound. J. Autom. Reasoning 55(2), 117–183 (2015). Springer
Hales, T., et al.: A Formal Proof of the Kepler Conjecture. arXiv:1501.02155v1 [math.MG]. arXiv.org (2015)
Gordon, M.: From LCF to HOL: a short history. In: Proof, Language and Interaction, pp. 169–186. MIT Press (2000)
Gordon, M., Melham, T.: Introduction to HOL: A Theorem Proving Environment for Higher Order Logic. Cambridge University Press, Cambridge (1993)
Harrison, J.: HOL Light: an overview. In: Berghofer, S., Nipkow, T., Urban, C., Wenzel, M. (eds.) TPHOLs 2009. LNCS, vol. 5674, pp. 60–66. Springer, Heidelberg (2009)
Klein, G., et al.: seL4: formal verification of an OS Kernel. In: Proceedings of the ACM SIGOPS 22nd Symposium on Operating Systems Principles, pp. 207–220. ACM (2009)
Milner, R.: A theory of type polymorphism in programming. J. Comput. Syst. Sci. 17, 348–375 (1978). Elsevier
Nipkow, T., Paulson, L.C., Wenzel, M. (eds.): Isabelle/HOL: A Proof Assistant for Higher-Order Logic. LNCS, vol. 2283. Springer, Heidelberg (2002)
Pollack, R.: How to believe a machine-checked proof. In: Twenty-Five Years of Constructive Type Theory, chap. 11. Oxford University Press (1998)
Slind, K., Norrish, M.: A brief overview of HOL4. In: Mohamed, O.A., Muñoz, C., Tahar, S. (eds.) TPHOLs 2008. LNCS, vol. 5170, pp. 28–32. Springer, Heidelberg (2008)
Wiedijk, F.: Pollack-inconsistency. Electron. Not. Theoret. Comput. Sci. 285, 85–100 (2012). Elsevier Science
HOL Zero homepage. http://www.proof-technologies.com/holzero/
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this paper
Cite this paper
Adams, M. (2016). HOL Zero’s Solutions for Pollack-Inconsistency. In: Blanchette, J., Merz, S. (eds) Interactive Theorem Proving. ITP 2016. Lecture Notes in Computer Science(), vol 9807. Springer, Cham. https://doi.org/10.1007/978-3-319-43144-4_2
Download citation
DOI: https://doi.org/10.1007/978-3-319-43144-4_2
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-43143-7
Online ISBN: 978-3-319-43144-4
eBook Packages: Computer ScienceComputer Science (R0)