The Rocq Platform

The Rocq Platform is a distribution of the Rocq Prover together with a selection of libraries and plugins. The main goal of the Rocq Platform is to provide a distribution for developing and teaching with Rocq that is:

  • operating-system independent
  • dependable
  • easy to install
  • comprehensive

See the Guiding Principles for more on the Platform concept, and Rocq Prover and Rocq Platform release cycle for more on how the Platform is related to the Rocq Prover release cycle.

The Rocq Platform is based on the OCaml package manager opam and provides a set of scripts to compile and/or install opam, Rocq and the Platform contents on macOS, Windows and many Linux distributions in a reliable way with consistent results. In addition pre-compiled binary packages or installers are provided for macOS and Windows.

The Rocq Platform combines the core Rocq Prover with a coherent set of packages (plugins and libraries) to extend its features.

Detailed instructions to install Rocq and the Platform are available in Installing Rocq.

Packages of the Rocq Platform

Here is a list of all Platform packages sorted by their status.

Packages with a status of "full level" are considered stable, well-maintained and suitable as basis for your own developments. The full level adds many commonly used Rocq libraries, plugins and developments.

The "optional" packages have the same maturity and maintenance level as the packages in the full level, but either take a rather long time to build or have a non-open-source license or depend on packages with non-open-source license. The interactive installation script and the Windows installer explicitly ask if you want to install these packages.

The "extended level" contains packages which are in a beta stage or otherwise don't yet have the level of maturity or support required for inclusion in the full level, but there are plans to move them to the full level in a future release of the Rocq Platform. The main point of the extended level is advertisement: users are important to bring a development from a beta to a release state.


Full Level

The full level adds many commonly used Rocq libraries, plugins and developments.
z3_tptp.4.13.0
TPTP front end for Z3 solver
sexplib.v0.16.0
Library for serializing OCaml values to and from S-expressions
ott.0.33
A tool for writing definitions of programming languages and calculi
menhir.20231231
An LR(1) parser generator
gappa.1.4.1
Tool intended for formally proving properties on numerical programs dealing with floating-point or fixed-point arithmetic
eprover.3.1
E Theorem Prover
coq-unicoq.1.6+8.19
An enhanced unification algorithm for Coq
coq-stdpp.1.10.0
An extended \Standard Library\ for Coq
coq-simple-io.1.9.0
IO monad for Coq
coq-relation-algebra.1.7.10
Relation Algebra and KAT in Coq
coq-reglang.1.2.1
Representations of regular languages (i.e., regexps, various types of automata, and WS1S) with equivalence proofs, in Coq and MathComp
coq-quickchick.2.0.3
Randomized Property-Based Testing for Coq
coq-paramcoq.1.1.3+coq8.19
Plugin for generating parametricity statements to perform refinement proofs
coq-ott.0.33
Auxiliary Coq library for Ott, a tool for writing definitions of programming languages and calculi
coq-mtac2.1.4+8.19
Typed tactic language for Coq
coq-menhirlib.20231231
A support library for verified Coq parsers produced by Menhir
coq-mathcomp-zify.1.5.0+2.0+8.16
Micromega tactics for Mathematical Components
coq-mathcomp-word.3.1
Yet Another Coq Library on Machine Words
coq-mathcomp-ssreflect.2.2.0
Small Scale Reflection
coq-mathcomp-solvable.2.2.0
Mathematical Components Library on finite groups (II)
coq-mathcomp-real-closed.2.0.0
Mathematical Components Library on real closed fields
coq-mathcomp-multinomials.2.2.0
A Multivariate polynomial Library for the Mathematical Components Library
coq-mathcomp-finmap.2.1.0
Finite sets, finite maps, finitely supported functions
coq-mathcomp-fingroup.2.2.0
Mathematical Components Library on finite groups
coq-mathcomp-field.2.2.0
Mathematical Components Library on Fields
coq-mathcomp-character.2.2.0
Mathematical Components Library on character theory
coq-mathcomp-bigenough.1.0.1
A small library to do epsilon - N reasoning
coq-mathcomp-analysis.1.1.0
An analysis library for mathematical components
coq-mathcomp-algebra.2.2.0
Mathematical Components Library on Algebra
coq-mathcomp-algebra-tactics.1.2.3
Ring, field, lra, nra, and psatz tactics for Mathematical Components
coq-math-classes.8.19.0
A library of abstract interfaces for mathematical structures in Coq
coq-libhyps.2.0.8
Hypotheses manipulation library
coq-itauto.8.19.0
Reflexive SAT solver with Nelson-Oppen support, parameterised by a leaf tactic inside Coq
coq-iris.4.2.0
A Higher-Order Concurrent Separation Logic Framework with support for interactive proofs
coq-iris-heap-lang.4.2.0
The canonical example language for Iris
coq-interval.4.10.0
A Coq tactic for proving bounds on real-valued expressions automatically
coq-hott.8.19
The Homotopy Type Theory library
coq-hierarchy-builder.1.7.0
High level commands to declare and evolve a hierarchy based on packed classes
coq-hammer.1.3.2+8.19
General-purpose automated reasoning hammer tool for Coq
coq-hammer-tactics.1.3.2+8.19
Reconstruction tactics for the hammer for Coq
coq-gappa.1.5.5
A Coq tactic for discharging goals about floating-point arithmetic and round-off errors using the Gappa prover
coq-flocq.4.1.4
A formalization of floating-point arithmetic for the Coq system
coq-ext-lib.0.12.1
A library of Coq definitions, theorems, and tactics
coq-equations.1.3+8.19
A function definition package for Coq
coq-elpi.2.1.0
Elpi extension language for Coq
coq-dpdgraph.1.0+8.19
Compute dependencies between Coq objects (definitions, theorems) and produce graphs
coq-corn.8.19.0
The Coq Constructive Repository at Nijmegen
coq-coquelicot.3.4.1
A Coq formalization of real analysis compatible with the standard library
coq-coqprime.1.5.0
Certifying prime numbers in Coq
coq-coqprime-generator.1.1.1
Certificate generator for prime numbers in Coq
coq-coqeal.2.0.2
CoqEAL - The Coq Effective Algebra Library
coq-bignums.9.0.0+coq8.19
Bignums, the Coq library of arbitrarily large numbers
coq-aac-tactics.8.19.0
Coq tactics for rewriting universally quantified equations, modulo associative (and possibly commutative and idempotent) operators

