Monadic effects and equational reasoning in Rocq
77
stars
720
commits
Rocq Prover
primary language
Jul 21, 2026
updated
This Rocq library contains a hierarchy of monads with their laws used in several examples of monadic equational reasoning.
monaeThe easiest way to install the latest released version of Monadic effects and equational reasoning in Rocq is via OPAM:
opam repo add rocq-released https://rocq-prover.org/opam/released
opam install coq-monae
It installs two directories in coq/user-contrib: monae and
monaeImpredicativeSet.
To instead build and install manually (with GNU make), do:
git clone https://github.com/affeldt-aist/monae.git
cd monae
make -j 4
make install
This repository contains a formalization of monads including examples of monadic equational reasoning and several models. This includes for example the formalization of the following papers:
This library has been applied to other formalizations:
impredicative_set for the formalization of [Jaskelioff, Modular Monad Transformers, ESOP 2009] (from Sect. 5)See theories/applications/ for more examples

hierarchy.v)ifmt_lifting.v and iparametricity_codensity.v in the directory impredicative_set
impredicative_set contains a lighter version of Monae where monads live in Set and that compiles with the impredicative-set option of Rocqexample_typed_store.v and example_elgot.vInstallation of monae on Windows is less simple. First install infotheo following the instructions for Windows 11. Once infotheo is installed (with opam), do:
opam install coq-monae or git clone git@github.com:affeldt-aist/monae.git; opam install .Before version 0.2, monae was distributed under the terms of the GPL-3.0-or-later license
Rocq Prover
99.2%
Monadic effects and equational reasoning in Rocq
77
stars
720
commits
Rocq Prover
primary language
Jul 21, 2026
updated
This Rocq library contains a hierarchy of monads with their laws used in several examples of monadic equational reasoning.
monaeThe easiest way to install the latest released version of Monadic effects and equational reasoning in Rocq is via OPAM:
opam repo add rocq-released https://rocq-prover.org/opam/released
opam install coq-monae
It installs two directories in coq/user-contrib: monae and
monaeImpredicativeSet.
To instead build and install manually (with GNU make), do:
git clone https://github.com/affeldt-aist/monae.git
cd monae
make -j 4
make install
This repository contains a formalization of monads including examples of monadic equational reasoning and several models. This includes for example the formalization of the following papers:
This library has been applied to other formalizations:
impredicative_set for the formalization of [Jaskelioff, Modular Monad Transformers, ESOP 2009] (from Sect. 5)See theories/applications/ for more examples

hierarchy.v)ifmt_lifting.v and iparametricity_codensity.v in the directory impredicative_set
impredicative_set contains a lighter version of Monae where monads live in Set and that compiles with the impredicative-set option of Rocqexample_typed_store.v and example_elgot.vInstallation of monae on Windows is less simple. First install infotheo following the instructions for Windows 11. Once infotheo is installed (with opam), do:
opam install coq-monae or git clone git@github.com:affeldt-aist/monae.git; opam install .Before version 0.2, monae was distributed under the terms of the GPL-3.0-or-later license
Rocq Prover
99.2%