Resolution
“If you flee from the things you fear, there’s no resolution.”
—Chuck Palahniuk
Resolution is very simple proof system that is the foundation of many of
the most successful attempts to have computers prove theorems
automatically. However, Resolution proofs are not organized in the way
that humans tend to think, and so they are not particularly easy to read
or understand.
The Resolution Rule
Definition
The Resolution Rule is
A∨CA∨B¬B∨C or more generally,
A1∨⋯∨An∨C1∨⋯∨CmA1∨⋯∨An∨B¬B∨C1∨⋯∨Cm
Here are some concrete examples of applying the (generalized) Resolution
Rule. Of note:
- We freely reorder disjunctions and throw away duplicate disjuncts
(e.g., producing Q instead of Q∨Q).
- We write the case of zero formulas or’ed together as ⊥.
Example
Here are some sample applications of the Resolution Rule.
P∨QP∨QP∨QP∨QRP∨¬Q∨Randandandandandand¬Q∨RR∨¬Q¬P∨Q¬P¬RP∨Q∨SyieldyieldyieldyieldyieldyieldP∨RP∨RQQ⊥P∨R∨S
Resolution Proofs
A Resolution proof is simply a list of assumptions, followed by a
sequence of applications of the resolution rule, ending with ⊥.
Example
Suppose we want to prove
P∨Q, ¬P∨R,¬R,¬Q⊢⊥.
One such proof is:
1.2.3.4.5.6.7.P∨Q¬P∨R¬R¬QQ∨RR⊥AssumptionAssumptionAssumptionAssumption(1,2)(4,5)(3,6)
In a Resolution proof it suffices to just mention the lines justifying
our proof steps. The rule being used is always the Resolution Rule.
Beyond Clauses
There are two objections that one might have to resolution. The first
is, “Why are we always proving ⊥?“.
But this is not a restriction, because if we want to prove
A1,…,An⊢B
it suffices to use Proof by
Contradiction and instead prove
A1,…,An,¬B⊢⊥.
The more serious objection is that the resolution rule only works for
disjunctions, whereas WFFs can have conjunctions and implications. But
this can be solved as well, because every WFF is equivalent to a
collection of clauses, and resolution is designed to work with clauses.
Definition
A literal is an atomic formula or its negation
Example
Here are four literals:
P¬QR7¬S′
Definition
A clause is a disjunction of zero or more literals. (Recall that
we write the disjunction of zero literals as ⊥.)
Example
Here are four clauses:
P∨S¬P∨Q∨¬R¬S⊥
We can convert arbitrary WFFs to clauses using the following steps:
- Get rid of implications, e.g., P→Q becomes ¬P∨Q.
- Push negations inward, e.g., ¬(P∧Q) becomes
¬P∨¬Q.
- Distribute ∨ over ∧, e.g., a∨(b∧c) becomes
(a∨b)∧(a∨c).
- Break conjunctions into clauses, e.g., (a∨b)∧(a∨c)
becomes a∨b, a∨c.
Then to prove A1,…,An ⊢ B we:
- Switch to Proof by Contradiction: A1,…,An,¬B ⊢ ⊥.
- Convert A1,…,An and ¬B into clauses.
- Take these as the starting assumptions.
- Apply the Resolution Rule until we reach ⊥
Example
Prove P→Q, P ⊢ Q.
Proof by Contradiction: Rephrase as P→Q, P, ¬Q ⊢ ⊥.
Clauses: P→Q converts to ¬P∨Q, but P and ¬Q
are already clauses.
Proof:
1.2.3.4.6.¬P∨QP¬Q¬P⊥AssumptionAssumptionAssumption(1,3)(2,4) (Other proofs are possible.)
Example
Prove P→Q, Q→R ⊢ P→R.
Proof by Contradiction: Rephrase as P→Q, Q→R, ¬(P→R) ⊢ ⊥.
Clauses:
- P→Q converts to ¬P∨Q;
- Q→R converts to ¬Q∨R;
- ¬(P→R)≡(P∧¬R) converts to the two clauses
P and ¬R.
Proof:
1.2.3.4.5.6.7.¬P∨Q¬Q∨RP¬RQR⊥AssumptionAssumptionAssumptionAssumption(1,3)(2,5)(4,6) (Other proofs are possible.)
Theorem
The Resolution Rule is sound and complete for classical propositional
logic (once we have converted everything into equivalent clauses).