mit-plv/riscv-coq

RISC-V Specification in Coq

119

stars

687

commits

Rocq Prover

primary language

Sep 7, 2026

updated

README

RISC-V Specification in Coq

Generated from the RISCV Semantics in Haskell using hs-to-coq, with some manually written Coq files too. Currently, the architectures RV32I and RV64I with any combination of the extensions A and M are supported.

Build

You will need the latest released version of Coq, or master.

riscv-coq depends on the coqutil library. You can get this dependency and build the project using the following commands:

git clone https://github.com/mit-plv/coqutil.git
git clone https://github.com/mit-plv/riscv-coq.git
make -C coqutil
cd riscv-coq/
make

If it doesn't build

If something doesn't work, you could try to do exactly the same as bedrock2 does, which uses riscv-coq as a dependency and has continuous integration, so if you pick a commit with a green tick there, you can be sure to have a working version.

Contributors

samuelgruetter

574 commits

OwenConoly

42 commits

andres-erbsen

20 commits

Carotti

18 commits

mit-plv/riscv-coq

RISC-V Specification in Coq

119

stars

687

commits

Rocq Prover

primary language

Sep 7, 2026

updated

README

RISC-V Specification in Coq

Generated from the RISCV Semantics in Haskell using hs-to-coq, with some manually written Coq files too. Currently, the architectures RV32I and RV64I with any combination of the extensions A and M are supported.

Build

You will need the latest released version of Coq, or master.

riscv-coq depends on the coqutil library. You can get this dependency and build the project using the following commands:

git clone https://github.com/mit-plv/coqutil.git
git clone https://github.com/mit-plv/riscv-coq.git
make -C coqutil
cd riscv-coq/
make

If it doesn't build

If something doesn't work, you could try to do exactly the same as bedrock2 does, which uses riscv-coq as a dependency and has continuous integration, so if you pick a commit with a green tick there, you can be sure to have a working version.

Contributors

samuelgruetter

574 commits

OwenConoly

42 commits

andres-erbsen

20 commits

Carotti

18 commits

Languages

Rocq Prover

72.4%

C

11.5%

Python

10.6%

SMT

4.2%

Makefile

1.0%