Skip to content
SPECIFICTION
Get listed

HOL4 vs OpenJML

HOL4

hol-theorem-prover.org

OpenJML

openjml.org

Side by side

FigureHOL4OpenJML
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
WindowsYesYes
macOSYesYes
LinuxYesYes
API—Yes
Self-hostedYes—
Plans published11
Spec score · Formal Verification Tools8.1 (#9)7.9 (#14)
LicenseHOL is free software released under the Modified (3-clause) BSD licence.The OpenJML User Guide states that the command-line tool is licensed under GPL version 2.
Notable limitationThe maker notes that Moscow ML HOL lacks libraries available in the Poly/ML version and does not support concurrent Holmake builds.The feature status page says test suite generation is not yet supported because JMLUnitNG must be ported to Java 21.
PurposeHOL4 is a proof assistant for higher-order logic and a programming environment for proving theorems and implementing proof tools.OpenJML checks whether Java programs annotated with Java Modeling Language specifications satisfy those specifications.

Plans

HOL4

  • HOL4Free

HOL4 pricing →

OpenJML

  • OpenJMLFree

OpenJML pricing →

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.

Visit hol-theorem-prover.org

OpenJML

OpenJML has no write-up on Specifiction yet; its figures are above.

Visit openjml.org