We describe an implementation of a new theorem prover for Intuitionistic Propositional Logic based on a sequent calculus with histories due to Corsi and Tassi. The main novelty of the prover lies in its use of dependency directed backtracking for global caching. We analyse the performance of the prover, and various optimisations, in comparison to current state of the art theorem provers and show that it produces competitive results on many classes of formulae. 1 Preliminaries IntHistGC is a theorem prover for Intuitionistic Propositional Logic (Int), based on a sound and cut-free complete sequent calculus which uses histories to guar- antee termination. The key element behind the prover's efficiency is the use of global caching to reduce search space. This system description provides an overview of IntHistGC's proof strategy, implementation, optimisations and an analysis of performance in comparison to the current best provers for Int. Sequent Calculus. Figure 1 presents the standard multiple conclusioned se- quent system for Int using sets of formulae. These rules form the basic elements of the calculus used in our implementation. Note that we assume ¬ϕ := (ϕ →⊥ ). The →L rule may result in infinite looping since the principal formula ϕ → ψ must be copied into the left premise for completeness. Various approaches are known to ensure termination: explicit loop-checking; Vorob'ev's method (1); and the use of complex histories to track loops (2, 3). We take a different approach, by replacing the basic → La nd→ Rr ules with those shown in Figure 2. The →L rule is replaced by a "blocking" version which prevents any further (backward) applications until "unblocked" by a →R-first rule. The →R-rest rule can only (and must) be applied (upwards) if we have previously applied →R-first on the same implication on the same branch. Rules in this calculus either delete a connective or block an implication. Im- plications are only unblocked after the use of a →R-first rule, which is prevented from being applied to the same formula twice. Hence there cannot be an infinite sequence of blocking and unblocking, so backward proof search in this calculus always terminates. Although this calculus was developed independently, recently we have learnt that it is functionally identical to the sequent calculus IG (4).
['Rajeev Goré', 'Jimmy Thomson', 'Jesse Wu']
A History-Based Theorem Prover for Intuitionistic Propositional Logic Using Global Caching: IntHistGC System Description