HOL4 vs PVS
HOL4
hol-theorem-prover.orgPVS
pvs.csl.sri.comSide by side
| Figure | HOL4 | PVS |
|---|---|---|
| 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 | 2 |
| Spec score · Formal Verification Tools | 8.1 (#9) | 8.3 (#4) |
| Documentation | HOL provides online searchable manuals, reference documentation and a theory dependency graph, and builds a local reference copy during installation. | The site provides system, language, and prover guides, tutorials, examples, and release notes, while noting that manuals may not cover newer features. |
| Purpose | HOL4 is a proof assistant for higher-order logic and a programming environment for proving theorems and implementing proof tools. | PVS is a verification system combining a specification language, support tools, and a theorem prover. |
| Support | The community offers help through a mailing list and Zulip chat, while bug reports and feature suggestions go to GitHub issues. | Support is offered through developer and bug-report email addresses, GitHub issues, Google Groups, and moderated mailing lists. |
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.
PVS
PVS is a mechanized environment for formal specification and verification, intended for work such as mathematical formalization and hardware or algorithm verification. Its language is based on typed higher-order logic and supports predicate subtypes, dependent types, and parameterized theories. The system combines predefined theories, a type checker, interactive theorem prover, symbolic model checker, utilities, libraries, documentation, and examples. Proof support includes induction, rewriting, simplification with decision procedures, abstraction, and symbolic model checking; command-line tools can re-prove theories and libraries in batch mode. PVS also integrates the Yices SMT solver, supports random testing during proofs, and includes PVSio for evaluation and animation. GNU or X Emacs provides the integrated interface, with Tcl/Tk displays for proof trees and theory hierarchies. It runs on Linux, macOS, and Windows and is self-hosted. Noncommercial use is listed at free. Sources are under GPL, but the Allegro runtime has a separate click-through license, and commercial users need a current PVS license or must contact SRI about licensing.