The HOL interactive theorem prover is a proof assistant for higher-order logic: a programming environment in which theorems can be proved and proof tools implemented. Built-in decision procedures and theorem provers can automatically establish many simple theorems (users may have to prove the hard theorems themselves!) An oracle mechanism gives access to external programs such as SMT and BDD engines. HOL is particularly suitable as a platform for implementing combinations of deduction, execution and property checking.
Other HOLs are described elsewhere.
HOL is free software, released under the Modified (3-clause) BSD licence.
Notable projects using HOL include:
Join our community! Whether you're an experienced HOL4 developer or new to formal verification, we welcome your contributions. Learn more in our Community section to find out how to join the mailing lists, chat rooms, and contribute to HOL-based projects.
During the last 30 years there have been several widely used versions of the HOL system:
The logo is a reference to a photo of a snow-viewing lantern in the late Mike Gordon's garden, which appeared on the cover of the HOL88 system documentation.3
The current version, and successor to those above, is HOL4. Its development was partly supported by the PROSPER project. HOL4 is based on HOL98 and incorporates ideas and tools from HOL Light.
To learn more about the history of HOL, consider reading Mike Gordon's paper 'From LCF to HOL: a short history' (2000), or Anthony Fox's slides on Specifications and theorem-proving @ Arm (Opening of the Workshop for HOL4 users 2024).
HOL is developed by people at (among other places):
We would also like to acknowledge the support of
Zulip (for sponsored hosting of our chat),
Sourceforge (for
some file downloads in the past and
mailing lists), and
GitHub (for
our code repository and
issue tracker).
1 Identified participants with affiliations at the time (left to right):
Back: Juanito Camilleri (Cambridge), Roger Hale (Cambridge), Jeff Joyce (Cambridge), Albert Camilleri (Cambridge), Thomas Forster (Cambridge), Andy Pitts (Cambridge), Rachel Cardell-Oliver (Cambridge), ?, ?
Middle: ?, Ton Kalker (Philips Eindhoven), Konrad Slind (Calgary), Kevin Blackburn (ICL), Roger Jones (ICL), Paul Curzon (Cambridge), ?, ?, Phil Windley (Idaho), ?
Front: Tom Melham (Cambridge), ?, Paul Loewenstein (Sun), Mike Gordon (Cambridge), Avra Cohn (Cambridge), Robin Milner (Cambridge), Larry Paulson (Cambridge), Inder Dhingra (Cambridge), Shiu-Kai Chin (Syracuse), Elsa Gunter (U. Penn)