6.2 Wrapping it up (Theorem Proving)

The file prop.pl contains a simple driver for theorem proving:

theorem(Formula) :-         
        naonly(Formula,ConvFormula),
        \+ tabl(false(ConvFormula),[],_).

Test it! theorem(walk(john) v (~walk(john))).

All Files

Here's a summary of the files that make up the implementation we've discussed:

propTabl.pl: View Download

The core of the implementation: tabl/3 and clash/3

comsemLib.pl: View Download

Auxiliary predicates: naonly/2 and toconj/2

prop.pl: View Download

The wrapper for model generation and theorem proving: modGen/3 and theorem/1.

comsemOperators.pl: View Download

Our usual operator definitions

Further Reading

A textbook introduction to formal logics including a discussion of propositional and first-order tableaux methods is [Fit96].


Aljoscha Burchardt, Alexander Koller and Stephan Walter
Version 1.2.5 (20030212)