ACL2 vs HOL4
ACL2
acl2.orgHOL4
hol-theorem-prover.orgSide by side
| Figure | ACL2 | HOL4 |
|---|---|---|
| Price from | — | Free |
| Free plan | — | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 0 | 1 |
| Spec score · Formal Verification Tools | 7.8 (#14) | 8.1 (#9) |
| Documentation | Documentation is available online, as downloadable local manuals, through an Emacs browser, and at the ACL2 terminal with the :doc command. | HOL provides online searchable manuals, reference documentation and a theory dependency graph, and builds a local reference copy during installation. |
| Integrations | The Community Books include interfacing tools for file I/O, operating-system access, raw Common Lisp libraries, and connections to other programs. | The maker documents editor support for Emacs and Vim. |
| Purpose | ACL2 combines a Lisp-based programming language for formal models with a reasoning engine that can prove properties about those models. | HOL4 is a proof assistant for higher-order logic and a programming environment for proving theorems and implementing proof tools. |
| Support | ACL2 users can get help through the acl2-help mailing list, which the site recommends to new users. | The community offers help through a mailing list and Zulip chat, while bug reports and feature suggestions go to GitHub issues. |
| Use cases | The manual says ACL2 has been used to formally verify systems in academia and industry. | The maker describes HOL as particularly suitable for combining deduction, execution and property checking. |
Plans
In their own words
HOL4
HOL4 is a free, interactive proof assistant for higher-order logic, with a programming environment for proving theorems and building proof tools. It supports work that combines deduction, execution, and property checking. Built-in decision procedures and theorem provers can establish many simple theorems, and an oracle mechanism can connect to external programs such as SMT and BDD engines. HOL4 supports higher-order logic and Standard ML, and can produce proof artifacts and counterexamples. It is self-hosted and listed for Linux, macOS, and Windows. A Standard ML compiler is required, with Poly/ML recommended; Moscow ML and MLTon are also supported for building tool executables. Windows installation can use Cygwin or the Windows Linux subsystem with Poly/ML. Moscow ML is another option, but the Windows guide notes that it is slower, lacks some Poly/ML libraries, and cannot run concurrent Holmake builds. HOL includes Emacs modes for syntax display and session interaction, and the installation guide links to Vim plugin documentation. Online materials include a tutorial, quick reference, FAQ, manuals, and generated indexes.