Introduction. This repo contains a basic Scala 3 implementation of an LCF-style interactive theorem prover for the HOL(C) logic introduced in the paper
A modest proposal: explicit support for foundational pluralism
by Dominic Mulligan and Martin Berger. The paper is available at arxiv.org/abs/2302.10137.
HOL(C) is a natural deduction presentation of HOL, but with a ternary
judgement
Compiling, testing and running the code. All relevant code is in
the src
directory and can be compiled and executed with the scalac
compiler. The code is more easily used with sbt
, using the provided
build.sbt
file, by invoking
sbt compile
for compilation. Invoking
sbt test
executes a few property-based unit tests. Invoking
sbt run
executes integration tests, which are small theorems, including Peirce's law, proved using basic tactics.