The Supervisionary proof-checking kernel (or: a work-in-progress towards proof generating code)
Dominic P. Mulligan, Nick Spinale

TL;DR
This paper proposes a novel proof-checking kernel design inspired by operating system kernels, emphasizing privilege-based separation over language-based safety, aiming to enhance reliability in theorem proving systems.
Contribution
It introduces the Supervisionary proof-checking kernel concept, applying privilege-based separation to improve trustworthiness in interactive theorem proving software.
Findings
Conceptual framework for privilege-based kernel separation
Potential applications in proof verification systems
Initial system interface sketch
Abstract
Interactive theorem proving software is typically designed around a trusted proof-checking kernel, the sole system component capable of authenticating theorems. Untrusted automation procedures reside outside of the kernel, and drive it to deduce new theorems via an API. Kernel and untrusted automation are typically implemented in the same programming language -- the "meta-language" -- usually some functional programming language in the ML family. This strategy -- introduced by Milner in his LCF proof assistant -- is a reliability mechanism, aiming to ensure that any purported theorem produced by the system is indeed entailed by the theory within the logic. Changing tack, operating systems are also typically designed around a trusted kernel, a privileged component responsible for -- amongst other things -- mediating interaction betwixt user-space software and hardware. Untrusted…
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.
Taxonomy
TopicsSecurity and Verification in Computing · Logic, programming, and type systems · Parallel Computing and Optimization Techniques
