Abstract
The HOL Light prover is based on a logical kernel consisting of about 400 lines of mostly functional OCaml, whose complete formal verification seems to be quite feasible. We would like to formally verify (i) that the abstract HOL logic is indeed correct, and (ii) that the OCaml code does correctly implement this logic. We have performed a full verification of an imperfect but quite detailed model of the basic HOL Light core, without definitional mechanisms, and this verification is entirely conducted with respect to a set-theoretic semantics within HOL Light itself. We will duly explain why the obvious logical and pragmatic difficulties do not vitiate this approach, even though it looks impossible or useless at first sight. Extension to include definitional mechanisms seems straightforward enough, and the results so far allay most of our practical worries.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Andrews, P.B.: An Introduction to Mathematical Logic and Type Theory: To Truth Through Proof. Academic Press, London (1986)
Barendregt, H.: The impact of the lambda calculus on logic and computer science. Bulletin of Symbolic Logic 3, 181–215 (1997)
Church, A.: A formulation of the Simple Theory of Types. Journal of Symbolic Logic 5, 56–68 (1940)
Davis, P.J.: Fidelity in mathematical discourse: Is one and one really two? The American Mathematical Monthly 79, 252–263 (1972)
Diaconescu, R.: Axiom of choice and complementation. Proceedings of the American Mathematical Society 51, 176–178 (1975)
Dijkstra, E.W.: Formal techniques and sizeable programs (EWD563). In: Dijkstra, E.W. (ed.) Selected Writings on Computing: A Personal Perspective, pp. 205–214. Springer, Heidelberg (1976); (Paper prepared for Symposium on the Mathematical Foundations of Computing Science, Gdansk 1976)
Forster, T.: Reasoning about theoretical entities. Advances in Logic, vol. 3. World Scientific, Singapore (2003)
Gordon, M.J.C.: Representing a logic in the LCF metalanguage. In: Néel, D. (ed.) Tools and notions for program construction: an advanced course, pp. 163–185. Cambridge University Press, Cambridge (1982)
Gordon, M.J.C., Melham, T.F.: Introduction to HOL: a theorem proving environment for higher order logic. Cambridge University Press, Cambridge (1993)
Gordon, M.J.C., Milner, R., Wadsworth, C.P.: Edinburgh LCF. LNCS, vol. 78. Springer, Heidelberg (1979)
Harrison, J.: HOL Light: A tutorial introduction. In: Srivas, M., Camilleri, A. (eds.) FMCAD 1996. LNCS, vol. 1166, pp. 265–269. Springer, Heidelberg (1996)
Lambek, J., Scott, P.J.: Introduction to higher order categorical logic. Cambridge studies in advanced mathematics, vol. 7. Cambridge University Press, Cambridge (1986)
Lecat, M.: Erreurs de Mathématiciens. Brussels (1935)
McCune, W., Shumsky, O.: Ivy: A preprocessor and proof checker for first-order logic. In: Kaufmann, M., Manolios, P., Moore, J.S. (eds.) Computer-Aided Reasoning: ACL2 Case Studies, pp. 265–281. Kluwer, Dordrecht (2000)
Melham, T.F.: The HOL logic extended with quantification over type variables. In: Claesen, L.J.M., Gordon, M.J.C. (eds.) Proceedings of the IFIP TC10/WG10.2 International Workshop on Higher Order Logic Theorem Proving and its Applications, IMEC, Leuven, Belgium. IFIP Transactions A: Computer Science and Technology, vol. A-20, pp. 3–18. North-Holland, Amsterdam (1992)
Pollack, R.: How to believe a machine-checked proof. In: Sambin, G., Smith, J. (eds.) Twenty-Five Years of Constructive Type Theory, Oxford University Press, Oxford (1998), also available on the Web as http://www.brics.dk/~pollack/export/believing.ps.gz
Ridge, T.: A mechanically verified, efficient, sound and complete theorem prover for first order logic (2005), available via http://homepages.inf.ed.ac.uk/s0128214/
Rudnicki, P.: An overview of the MIZAR project (1992), available on the Web as http://web.cs.ualberta.ca/~piotr/Mizar/MizarOverview.ps
Scott, D.: A type-theoretical alternative to ISWIM, CUCH, OWHY. Theoretical Computer Science 121, 411–440 (1993): Annotated version of a 1969 manuscript
Slind, K.: Reasoning about terminating functional programs. PhD thesis, Institut für Informatik, Technische Universität München (1999), available from http://tumb1.biblio.tu-muenchen.de/publ/diss/in/1999/slind.html
Smullyan, R.M.: Gödel’s Incompleteness Theorems. Oxford Logic Guides, vol. 19. Oxford University Press, Oxford (1992)
Wong, W.: Recording HOL proofs. Technical Report 306, University of Cambridge Computer Laboratory, New Museums Site, Pembroke Street, Cambridge, CB2 3QG, UK (1993)
von Wright, J.: Representing higher-order logic proofs in HOL. In: Melham, T.F., Camilleri, J. (eds.) HUG 1994. LNCS, vol. 859, pp. 456–470. Springer, Heidelberg (1994)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Harrison, J. (2006). Towards Self-verification of HOL Light. In: Furbach, U., Shankar, N. (eds) Automated Reasoning. IJCAR 2006. Lecture Notes in Computer Science(), vol 4130. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11814771_17
Download citation
DOI: https://doi.org/10.1007/11814771_17
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-37187-8
Online ISBN: 978-3-540-37188-5
eBook Packages: Computer ScienceComputer Science (R0)