Automated Theorem Proving
Advanced Resolution
Reiner Hähnle
Department of Computer Science
Technische Universität Darmstadt
13 June 2014
ATP: Advanced Resolution
TU Darmstadt, Software Engineering Group
140613
1 / 12
Proof Procedures for Resolution
The Basic Level Saturation Procedure
Given a set of first-order clauses S
while (2 6∈ S ) {
δ = all resolvents and proper factors of clauses in S ;
S = S ∪ δ;
}
Input Clauses
Clauses with minimal derivation length 1
Clauses with minimal derivation length 2
..
.
Clauses with minimal derivation length i
..
.
I
I
Simple
Easy to implement
ATP: Advanced Resolution
I
I
S grows very quickly
Refinement at clause level?
TU Darmstadt, Software Engineering Group
140613
2 / 12
Proof Procedures for Resolution Cont’d
Saturation with One Clause per Level
while
C =
δ =
S =
}
I
(2 6∈ S && S 6= ∅) {
oldest clause in S not yet used;
all resolvents and proper factors of C and clauses in S ;
S ∪ δ;
Both proof procedures are strongly complete, because:
I
I
I
Resolution is not destructive
Fairness implemented via level saturation/time-stamped queue
Obvious redundancy (to get rid of later):
resolvents with identical parents generated more than once
ATP: Advanced Resolution
TU Darmstadt, Software Engineering Group
140613
3 / 12
Redundancy
Definition (Resolution Derivation with Redundant Clauses)
A resolution derivation (for S0 ) is a finite or countable sequence
S0 .R S1 .R S2 .R · · ·
For i ≥ 0, Si .R Si ∪ {E } or Si .R Si −{E } and E is redundant in Si .
Result of infiniteSresolution
derivation are the persistent clauses:
T
the limit S∞ = i j≥i Sj .
Redundancy Criteria
I
All tautological clauses: {{L, L}} ∪ C
I
Generally, whenever unsatisfiability of S is preserved
Theory of redundancy (Bachmair & Ganzinger 2001, p35ff)
ATP: Advanced Resolution
TU Darmstadt, Software Engineering Group
140613
4 / 12
Concrete, Non-Trivial Redundancy: Subsumption
Definition (Subsumption)
A clause C subsumes a clause D if there is a substitution σ such that
C σ ⊆ D (as multisets).
Example
1. {{p}}
2. {{p(x)}}
{{p, q}}
subsumes
subsumes
3. {{p(x, z), q(z)}}
σ = {x/b, z/a}
{{p(a)}} with σ = {x/a}
subsumes
{{q(a), p(b, a), r (u)}} with
4. Each clause subsumes itself with σ = {}
5. A clause does not subsume any of its proper factors
6. A proper factor may or may not subsume its parent
7. Any factor of a ground clause subsumes its parent
8. If C subsumes D, then C |= D, but not always vice versa
.ATP: Advanced Resolution
TU Darmstadt, Software Engineering Group
140613
5 / 12
Subsumption
Definition (Clause Deletion in Derivations Caused by Subsumption)
Full subsumption Delete E from S whenver E subsumed by a
clause in S−{E }
Forward subsumption Delete only resolvent of most recent resolution
step
Backward subsumption Delete only clauses subsumed by (factors of)
most recent resolvent
Theorem (Complexity of First-Order Subsumption)
The problem to decide whether two first-order clauses subsume each
other is NP-complete.
Optimize the common case (subsumption fails): term indexing
ATP: Advanced Resolution
TU Darmstadt, Software Engineering Group
140613
6 / 12
Subsumption Cont’d
Example
{{¬q(y ), ¬q(y )}}
|
{z
}
resolvent
does not subsume any of
{{ p(x, y ), ¬q(x)}}
{{¬p(y , y ), ¬q(y )}}
{z
}
|
parents
{{¬q(y ), ¬q(y )}}
{{¬q(y )}}
| {z }
factor
subsumes all of
ATP: Advanced Resolution
{{ p(x, y ), ¬q(x)}}
{{¬p(y , y ), ¬q(y )}}
TU Darmstadt, Software Engineering Group
140613
7 / 12
General Redundancy
Exploit that counter-model construction proceeds on ordered clauses
Definition (Redundant Clause)
A clause C (not necessarily in S) is redundant wrt S if there are smaller
clauses {C1 , . . . , Ck } in S such that {C1 , . . . , Ck } |= C .
Example
1. Tautological clauses are redundant wrt any clause set
2. If C is subsumed by D ∈ S with C 6= D then C is redundant wrt S
Theorem
The problem whether two first-order clauses C , D imply each other, i.e.,
D |= C is undecidable.
ATP: Advanced Resolution
TU Darmstadt, Software Engineering Group
140613
8 / 12
General Redundancy Cont’d
Definition (Saturation up to Redundancy)
A clause set S is saturated up to redundancy if any resolvent/factor
from non-redundant premisses in S is redundant wrt S.
Inductive model construction “compatible” with redundancy
Theorem (Reminder)
Let C be minimal counter example in 2 6∈ S for IS .
Then factoring, followed by resolution with parent clauses C , D in S is
possible such that:
Resolvent E of C , D is smaller counter example in S than C .
Theorem
If a clause set S saturated up to redundancy and does not contain the
empty clause, then it has a model.
ATP: Advanced Resolution
TU Darmstadt, Software Engineering Group
140613
9 / 12
Ordered Resolution with Selection
“For free” refinements from analysis of inductive model construction
Assumptions (Ordered Resolution Step)
I
I
I
I
One parent C = C 0 ∪ {{¬p}} is non-productive
p is produced by D = D 0 ∪ {{p, . . . , p}}
D factored to E = D 0 ∪ {{p}}
Factoring and resolution together yields E 0 = C 0 ∪ D 0
Consequences (from analysis of model construction)
1. Resolved upon literals in both parent clauses maximal, but any
non-maximal negative literal in C 0 could have been selected
2. p greater than any literal in D 0 (not merely maximal)
3. Factored literal maximal
4. Factoring required only with positive literals
ATP: Advanced Resolution
TU Darmstadt, Software Engineering Group
140613
10 / 12
Ordered Resolution with Selection Cont’d
Definition (Selection Function)
A selection function f maps each clause into a (possibly empty)
sub-multiset of its negative literals.
Definition (Binary Ordered Ground Resolution with Selection)
C 0 ∪ {{ ¬p }}
← main premiss C
D 0 ∪ {{ p }}
← side premiss D
C 0 ∪ D0
← resolvent
I
Either ¬p selected or (f (C ) = ∅ & p maximal wrt C 0 )
I
p greater than any literal in D 0
I
f (D) = ∅
ATP: Advanced Resolution
TU Darmstadt, Software Engineering Group
140613
11 / 12
140613
12 / 12
Ordered Resolution with Selection Cont’d
Definition (Ordered Positive Ground Factoring)
D 0 ∪ {{ p, . . . , p }}
D 0 ∪ {{ p }}
I
p is maximal in D 0
I
f (D) = ∅
ATP: Advanced Resolution
← parent D
← factor
TU Darmstadt, Software Engineering Group
© Copyright 2026 Paperzz