Constructing a partial resolution theorem proving program, and exercising it by using it to prove correctness of plans from the blocks world toy domain. The partial resolution theorem prover is a reduced version of a full-blown FOL resolution theorem prover. The input is a formula in disjunctive normal form. The program should produce a proof that the formula is a contradiction.
Equality is to be treated as a special predicate implemented by a special function.
Define your own syntax variant such that you do not need to perform elaborate parsing. All input is already skolemized. Use any scheme you wish to separate out constants from variables. You do not need to implement the search component of the theorem prover. Your program only performs the unification and the resolution, and adds the result to the set of clauses.