You are on page 1of 5

5.

RESOLUTION PROOF METHOD


5.1. Resolution method for propositional logic
Resolution, as a syntactic proof method, is introduced by the formal (axiomatic) system:
Res  ( Res , FRes , ARes , RRes ) as was proposed in paper:
  Res   P  {, ,} is the alphabet;
 FRes  { □ } is the set of well-formed formulas;
- FRes is the set of all clauses built using the alphabet  Res ;
- □ is the empty clause which does not contain any literal and it symbolizes inconsistency;
 ARes   is the set of axioms ;
 RRes  {res } is the set of inference rules containing the resolution rule (res): f  l , g  l | res f  g , where l is a
literal and f , g  FRes .

Definition 5.1.
The clauses C1  f  l and C2  g  l ( l is a literal and f , g  FRes ) are called clashing clauses and they resolve upon the
literal l . We use the notation: C  Res l (C1 , C 2 )  f  g , where C is called the resolvent of the parent clauses C1 and C 2 .

If C1  l and C 2  l , Res l (C1 , C2 )  □ (empty clause) which is inconsistent.

Graphical representation:
C1  f  l C 2  g  l C1  l C 2  l

C  Res l (C1 , C 2 )  f  g Res l (C1 , C 2 )  □

Resolution as an inference rule is a generalization of the rules: modus ponens, modus tollens and the syllogism rule.

Theorem 5.1. Soundness theorem


If the empty clause is derived from the set S of propositional clauses using the resolution algorithm ( S | Res □), then S is an
inconsistent set.
Theorem 5.2. Completeness theorem
If the set S of propositional clauses is inconsistent, then the empty clause can be derived from S using the resolution algorithm
( S | Res □).

Theorem 5.3. Soundness and completeness theorem


A set S of propositional clauses is inconsistent if and only if S | Res □.

Theorem 5.4.
A propositional formula U is a theorem (tautology) if and only if the empty clause can be derived from the conjunctive normal
form of U , using the resolution algorithm.
U is a theorem (tautology) if and only if CNF (U ) | Res □.

Theorem 5.5.
Let U1 ,U 2 ,...,U n , V be propositional formulas.
U1 , U 2 ,...,U n | V if and only if U1 , U 2 ,...,U n | V if and only if
CNF (U1  U 2  ...  U n  V ) | Res □.
The following theorem, inspired from Davis-Putman procedure [15], introduces a set of transformations used to simplify an
initial set of clauses, preserving its consistency/inconsistency.
Theorem 5.6.
A set S of propositional clauses can be simplified, preserving its consistency/inconsistency, by applying the following
transformations:
1. Delete the clauses that are tautologies because they are not useful in the derivation of the empty clause (from true we
cannot derive false).
2. Delete the clauses subsumed by other clauses of S .
C1 is subsumed by C 2 and C 2 subsumes C1 if there exists a clause C 3 such that C1  C2  C3 .
3. Delete every clause that contains a pure literal.
A pure literal in the set S of clauses is a literal that appears in a clause of S , but its negation does not appear in any clause
of S .
4. Let C  l be a unit clause of S . Delete every clause containing l and delete l from every remaining clause.
Remarks:
 If  is obtained by applying all the above transformations on a set S of clauses, then S is a consistent set.
 If the empty clause (□) is obtained by applying all the above transformations on a set S of clauses then S is inconsistent.

5.2. Strategies for propositional resolution

1. The level saturation strategy [52] generates levels of resolvents corresponding to the exploration of the whole search space
which contains all the possible resolvents.
2. The deletion strategy [15]: the resolvents that are tautologies or are subsumed by other clauses in the set S of clauses are
eliminated and they will not be used further in the resolution process because they produce redundant clauses.

3. The set-of-support strategy [65] avoids resolving two clauses belonging to a consistent subset of the initial set of clauses,
because the resolvents derived from a consistent set are irrelevant in the process of deriving □ (inconsistency).

Let S be a set of clauses. A subset Y of S is called the support set of S , if the set S \ Y is consistent. The set-of-support
resolution is the resolution of two clauses that are not both from the set S \ Y . The resolvents generated during the resolution
process are added to Y .

In order to make the resolution process more efficient, the refinements of resolution (lock resolution, linear resolution,
semantic resolution) impose restrictions on the clashing clauses.

5.3. Lock resolution


 Each occurrence of a literal from a set of clauses is arbitrarily indexed with an integer.
 Restriction: the literals resolved upon must have the lowest indices in their clauses.
 The literals from resolvents inherit the indices from their parent clauses. If the parent clauses have a common literal, in the
resolvent this literal will have the lowest index from the inherited indices.
 At the implementation level we must combine lock resolution with the level saturation strategy in order to check all the
possible ways of deriving □.
Theorem 5.7. Soundness
Let S be a set of clauses having each literal arbitrarily indexed with an integer. If from S the empty clause can be derived
using lock resolution ( S |lock
Res □), then S is inconsistent.
Theorem 5.8. Completeness
Let S be a set of clauses having each literal arbitrarily indexed with an integer. If S is inconsistent, then there is a lock
derivation of the empty clause from S ( S |lock
Res □).
The completeness property is not preserved if lock resolution is combined with the deletion strategy or with the set-of-support
strategy.

5.4. Linear resolution

The resolution process is a linear one: at each step one of the parent clauses is the resolvent derived at the previous step.
For a set S of clauses, a linear deduction of C n from S with C0  S as the top clause is symbolized graphically as follows:
C0 B0

C1 B1
C 0 is the top clause
C2 B2 C1 , C2 ,...Cn 1 , Cn are central clauses
B0 , B1 ,..., Bn 1 are side clauses

