Skip to content

In this bachelor thesis, I developed a toolkit for automated reasoning and interpolation with ordered resolution.

License

Notifications You must be signed in to change notification settings

TimMerker/AutomatedReasoning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Toolkit for automated reasoning and interpolation with ordered resolution

In this bachelor thesis, I developed a toolkit for automated reasoning and interpolation with ordered resolution. Firstly, the theoretical aspects of propositional logic are covered in the preliminaries section, including syntax and semantics, the transformation of formulae in conjunctive and disjunctive normal form, the ordered resolution calculus with redundancy elimination, and Craig interpolation. Based on this, we developed a console application which provides these functionalities. The program can be run in a teaching mode or the result mode and serves as a guideline for students in propositional logic. The program is written in the programming language Java.

For the implementation of the ordered resolution calculus, we require a formula as an input. We implemented two methods for computing CNFs, the first one using equivalences in propositional logic, the second one using structure-preserving transformations. Through ordered resolution, we test the satisfiability of a clause set. If it is unsatis- fiable, we return falsum and we construct proof for the unsatisfiability of the clause. Otherwise, if the clause set is satisfiable, we return a model of the clause set using the canonical construction of interpretations. The ordered resolution calculus is used in a further test, to identify redundant clauses of a clause set and eliminate them. For the Craig interpolation, we use the ordered resolution calculus. Only specified atoms are used in the inferences of the ordered resolution. These atoms are marked as maximal in their clause. Last but not least, Craig interpolation is a further application of the ordered resolution calculus. Craig interpolation returns an interpolant, which is the cause for the unsatisfiability of the union of two clause sets.

The theoretical concepts and further documentation of the source code are presented in thesis.pdf.