HOL4 vs TLA+
HOL4
hol-theorem-prover.orgTLA+
lamport.azurewebsites.netSide by side
| Figure | HOL4 | TLA+ |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Self-hosted | Yes | — |
| Plans published | 1 | 1 |
| Spec score · Formal Verification Tools | 8.1 (#9) | 7.5 (#24) |
| License | HOL is free software released under the Modified (3-clause) BSD licence. | The TLA+ tools and Toolbox repository is licensed under the MIT License. |
| Purpose | HOL4 is a proof assistant for higher-order logic and a programming environment for proving theorems and implementing proof tools. | TLA+ is a high-level language for modeling software and hardware systems, especially concurrent and distributed systems. |
| Support | The community offers help through a mailing list and Zulip chat, while bug reports and feature suggestions go to GitHub issues. | The TLA+ Foundation directs technical questions and issues to the appropriate GitHub issue tracker. |
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.
TLA+
TLA+ has no write-up on Specifiction yet; its figures are above.