Skip to content
A tool for automatic generation of specifications based on realizability theory
TeX OCaml Isabelle Coq Makefile Perl Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


RZ is a tool for automatic generation of program specifications from definitions of mathematical theories. It was written by Chris Stone and Andrej Bauer. The purpose of RZ is to help programmers and mathematicians design data structures which properly implement mathematical structures (algebras, real numbers, Hilbert spaces, etc.)

A good starting point to learn about RZ is the paper "RZ: a Tool for Bringing Constructive and Computable Mathematics Closer to Programming Practice". You may also browse RZ-related blog posts.

Compiling RZ

RZ is a pretty old piece of software written in the OCaml programming language.

You will also need make and possibly diff, which you likely have already.

To compile RZ, perform the following steps from the command line

  • change to the subdirectory src
  • run make to create the executable rz.exe (so called also on Linux and MacOS)
  • optionally, to test whether RZ has compiled properly, run make test.

Usage and help


./rz.exe --help

to see basic usage information.

The subdirectory examples contains examples of RZ input files. If you run RZ on them, it will generate corresponding output file (with extension .mli).

Unfortunately, there is no user manual for RZ at this time. If you need help with getting RZ to work, please contact us.

You can’t perform that action at this time.