

Introduction to Logic

Tools for Thought


One common use of resolution is in demonstrating unsatisfiability. In clausal form, a contradiction takes the form of the empty clause, which is equivalent to a disjunction of no literals. Thus, to automate the determination of unsatisfiability, all we need do is to use resolution to derive consequences from the set to be tested, terminating whenever the empty clause is generated.

Let's start with a simple example. See the derivation below. We have four premises. The derivation in this case is particularly easy. We resolve the first clause with the second to get the clause shown on line 5. Next, we resolve the result with the third clause to get the unit clause on line 6. Note that r(a) is the remaining literal from clause 3 after the resolution, and r(a) is also the remaining literal from clause 5 after the resolution. Since these two literals are identical, they appear only once in the result. Finally, we resolve this result with the clause on 4 to produce the empty clause.
1.  {p(a,b), q(a,c)}  Premise 
2.  {¬p(x,y), r(x)}  Premise 
3.  {¬q(x,y), r(x)}  Premise 
4.  {¬r(z)}  Premise 
5.  {q(a,c), r(a)}  1, 2 
6.  {r(a)}  5, 3 
7.  {}  6, 4 

Here is a more complicated derivation, one that illustrates renaming and factoring. Again, we have four premises. Line 5 results from resolution between the clauses on lines 1 and 3. This one is easy. Line 6 results from resolution between the clauses on lines 2 and 4. In this case, renaming is necessary in order for the unification to take place. Line 7 results from renaming and factoring the clause on line 5 and resolving with the clause on line 6. Finally line 8 results from factoring line 5 again and resolving with the clause on line 7. Note that we cannot just factor 5 and factor 6 and resolve the results in one step. Try it and see what happens.
1.  {¬p(x,y), q(x,y,f(x,y))}  Premise 
2.  {r(y,z), ¬q(a,y,z)}  Premise 
3.  {p(x, g(x)), q(x,g(x),z)}  Premise 
4.  {¬r(x,y), ¬q(x,w,z)}  Premise 
5.  {q(x,g(x),f(x,g(x))), q(x,g(x),z)}  1, 3 
6.  {¬q(a,x,y), ¬q(x,w,z)}  2, 4 
7.  {¬q(g(a),w,z)}  5, 6 (factoring 5) 
8.  {}  5, 7 (factoring 5) 

In demonstrating unsatisfiability, Resolution and Fitch without DC are equally powerful. Given a set of sentences, Resolution can derive the empty clause from the clausal form of the sentences if and only if Fitch can find a proof of a contradiction. The benefit of using Resolution is that the search space is smaller.

Use the arrow keys to navigate.
Press the escape key to toggle all / one.

