HOL4
6.5#7 in formal verification toolsFree planFree planLinuxmacOSSelf-hostedWindows
Visit| Fact | HOL4 | Why3 |
|---|---|---|
| Development | HOL is a collaborative project hosted on GitHub and welcomes code contributions via pull requests. | Why3 is developed by the Inria Toccata team, a joint research team of Inria Saclay-Île-de-France, Université Paris-Saclay, and CNRS. |
| Integrations | The maker documents editor support for Emacs and Vim. | The project lists EasyCrypt, Frama-C, and SPARK 2014 among projects that use Why3. |
| License | HOL is free software released under the Modified (3-clause) BSD licence. | TryWhy3 is distributed under the GNU Lesser General Public License version 2.1 with a special linking exception. |
| Notable limitation | The maker notes that Moscow ML HOL lacks libraries available in the Poly/ML version and does not support concurrent Holmake builds. | Loop invariant inference is described as work in progress, with many features still very limited. |
| Purpose | HOL4 is a proof assistant for higher-order logic and a programming environment for proving theorems and implementing proof tools. | Why3 is a platform for deductive program verification that uses WhyML and external theorem provers to discharge verification conditions. |
| Support | The community offers help through a mailing list and Zulip chat, while bug reports and feature suggestions go to GitHub issues. | The project provides a user mailing list, a Zulip chat, and a bug tracking system. |
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.
Why3 suits developers and researchers working on deductive verification with contracts and WhyML. It may also fit users who need to connect external provers or use its OCaml API.