Bn  2 i  1,...,n : Ci  Re s(Ci 1 , Bi 1 )
i  0,...,n  1 : Bi  S  {C0 , C1,...,Ci  2 }
C n 1 B n 1

Cn

Theorem 5.9. Soundness and completeness


The set S of clauses is inconsistent if and only if S | lin
Res □.

We can combine the linear resolution with the deletion strategy and the completeness property is preserved.
This refinement of resolution also provides a strategy at the implementation level: backtracking algorithm. At each iteration, for
the current central clause there are more possible side clauses. We continue the resolution process choosing one side clause. If at
the iteration ‘ i ’ the process is blocked (the central clause Ci is a tautology or it is an existing central clause: Ci  C j , j < i , or
Ci does not have side clauses) or all the side clauses of Ci were used, then we go back to the previous iteration ( i  1 ) and we
choose another possible side clause for Ci 1 to continue the resolution process.

The algorithm stops in two cases:


 the empty clause was derived and the conclusion is that S is inconsistent.
 for the top clause all the possible side clauses were used, but the empty clause was not derived, then we conclude that the
set S is consistent.
The consistency of a set of clauses is proved after a complete search without the derivation of the empty clause.
Special cases of linear resolution:
 unit resolution: the central clauses have at least a unit clause as a parent clause.
 input resolution: all side clauses are initial (input) clauses.
The equivalence of unit resolution and input resolution is expressed by the following theorem.
Theorem 5.10.
unit
Let S be a set of propositional clauses. S |input
Res □ if and only if S | Res □.

These two refinements of resolution are sound, but they are not complete:
soundness: If S |input
Res
/ unit
□ then S is inconsistent;
incompleteness: there exist inconsistent sets of clauses from which □ cannot be derived using input or unit resolution.
Definition 5.2.
A clause is called a positive clause if it contains only positive literals. A clause is called a negative clause if it contains only
negative literals. A clause is called Horn clause if it contains exactly one positive literal, all the other literals are negative.
Theorem 5.11.
The input resolution is complete on a set of Horn clauses with a negative top clause. (PROLOG).

Example 5.1. knowledge base


From the hypotheses:
H1 : U1  U 2  ...  U n  V
H 2 : X1  X 2  ...  X l  Y

H j : W1  W2  ...  Wm  R
is C  Z1  Z 2  ...  Z m deducible?
To prove by refutation using resolution we have to transform into clausal normal forms the hypotheses and the negation of the
conclusion.
A formula of type: U1  U 2  ...  U n  V provides a Horn clause:
U1  U 2  ...  U n  V
The hypothesis H i provides the Horn clause Ci , i  1,2,..., j .
The negation of C is ( Z1  Z 2  ...  Z m ) and provides a negative clause:
C j 1  Z1  Z 2  ...  Z m
We have to apply the input resolution to the set S  {C1 , C2 ,..., C j , C j 1} with the top clause C j 1 .
According to Theorem 5.11 we have that: H1, H 2 ,..., H j | C if and only if S |input
Re s □.
5.5. Resolution in first-order (predicate) logic
We present the predicate resolution as a formal (axiomatic) system according to the approach from paper:
Res Pr  ( Pr Pr Pr Pr
Res , FRes , ARes , RRes ) , where:

  Pr
Res   Pr  {, ,, , } is the alphabet;

 Pr
FRes  {□} is the set of well- formed formulas;
- Pr
FRes is the set of all clauses built using the alphabet  PRes
r
;
- □ is empty clause;
 Pr
ARes   is the set of axioms;
 Pr
RRes  {res Pr , fact} is the set of inference rules containing the resolution rule ( resPr ) and the factoring rule (fact).
f  l1, g  l2 |res Pr  ( f )   ( g ) , where   mgu (l1 , l2 ) , f , g  FRes
Pr
.
l1  l2  ...  lk  lk 1  ...  ln | fact  (l1  lk 1  ...  ln ) where   mgu (l1, l2 ,...,lk )

Definition 5.3.
The predicate clauses C1  f  l1 and C2  g  l2 , without common free variables, are called clashing clauses if the literals l1
and l 2 are unifiable: there exists   mgu (l1, l2 ) .
The binary resolvent of C1 and C 2 is C  Res Pr (C1, C2 )   ( f )   ( g ) .
If C  l1  l2  ...  lk  lk 1  ...  ln ; l1 , l 2 ,..., l n -literals and   mgu (l1, l2 ,...,lk )
Fact (C )   (l1)   (lk 1)  ...   (ln ) is called a factor of C .
These two inference rules are combined and the definition of a predicate resolvent is obtained.
Definition 5.4.
The predicate resolvent of two parent clauses C1 and C 2 is one of the following:
1. the binary resolvent of C1 and C 2 ;
2. the binary resolvent of C1 and a factor of C 2 ;
3. the binary resolvent of a factor of C1 and C 2 ;
4. the binary resolvent of a factor of C1 and a factor of C 2 .
Theorem 5.12.
Let U1 ,U 2 ,U n ,V be first-order formulas.
| V ( | V ) if and only if (V ) c | PRes
r
□.
U1 ,U 2 ,...,U n | V if and only if {U1c , U 2 c ,...,U n c , ( V )c } | Pr
Res □.

All the refinements and strategies of resolution in propositional logic can be used in predicate logic. It is recommended to
rename the free variables in the initial set of predicate clauses, such that they will be distinct in different clauses.

Theorem 5.13. (Church 1936)


The problem of validity of a first-order formula is undecidable, but it is semi-decidable. If a procedure Proc is used to check the
validity of a first-order formula U we have the following cases:
 if the formula U is valid, then Proc ends with the corresponding answer.
 if the formula U is not valid, then Proc ends with the corresponding answer or Proc may never stop.

You might also like