Beruflich Dokumente
Kultur Dokumente
Bibliography
SPASS: Combining Superposition, Sorts and Splitting C. Weidenbach Handboook of Automated Reasoning Refinements of Resolution H. de Nivelle Resolution for propositional logic A. Voronkov A Theory of Resolution L. Bachmair and H. Ganzinger Handbook of Automated Reasoning A Machine Oriented Logic Based on the Resolution Principle J.A. Robinson, JACM 1965
General
The unsatisifiability problem for FOL is undecidable
No terminating algorithm which says yes the formula is non satisfiable
The unsatisfiability problem is enumerable Resolution is such enumeration procedure Implemented in Otter, Spass, Bliksem, Vampire, Succeed in proving interesting theorems
Adapts to certain decidable logics
Clauses
A literal is an atom or its negation
positive literal = atom negative literal = negated atom
A clause is a finite multiset of literals The meaning of {A1, A2, , An} is: X1, X2, , Xn: (A1 A2 An) The goal is to refute a given finite set of clauses Prove that C1 C2 Cn D by refuting {C1, C2, , Cn, D}
Unifying Terms
Substitution: A mapping from the set of variables to the terms such that XX only for finitely many X Generalizes to terms and literals is a matcher for terms s and t if s = t is a unifier for terms s and t if s = t is the most general unifier (mgu) of s and t if:
It is a unifier of s and t For every unifier of s and t there exists a substitution such that =
Examples
Term 1 a p(a, X) p(f(X), g(Z)) p(f(X), g(Z)) Term 2 X p(Y, b) p(f(a), Y) p(f(a), Y) Unifier {X h a} {X h b,Y h a} {Xha, Y h g(Z)} {Xha, Y h g(a), Z h a}
mgu
Resolution
C and D clauses w/o overlapping variables P C with positive literals N D with negative literals There exists a substitution
P = {A} N = {A}
Then: ((C P) (D - N) )
where = mgu(P, N)
Example
1:{p(X, Y), p(Y, X)} 2:{p(X, Y), p(Y, Z) , p(X, Z)} 3: {p(X, f(X))} 4: {p(a, a)}
Advantage of separation
Reduce the cost of resolution Reduce the size of clauses
Resolution
1, A 1 I ( 1, 2 1 2 ) =mgu(A, B) p(f(a), p(f(Y)) p(f(X)) p(X) 2 2 , B
Factoring
, A, B I ( , A) =mgu(A, B)
, A, B I ( , A )
Observation
Simple resolution is easy to implement but does not get very far Often diverges due to the inherent complexity of the problem of finding a proof
Large possibly infinite search space
Refinements of resolution
Block certain clauses
Subsumption & Weight strategies
A refinement is complete if every unsatifiable set of clauses has a derivation of the empty clause
Subsumption
Blocks complete clauses from being considered If two clauses C and D exist such that C D then any conclusion from D can also be obtained from C Becomes even more important with equality
Subsumption Deletion
1 1 R 1 2 and 1 2 2 2 1 1
is derived (refutation)
A Simple Example
1: p(f(a) 2: p(f(X) p(X) 3: p(f(a)), p(f(X))
Fair selection
ResutionProver1 is complete when choose is fair
No clauses stays in Us forever
Maintained Invariants
Any inference conclusion (resolution, factoring) from Wo is either a tautology or contained/subsumed by a clause in Wo, Us Wo and Us are completely inter-reduced
taut(Wo Us) = Wo Us strictsub(Wo Us, Wo Us) = Wo Us
Partial correctness
Upon termination Wo is saturated or Us
Subsumption
On non-trivial examples |Wo| ^ |Us| Subsumption test w.r.t. Us becomes the bottleneck (95%)
Maintained Invariants
Any inference conclusion (resolution, factoring) from Wo is either a tautology or contained/subsumed by a clause in Wo, Us Wo is completely inter-reduced
taut(Wo) = Wo strictsub(Wo, Wo) = Wo
Partial correctness
Upon termination Wo is saturated or Us
Ordering
Block certain literals from consideration Impose an order < on literals Apply resolution/factoring only on maximal literals Drastically reduces the number of applied rules Completeness may be an issue Can guarantee termination for certain decidable class of logics
=mgu(A, B)
A is maximal in 1, A 1 B is maximal in 2 2 , B
Propositional example
1: {a, b} 2: {a, b} 3: {a, b} 4: {a, b}
Completeness
In the propositional case any order results in a complete refinement (Theorem 2.7: De Nivelle) In predicate logic the situation is more complicated C = {p(X), q(X), r(X)} where p(X)< q(X) < r(X) D = {r(0)} An order is liftable if A < B implies A B An order < on literals is descending if
A < B A1 < B 2 A < A when is not a renaming of A
Orders in Spass
Knuth-Benedix Ordering (KBO)
Invented as part of the Knuth-Benedix completion algorithm Based on orders on functions/predicates Total order on ground terms Useful with handling equalities
Missing
The automatic Spass loop (Table 4) The overall loop with splitting (Table 7) Data structures and algorithms
Conclusion
Resolution based decision procedures can prove interesting theorems Refinements of resolution are essential Decidability of certain classes of first order logic is possible Combing with specialized decision procedures is a challenge Other issues:
Scalability Counterexamples