HOL with Definitions: Semantics, Soundness, and a Verified Implementation

  • Ramana Kumar
  • Rob Arthan
  • Magnus O. Myreen
  • Scott Owens
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8558)


We present a mechanised semantics and soundness proof for the HOL Light kernel including its definitional principles, extending Harrison’s verification of the kernel without definitions. Soundness of the logic extends to soundness of a theorem prover, because we also show that a synthesised implementation of the kernel in CakeML refines the inference system. Our semantics is the first for Wiedijk’s stateless HOL; our implementation, however, is stateful: we give semantics to the stateful inference system by translation to the stateless. We improve on Harrison’s approach by making our model of HOL parametric on the universe of sets. Finally, we prove soundness for an improved principle of constant specification, in the hope of encouraging its adoption. This paper represents the logical kernel aspect of our work on verified HOL implementations; the production of a verified machine-code implementation of the whole system with the kernel as a module will appear separately.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Arthan, R.: HOL formalised: Semantics,
  2. 2.
    Arthan, R.: HOL constant definition done right. In: Klein, G., Gamboa, R. (eds.) ITP 2014. LNCS (LNAI), vol. 8558, pp. 531–536. Springer, Heidelberg (2014)Google Scholar
  3. 3.
    Barras, B.: Sets in Coq, Coq in sets. J. Formalized Reasoning 3(1) (2010)Google Scholar
  4. 4.
    Harrison, J.: Towards self-verification of HOL Light. In: Furbach, U., Shankar, N. (eds.) IJCAR 2006. LNCS (LNAI), vol. 4130, pp. 177–191. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  5. 5.
    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), CrossRefGoogle Scholar
  6. 6.
    Krauss, A., Schropp, A.: A mechanized translation from higher-order logic to set theory. In: Kaufmann, M., Paulson, L.C. (eds.) ITP 2010. LNCS, vol. 6172, pp. 323–338. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  7. 7.
    Kumar, R., Myreen, M.O., Norrish, M., Owens, S.: CakeML: a verified implementation of ML. In: Principles of Prog. Lang. (POPL). ACM Press (2014)Google Scholar
  8. 8.
    Marić, F.: Formal verification of a modern SAT solver by shallow embedding into Isabelle/HOL. Theor. Comput. Sci. 411(50), 4333–4356 (2010)CrossRefzbMATHGoogle Scholar
  9. 9.
    Myreen, M.O., Davis, J.: The reflective Milawa theorem prover is sound (Down to the machine code that runs it). In: Klein, G., Gamboa, R. (eds.) ITP 2014. LNCS (LNAI), vol. 8558, pp. 421–436. Springer, Heidelberg (2014)Google Scholar
  10. 10.
    Myreen, M.O., Owens, S.: Proof-producing translation of higher-order logic into pure and stateful ML. Journal of Functional Programming FirstView (January 2014)Google Scholar
  11. 11.
    Myreen, M.O., Owens, S., Kumar, R.: Steps towards verified implementations of HOL Light. In: Blazy, S., Paulin-Mohring, C., Pichardie, D. (eds.) ITP 2013. LNCS, vol. 7998, pp. 490–495. Springer, Heidelberg (2013), “Rough Diamond” sectionCrossRefGoogle Scholar
  12. 12.
    Norrish, M., Slind, K., et al.: The HOL System: Logic, 3rd edn.,
  13. 13.
    Ridge, T., Margetson, J.: A mechanically verified, sound and complete theorem prover for first order logic. In: Hurd, J., Melham, T. (eds.) TPHOLs 2005. LNCS, vol. 3603, pp. 294–309. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  14. 14.
    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)CrossRefGoogle Scholar
  15. 15.
    Wang, Q., Barras, B.: Semantics of intensional type theory extended with decidable equational theories. In: CSL. LIPIcs, vol. 23, Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik (2013)Google Scholar
  16. 16.
    Wiedijk, F.: Stateless HOL. In: Types for Proofs and Programs (TYPES). EPTCS, vol. 53 (2009)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Ramana Kumar
    • 1
  • Rob Arthan
    • 2
  • Magnus O. Myreen
    • 1
  • Scott Owens
    • 3
  1. 1.Computer LaboratoryUniversity of CambridgeUK
  2. 2.School of EECSQueen Mary, University of LondonUK
  3. 3.School of ComputingUniversity of KentUK

Personalised recommendations