Optional

The optional packages have the same maturity and maintenance level as the packages in the full level, but either take a rather long time to build or have a non-open-source license or depend on packages with non-open-source license.

Dependency

In addition the dependencies listed below are partially or fully included or required during build time. Please note, that the version numbers given are the versions of opam packages, which do not always match with the version of the supplied packages. E.g. some opam packages just refer to latest packages e.g. installed by MacPorts, Homebrew or Linux system package managers.
zarith.1.14
Implements arithmetic and logical operations over arbitrary-precision integers
z3.4.13.0-3
Z3 solver
yojson.2.2.2
Yojson is an optimized parsing and printing library for the JSON format
stdlib-shims.0.3.0
Backport some of the new stdlib features to older compiler
sexplib0.v0.16.0
Library containing the definition of S-expressions and some base converters
seq.base
Compatibility package for OCaml'apos;s standard iterator type starting from 4.07.
result.1.5
Compatibility Result module
re.1.12.0
RE is a regular expression library for OCaml
ppxlib.0.33.0
Standard infrastructure for ppx rewriters
ppx_sexp_conv.v0.16.0
plugin to generate S-expression conversion functions
ppx_import.1.11.0
A syntax extension for importing declarations from interface files
ppx_hash.v0.16.0
A ppx rewriter that generates hash functions from type expressions and definitions
ppx_deriving_yojson.3.9.0
JSON codec generator for OCaml
ppx_deriving.5.2.1
Type-driven code generation for OCaml
ppx_derivers.1.2.1
Shared [@@deriving] plugin registry
ppx_compare.v0.16.0
Generation of comparison functions from types
parsexp.v0.16.0
S-expression parsing library
ocamlgraph.2.1.0
A generic graph library for OCaml
ocamlfind.1.9.5~relocatable
A library manager for OCaml
ocamlbuild.0.15.0
OCamlbuild is a build system with builtin rules to easily build most OCaml projects
ocaml.4.14.2
The OCaml compiler (virtual package)
ocaml-variants.4.14.2+options
Official release of OCaml 4.14.2
ocaml-option-flambda.1
Set OCaml to be compiled with flambda activated
ocaml-config.2
OCaml Switch Configuration
ocaml-compiler-libs.v0.12.4
OCaml compiler libraries repackaged
num.1.5-1
The legacy Num library for arbitrary-precision integer and rational arithmetic
menhirSdk.20231231
Compile-time library for auxiliary tools related to Menhir
menhirLib.20231231
Runtime support library for parsers generated by Menhir
menhirCST.20231231
Runtime support library for parsers generated by Menhir
lablgtk3.3.1.5
OCaml interface to GTK+3
lablgtk3-sourceview3.3.1.5
OCaml interface to GTK+ gtksourceview library
host-system-other.1
OCaml on an unidentified system
host-arch-arm64.1
OCaml on AArch64 (64-bit)
gmp-ecm.7.0.3
GMP-ECM library for the Elliptic Curve Method (ECM) for integer factorization
elpi.1.18.2
ELPI - Embeddable λProlog Interpreter
easy-format.1.3.4
High-level and functional interface to the Format module of the OCaml standard library
csexp.1.5.2
Parsing and printing of S-expressions in Canonical form
cppo.1.7.0
Code preprocessor like cpp for OCaml
coqide-server.8.19.2
The Coq Proof Assistant, XML protocol server
coq-vst-zlist.2.13
A list library indexed by Z type, with a powerful automatic solver
coq-stdlib.8.19.2
The Coq Proof Assistant -- Standard Library
coq-metacoq-utils.1.3.1+8.19
The utility library of Template Coq and PCUIC
coq-metacoq-translations.1.3.1+8.19
Translations built on top of MetaCoq
coq-metacoq-template.1.3.1+8.19
A quoting and unquoting library for Coq in Coq
coq-metacoq-template-pcuic.1.3.1+8.19
Translations between Template Coq and PCUIC and proofs of correctness
coq-metacoq-safechecker.1.3.1+8.19
Implementation and verification of safe conversion and typechecking algorithms for Coq
coq-metacoq-safechecker-plugin.1.3.1+8.19
Implementation and verification of an erasure procedure for Coq
coq-metacoq-quotation.1.3.1+8.19
Gallina quotation functions for Template Coq
coq-metacoq-pcuic.1.3.1+8.19
A type system equivalent to Coq'apos;s and its metatheory
coq-metacoq-erasure.1.3.1+8.19
Implementation and verification of an erasure procedure for Coq
coq-metacoq-erasure-plugin.1.3.1+8.19
Implementation and verification of an erasure procedure for Coq
coq-metacoq-common.1.3.1+8.19
The common library of Template Coq and PCUIC
coq-mathcomp-classical.1.1.0
A library for classical logic for mathematical components
coq-core.8.19.2
The Coq Proof Assistant -- Core Binaries and Tools
python-3.9.0.0
Virtual package relying on Python-3 installation
pkg-config.3
Check if pkg-config is installed and create an opam switch local pkgconfig folder
mpfr.3
Virtual package relying on library MPFR installation
libtool.1
Virtual package relying on libtool installation
libjpeg.1
Virtual package relying on a libjpeg system installation
gtksourceview3.0+2
Virtual package relying on a GtkSourceView-3 system installation
gtk3.18
Virtual package relying on GTK+ 3
gmp.4
Virtual package relying on a GMP lib system installation
gcc.1.0
Virtual package relying on the gcc compiler (for C)
g++.1.0
Virtual package relying on the g++ compiler (for C++)
flex.2
Virtual package relying on GNU flex
findutils.1
Virtual package relying on findutils
cairo.1
Virtual package relying on a Cairo system installation
c++.1.0
Virtual package relying on the c++ compiler
boost.1
Virtual package relying on boost
bison.2
Virtual package relying on GNU bison
bash.1
Virtual package to install the Bash shell
automake.1
Virtual package relying on GNU automake
autoconf.0.2
Virtual package relying on autoconf installation
adwaita-icon-theme.2
Virtual package relying on adwaita-icon-theme
cmdliner.1.3.0
Declarative definition of command line interfaces for OCaml
camlp-streams.5.0.1
The Stream and Genlex libraries for use with Camlp4 and Camlp5
cairo2.0.6.4
Binding to Cairo, a 2D Vector Graphics Library
biniou.1.2.2
Binary data format designed for speed, safety, ease of use and backward compatibility as protocols evolve
base.v0.16.3
Full standard library replacement for OCaml
base-unix.base
No synopsis available
base-threads.base
No synopsis available
base-bigarray.base
No synopsis available
atdts.2.15.0
TypeScript code generation for ATD APIs
atdgen.2.15.0
Generates efficient JSON serializers, deserializers and validators
atdgen-runtime.2.15.0
Runtime library for code generated by atdgen
atd.2.15.0
Parser for the ATD data format description language