HOLTrace: Install

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:

Reasons to use ./install+hashtt rather than ./install:

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.