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.
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 executablerz.exe
(so called also on Linux and MacOS) - optionally, to test whether RZ has compiled properly, run
make test
.
Run
./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.