Rocq vs SPIN
Rocq
rocq-prover.orgSPIN
spinroot.comSide by side
| Figure | Rocq | SPIN |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · Formal Verification Tools | 8.5 (#3) | 7.5 (#23) |
| Founded | 1984 | 1980 |
| License | The Rocq Prover is distributed under the GNU Lesser General Public Licence Version 2.1 (LGPL). | Starting with SPIN version 6.4.5, its code, sources, and executables are available under the BSD 3-Clause 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. | SPIN analyzes the logical consistency of asynchronous systems, including distributed software and communication protocols. |
| Verification | The site describes Rocq's well-delimited kernel and OCaml implementation as providing strong guarantees for mechanised artifacts. | SPIN can generate a C program for exhaustive or approximate verification of a model’s correctness requirements. |
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.
SPIN
SPIN is a free, self-hosted model-checking tool for analyzing the logical consistency of asynchronous systems, including distributed software and communication protocols. Systems are specified in Promela, which represents asynchronous processes, nondeterministic choices, loops, and local or global variables. Models can state correctness requirements, including linear temporal logic. SPIN supports interactive, guided, and random simulations of execution. For verification, it generates a C program for exhaustive or approximate checking of those requirements. Its product description lists detection of deadlocks, race conditions, incomplete specifications, and unjustified assumptions about process speeds. Partial order reduction optimizes verification runs, while the site provides guidance for multicore depth-first and breadth-first algorithms and swarm methods for large state spaces. SPIN runs on Linux, macOS, and Windows, as well as other listed systems. From version 6.4.5, its code, sources, and executables use the BSD 3-Clause license. Verification requires a working C compiler and preprocessor. The optional iSpin graphical interface is written in Tcl/Tk and requires Tcl/Tk.