Stateless HOL
Freek Wiedijk (Radboud University Nijmegen)

TL;DR
This paper introduces a stateless version of HOL Light that maintains soundness while allowing undoing definitions, achieved by moving tracking outside the kernel and using pairs of strings and definitions for constants.
Contribution
The authors develop a mostly compatible, efficient, and sound stateless HOL Light system by restructuring how constants are tracked and represented.
Findings
System runs at 85% of the speed of the original HOL Light
Kernel remains purely functional, enhancing soundness
Existing developments require only minor modifications to run on the new system
Abstract
We present a version of the HOL Light system that supports undoing definitions in such a way that this does not compromise the soundness of the logic. In our system the code that keeps track of the constants that have been defined thus far has been moved out of the kernel. This means that the kernel now is purely functional. The changes to the system are small. All existing HOL Light developments can be run by the stateless system with only minor changes. The basic principle behind the system is not to name constants by strings, but by pairs consisting of a string and a definition. This means that the data structures for the terms are all merged into one big graph. OCaml - the implementation language of the system - can use pointer equality to establish equality of data structures fast. This allows the system to run at acceptable speeds. Our system runs at about 85% of the speed of…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
