§ Resolution is Refutation Complete
- Constructive proof.
- We take soundness for granted since it easy by induction on the proof length.
- We prove this by induction on number of literals in the full clausal set. So for a clausal set
{{A, B}, {C, D}} our induction measure is 4.
§ One literal
- If we have 1 literal, then our clause set looks like
{{A}} which cannot be UNSAT. Thus, we trivially will find a contradiction if one exists.
§ n+1 literals
- Suppose there is assignment that makes the formula UNSAT.
- Then we wish to show that resolution will find
False. - Since we have
n+1 literals, there must be at least one clause C that has two literals. - Let
L be one of the literals in clause C. Suppose L occurs as a +ve literal (mutatis mutandis for -ve occurrence.) Write C := C' U { L }, and write the full set of clauses S as S := S' U { C }. - Note that
S' cannot be empty, as we know that S is UNSAT. - If
L does not occur in negative position in any other literal, it can be eliminated from the problem, and we have reduced the number of literals. Use IH to get a resolution contradiction proof of the reduced problem, which is a resolution proof of the original problem. - Since
S := S' U { C } is UNSAT, this means that S' /\ C, or S' /\ (C \/ L) is false. This is to say that (S' /\ C) \/ (S' /\ L) is false, which means that both (S' /\ C) as well as (S' /\ L) is false. - So, by IH, there must be resolution proofs for both
S' U {C} as well as S' U {{L}}. - Now, consider the resolution DAG for
S' U {C}. If {C} is not used in the final derivation of the contradiction, we have a resolution proof using only S'. We can reuse the same resolution proof for S' /\ (C \/ L), so we are done! - By the exac same argument, we can disregard the case where in the resolution proof in
S' U {{L}}, L was not used. - So now, we have two resolution dags, one with
S', {C} |- ... |- False, and one with S', {L} |- ... |- False. - Recall that we finall want a resolution proof for the clause
{C, L}. So what we do is we "percolate" the resolution proof of S', {c} with L, giving us a resolution DAG of the form S', {C, L} |- ... |- L. We then "graft" this tree onto the one with S', {L} |- ... |- False to get the full resolution proof for S', {C, L} |- ... |- False!