Skip to content
SPECIFICTION
Get listed

HOL4 vs UPPAAL

HOL4

hol-theorem-prover.org

UPPAAL

uppaal.org

Side by side

FigureHOL4UPPAAL
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
WindowsYesYes
macOSYesYes
LinuxYesYes
Self-hostedYes—
Plans published12
Spec score · Formal Verification Tools8.1 (#9)7.3 (#28)
DevelopmentHOL is a collaborative project hosted on GitHub and welcomes code contributions via pull requests.UPPAAL was created through collaboration between Uppsala University and Aalborg University and is maintained by Aalborg University's Distributed, Embedded and Intelligent Systems group.
PurposeHOL4 is a proof assistant for higher-order logic and a programming environment for proving theorems and implementing proof tools.UPPAAL is an integrated environment for modeling, simulation, and verification of real-time systems represented as networks of timed automata.
SupportThe community offers help through a mailing list and Zulip chat, while bug reports and feature suggestions go to GitHub issues.Academic support is community-based, with documentation, discussions, mailing lists, and Stack Overflow; the team says it may be unable to answer all direct requests.
Use casesThe maker describes HOL as particularly suitable for combining deduction, execution and property checking.The site identifies real-time controllers and communication protocols with timing-critical behavior as typical application areas.

Plans

HOL4

  • HOL4Free

HOL4 pricing →

UPPAAL

  • Academic licenseFree
  • Commercial licensePriced on request

UPPAAL 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

UPPAAL

UPPAAL is an integrated environment for modeling, simulating, and verifying real-time systems as networks of timed automata. Its language supports clock and data variables, including bounded integers and arrays. The model checker uses symbolic state-space exploration for invariant and reachability properties and can produce diagnostic traces. Statistical Model Checking estimates probabilities, compares a probability with a value, or compares two probabilities. UPPAAL Stratego supports generating, optimizing, comparing, and exploring strategies for stochastic priced timed games. Related tools include CORA, TRON, TIGA, ECDAR, and COSHY for cost-optimal analysis, testing, timed games, refinement, and hybrid-system control. Typical applications include real-time controllers and timing-critical communication protocols. Desktop packages support Windows, macOS, and Linux, including macOS x86_64 and Aarch64. The graphical interface needs Java 17 or later; verifyta runs without Java. Academic users register for a free license key, retrieved over the internet. Commercial and other non-academic use requires a separate license.

Visit uppaal.org