HOLTrace
HOLTrace: ML REPL

The command-line tool holtrace2ml takes a trace on standard output and prints OCaml commands on standard output. The OCaml commands are essentially a series of HOL Light kernel calls, and if they are provided as input to HOL Light then they will verify proofs similarly to holtrace_restore, while printing out each lemma (not just the named theorems). These commands will also check definitions against existing definitions, but (unlike holtrace_restore) will not allow new definitions.

This tool is written in C and is not necessarily safe to run on untrusted input. A VM is recommended.

On rome1, holtrace2ml takes 1.53 seconds and 42MB RAM to convert the 37.5MB pruned trace of hol.ml into a 252MB file containing OCaml commands (gzip -9 reduces this to 40.5MB).

Reading the commands into OCaml is much less efficient than holtrace_restore. (Also, OCaml's .ml parser produces Uncaught exception: Stack overflow around 9MB of input.) However, the verbosity can be useful for humans.


Version: This is version 2025.06.17 of the "ML REPL" web page.