Installation of HOLTrace is designed to allow normal HOL Light usage,
while adding options to HOL Light to
save
and
verify
traces.
HOLTrace also includes separate command-line tools (written in C, C++, and Python) to handle traces;
currently these tools are usable only in the holtrace-* package directory.
Prerequisites
The instructions below
have been tested on a server named rome1 running Debian 11
with the build-essential, opam, python3, pypy3, texlive-xetex, and xdot packages installed,
in a user account that ran
time opam init github git+https://github.com/ocaml/opam-repository.git --disable-sandboxing -a
time opam switch create 5.2.0
time opam install 'hol_light=3.1.0' -y
eval `opam env`
to install HOL Light 3.1.0 with the OCaml 5.2 bytecode compiler.
The server has two AMD EPYC 7742 CPUs,
but timings reported in this documentation
use only one core (except for holtrace2tex).
Overclocking on the server has been (manually) disabled,
so the CPUs run at 2.245GHz.
HOLTrace installation
Make sure you are in the holtrace-* package directory.
Run make -j8 to compile the C/C++ tools.
Modify the HOL Light installation to include (1) holtrace.ml
and (2) a hashtt patch to precompute hashes of types, terms, and theorems:
./install+hashtt
Now test the installation.
Alternative installations
Instead of ./install+hashtt,
you can run ./install to install just holtrace.ml without the hashtt patch.
Reasons to use ./install rather than ./install+hashtt:
-
Compared to normal HOL Light and to
./install,./install+hashttincreases CPU time for normal usage. The increase is typically between 10% and 30%. -
./installis less invasive than./install+hashttand has a lower risk of bugs.
Reasons to use ./install+hashtt rather than ./install:
./install+hashttis much faster for saving traces than./installis.
You can run ./uninstall to undo ./install+hashtt or to undo ./install.
If you want to switch between ./install+hashtt and ./install,
you don't have to run ./uninstall in between.
Instead of switching an installation back and forth,
you can set up one account using ./install+hashtt for saving traces,
and another account using ./install for regular use (including replaying traces).
Version: This is version 2025.06.30 of the "Install" web page.