HOL4
HOL4 is an interactive proof assistant for higher-order logic, with a programming environment for proving theorems and building proof tools.
What HOL4 is
HOL4 is an interactive proof assistant for higher-order logic, with a programming environment for proving theorems and building proof tools. It is intended for work that combines deduction, execution, and property checking. Built-in decision procedures and theorem provers can establish many simple theorems, while an oracle mechanism can connect HOL to external programs such as SMT and BDD engines. HOL supports higher-order logic and Standard ML, and can produce proof artifacts and counterexamples. It is self-hosted, available for Linux, macOS, and Windows, and is free software under the Modified (3-clause) BSD licence. A Standard ML compiler is required, with Poly/ML recommended; Moscow ML and MLTon are also supported for building tool executables. Windows installation options include Cygwin or the Windows Linux subsystem with Poly/ML. The Moscow ML route lacks libraries available in the Poly/ML version, runs many times slower, and cannot run concurrent Holmake builds. HOL includes Emacs modes for syntax and session interaction, links to Vim plugin documentation, and provides tutorials, manuals, a quick reference, and a FAQ.
Good
- Free software under the Modified BSD licence.
- Built-in procedures can prove many simple theorems.
- Oracle mechanism can connect to SMT and BDD engines.
- Documentation includes a tutorial, manuals, and FAQ.
Watch out
- A Standard ML compiler is required.
- Windows installation requires Cygwin or the Windows Linux subsystem for Poly/ML.
- Moscow ML lacks some Poly/ML libraries.
- Moscow ML does not support concurrent Holmake builds.
Who it suits
HOL4 suits users working on higher-order logic theorem proving, proof tools, or property checking. It may also suit projects that need to connect proof work with external SMT or BDD tools.
Verdict
HOL4 offers theorem-proving tools and documentation for users prepared to work with a Standard ML compiler. Windows users should review the installation choices, particularly the limitations of Moscow ML.
Plans and prices
From HOL4's own pricing page, checked 8 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| HOL4 | Free | Free software under the Modified (3-clause) BSD licence |
The facts
Each one read from HOL4's own pages, with the date it was checked.
What it does
- Automation
- Built-in decision procedures and theorem provers can automatically establish many simple theorems.checked 8 Oct 2026
- Development
- HOL is a collaborative project hosted on GitHub and welcomes code contributions via pull requests.checked 7 Oct 2026
- Documentation
- HOL provides online searchable manuals, reference documentation and a theory dependency graph, and builds a local reference copy during installation.checked 8 Oct 2026
- External tools
- An oracle mechanism gives HOL access to external programs such as SMT and BDD engines.checked 8 Oct 2026
- Integrations
- The maker documents editor support for Emacs and Vim.checked 8 Oct 2026
- Learning curve
- The maker estimates that starting from scratch, it takes about a month on average to become comfortable using HOL.checked 8 Oct 2026
- License
- HOL is free software released under the Modified (3-clause) BSD licence.checked 8 Oct 2026
- Notable limitation
- The maker notes that Moscow ML HOL lacks libraries available in the Poly/ML version and does not support concurrent Holmake builds.checked 8 Oct 2026
- Purpose
- HOL4 is a proof assistant for higher-order logic and a programming environment for proving theorems and implementing proof tools.checked 8 Oct 2026
- Requirements
- HOL requires a Standard ML compiler; the installation guide recommends Poly/ML and also lists Moscow ML, with MLTon supported for building tool executables.checked 8 Oct 2026
- Support
- The community offers help through a mailing list and Zulip chat, while bug reports and feature suggestions go to GitHub issues.checked 8 Oct 2026
- Use cases
- The maker describes HOL as particularly suitable for combining deduction, execution and property checking.checked 8 Oct 2026
- Users
- The about page names CakeML, HOL4P4, HolBA and Verifereum among projects using HOL.checked 7 Oct 2026
Where it runs
- Windows limitation
- The Windows guide says Moscow ML runs many times slower than Poly/ML and does not support concurrent Holmake builds.checked 7 Oct 2026
- Windows requirement
- The Windows guide requires Cygwin or the Windows Linux subsystem with Poly/ML, or describes Moscow ML as an alternative that is not recommended.checked 7 Oct 2026
- Windows support
- On Windows, the maker documents installation using Cygwin or the Microsoft Linux subsystem, and also describes a less-featured Moscow ML build for a standard Windows console.checked 8 Oct 2026



