HOL (proof assistant)
Michael J C Gordon | |
---|---|
License | Modified (3-clause) BSD licence |
Filename extensions | .sml |
Website | hol-theorem-prover |
HOL (Higher Order Logic) denotes a family of
Systems in the HOL family use ML or its successors. ML was originally developed along with LCF as a meta-language for theorem proving systems; in fact, the name stands for "Meta-Language".
Underlying logic
This section needs expansion. You can help by adding to it. (October 2021) |
HOL systems use variants of classical higher-order logic, which has simple axiomatic foundations with few axioms and well-understood semantics.[1]
The logic used in HOL provers is closely related to Isabelle/HOL,[2] the most widely used logic of Isabelle.
HOL implementations
A number of HOL systems (sharing essentially the same logic) remain active and in use:
- HOL4 — the only presently maintained and developed system stemming from the HOL88 system, which was the culmination of the original HOL implementation effort, led by Poly/ML. All come with large libraries of theorem proving code which implement extra automation on top of the very simple core code. HOL4 is BSD licensed.[3]
- ProofPower — a collection of tools designed to provide special support for working with the Z notation for formal specification. 5 of the 6 tools are GNU GPL v2 licensed. The sixth (PPDaz) has a proprietary license.[5]
- HOL Zero — a minimalist implementation focused on trustworthiness. HOL Zero is GNU GPL 3+ licensed.[6]
- Candle — An end-to-end verified HOL Light implementation on top of CakeML.[7]
Formal proof developments
This section needs expansion. You can help by adding to it. (October 2021) |
The CakeML project developed a formally proven compiler for ML.[8] Previously, HOL was used to develop a formally proven Lisp implementation running on ARM, x86 and PowerPC.[9]
HOL was also used to formalize the
References
- ISBN 978-1-4020-0763-7.
- ISBN 978-3-540-45949-1.
- ^ "HOL Interactive Theorem Prover".
- ^ "HOL Light".
- ^ "Getting ProofPower".
- ^ See LICENSE file in the tarball Archived 2012-03-03 at the Wayback Machine.
- S2CID 251323103.
- ^ "CakeML".
- ^ Magnus O. Myreen; Michael J. C. Gordon. Verified LISP Implementations on ARM, x86 and PowerPC (PDF). TPHOLs 2009. pp. 359–374.
- S2CID 1999974.
- ^ Jade Alglave; Anthony C. J. Fox; Samin Ishtiaq; Magnus O. Myreen; Susmit Sarkar; Peter Sewell; Francesco Zappa Nardelli. The Semantics of Power and ARM Multiprocessor Machine Code (PDF). DAMP 2009. pp. 13–24.
Further reading
- Gordon, Michael J. C. (1996). "From LCF to HOL: A Short History". Retrieved 2007-10-11.
External links
- Official website
- Documents specifying HOL's basic logic
- HOL4 Description manual, includes system logic specification
- Virtual library formal methods information