Skip to content
SPECIFICTION
Get listed

Rocq vs Z3

Rocq

rocq-prover.org

Z3

github.com

Side by side

FigureRocqZ3
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
WebYesYes
WindowsYesYes
macOSYesYes
LinuxYesYes
Android—Yes
API—Yes
Self-hosted—Yes
Plans published11
Spec score · Formal Verification Tools8.5 (#3)7.4 (#26)
LicenseThe Rocq Prover is distributed under the GNU Lesser General Public Licence Version 2.1 (LGPL).The repository states that Z3 is licensed under the MIT license.
PurposeRocq Prover is an interactive theorem prover and proof assistant for developing mathematical proofs, formal specifications, programs and proofs that programs meet specifications.Z3 is a theorem prover and satisfiability modulo theories (SMT) solver.
SupportUsers can report installation trouble or extension bugs in the dedicated Rocq Zulip stream.The project wiki says to contact the creator of an external binding package for support issues.

Plans

Rocq

  • Rocq ProverFree

Rocq pricing →

Z3

  • Z3 (MIT licensed)Free

Z3 pricing →

In their own words

Rocq

Rocq is a free interactive theorem prover and proof assistant for building mathematical proofs, formal specifications and programs, including proofs that programs meet specifications. Its Gallina language supports specification and mathematical work and is based on the Polymorphic, Cumulative Calculus of Inductive Constructions. A relatively small certification kernel machine-checks proofs. Rocq also offers interactive proof methods, decision and semi-decision algorithms, and a tactic language for defining methods. Certified programs can be extracted to OCaml, Haskell or Scheme, and the system can connect with external computer algebra systems or theorem provers. The Rocq Platform bundles the core prover with libraries and plugins for development and teaching. Its scripts install Rocq and packages on macOS, Windows and many Linux distributions; precompiled installers are available for macOS and Windows, but not Linux. Editor options include the VsRocq Visual Studio Code extension, RocqIDE, Proof General and Coqtail. Rocq is written in OCaml and distributed under the GNU Lesser General Public Licence Version 2.1.

Visit rocq-prover.org

Z3

Z3 is a theorem prover and satisfiability modulo theories (SMT) solver used in software verification and analysis. SMT-LIB2 is its default input format, and it supports the SMT-LIB format. The project documents bindings or APIs for C, C++, .NET, Java, Go, OCaml, Python, Julia, and JavaScript/TypeScript. Z3 can be built with CMake, vcpkg, or Bazel, and the repository links to pre-built binaries for stable and nightly releases. A project wiki also links to a page for trying Z3 in a browser. It supports proof artifacts and counterexamples, and listed input languages include SMT-LIB2, Rust, Smalltalk, and several of the languages with documented APIs. Z3 is MIT licensed, with downloads and source code available at no charge. Python is required to build it; additional toolchains are needed for Java, .NET, OCaml, and Julia APIs. The README says MSVC builds enable Control Flow Guard and Address Space Layout Randomization by default.

Visit github.com