Rocq vs Z3
Rocq
rocq-prover.orgZ3
github.comSide by side
| Figure | Rocq | Z3 |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | Yes |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Android | — | Yes |
| API | — | Yes |
| Self-hosted | — | Yes |
| Plans published | 1 | 1 |
| Spec score · Formal Verification Tools | 8.5 (#3) | 7.4 (#26) |
| License | The 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. |
| Purpose | Rocq 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. |
| Support | Users 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
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.
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.