Title: The Model Evolution Calculus
1The Model Evolution Calculus
- Peter Baumgartner, MPI Saarbruecken and U Koblenz
- Cesare Tinelli, U Iowa
2Background
- Recent research in propositional satisfiability
(SAT) has been very successful. - An effective method for SAT was pioneered by
Davis, Putman, Logemann, and Loveland (DPLL). - The best modern SAT solvers (MiniSat, zChaff,
Berkmin,) are based on DPLL.
3The DPLL Procedure Main Idea
assert p T
4The DPLL Procedure Main Idea
assert p T
assert q F
5The DPLL Procedure Main Idea
assert p T
assert q F
guess r T
6The DPLL Procedure Main Idea
assert p T
assert q F
guess r T
contradiction!
7The DPLL Procedure Main Idea
assert p T
assert q F
guess r F
satisfiable!
8Correctness of DPLL method
Prop. A formula ? is satisfiable iff there is a
sequence of guesses such that DPLL(?) ?
9Research Questions
- Can we lift DPLL to the first-order level?
- Can we combine successful SAT techniques (unit
propagation, backjumping, learning,) with
successful first-order techniques (unification,
subsumption, ...)?
10Previous Work
- Instance based methods- (O)SHL Plaisted, -
Disconnection method Billon, Letz, Stenz,-
Hyper Tableaux Next Generation Baumgartner,-
Primal/Dual approach Hooker et al, -
Ganzinger-Korovin method - First-Order DPLL Baumgartner- proper lifting
of split rule
11This Work
- The Model Evolution Calculus
- First-Order DPLL
- DPLLs simplification rules
- Universal variables
- The calculus is a direct lifting of the whole
DPLL to the first-order level.
12Overview
- The DPLL method as a sequent-style calculus
- A model generation view of DPLL
- The Model Evolution calculus as a lifting of the
DPLL calculus - Properties of the ME calculus
- Further Work
13The DPLL Calculus
14The DPLL Calculus
15The DPLL Calculus
16The DPLL Calculus (cont.)
17The DPLL Calculus Key Insight
? can be seen as a finite representation of a
Herbrand interpretation
If I? does not satisfy ?, repair it by adding
literals to ?
18Some Notation
Examples
19The DPLL Calculus RevisitedA Model Evolution
View
20The DPLL Calculus RevisitedA Model Evolution
View
Note
21The DPLL Calculus RevisitedA Model Evolution
View
22Lifting DPLL to First Order Logic
- Main questions
- How to use contexts to represent a FOL Herbrand
interpretation - What is a contradictory context
- How to check
- How to check
- How to repair an interpretation
23First-order Contexts
- Sets ? of parametric literals L(u,v,..) and
- universal literals L(x,y,)
- parameters (u,v, ) and variables (x,y,) both
stand for ground terms - (roughly) a parametric literal L in ? denotes all
of its ground instances, unless
?L?? for some instance L of L - a universal literal denotes all of its ground
instances, unconditionally
24First-order Contexts Examples
? p(u,v)
p(u,v)
- ? produces every instance of p(u,v)
25First-order Contexts Examples
? p(u,v), ?p(u,u)
p(u,v)
?p(u,u)
- ? produces every instance of p(u,v) except the
instances of p(u,u) - ? produces every instance of ?p(u,u)
26First-order Contexts Examples
? p(u,v), ?p(u,u), p(f(u),f(u))
p(u,v)
?p(u,u)
p(f(u),f(u))
27First-order Contexts Examples
? ?p(f(u),v), p(u,g(v))
OK
?p(f(u),v)
p(u,g(v))
p(f(u),g(v))
28First-order Contexts Examples
? ?p(f(u),v), p(u,g(v)), p(b,g(v))
OK
?p(f(u),v)
p(u,g(v))
p(b,g(v))
29First-order Contexts Examples
? ?p(u,v), p(u,v)
Not OK! Contradictory
?p(u,v)
p(u,v)
30First-order Contexts Examples
? p(u,v), ?p(x,x)
p(u,v)
?p(x,x)
? produces every instance of ?p(x,x) with no
possible exceptions
31First-order Contexts Examples
? p(u,v), ?p(x,x), p(f(u),f(u)
Not OK! Contradictory
p(u,v)
?p(x,x)
p(f(u),f(u))
32Initial Context
? ?v
?v
- Lambda produces no positive literals
- Well consider only extensions of ?v
33Contexts and Interpretations
Let ? be a non-contradictory context with
parametric literals and universal literals ?
denotes a Herbrand interpretation
34Checking
- ? is called a context unifier (of the clause
against ?)
35Checking
- Example
- I?p(u,v) ?(p(x,y) ? p(x,x))
- equivalently, match p(x,y), p(x,x) against
p(,)
36The Model Evolution CalculusSemantical View
Exactly the same as in DPLL!
37The Model Evolution CalculusSemantical View
38The Split Rule Example
First, identify falsified clause instance
Now, split with abs(x)u ?abs(c)u
Clauses xy ? yx abs(x)0
?(xy) ? ?(yz) ? (xz)
Context abs(x)0 vu ?v
?(abs(x)0) ? ?(0u) ? (abs(x)u)
? admissible context unifier
39Example
abs(u)a ? abs(x)a, ...
abs(x)a, abs(u)a ? abs(x)a, ...
abs(x)a ? abs(x)a, ...
abs(x)a ? ?abs(f(x))a ? p(x), ...
abs(x)a ? p(x), ...
40Further Notions
- Derivation tree
- Exhausted/closed branch
- Derivation/refutation
- Limit tree
- Fair limit tree/derivation
41Main Results Completeness
42Main Results Soundness and Completeness
43Main Results Proof Convergence
44Making ME Efficient
Well-known DPLL improvements
- Literal selection strategies Model
Elimination can exploit dont care
nondeterminism for remainer literal to split
on - Learning (lemma generation) not trivial
future work - Intelligent backtracking (backjumping)
45Backjumping
46Backjumping
L not used to close left subtree
47Conclusions
- Full lifting of DPLL achieved
- Properties of DPLL preserved
- sound and complete
- proof convergent
- simplification rules
- model generation paradigm
- (no Commit rule as in FDPLL)
- Abstract framework
- Wide range for fair strategies
- Semantically justified redundancy criteria
48Further Work
- Implement the calculus! (in progress)
- Lift DPLL optimizations (backjumping, lemma
generation, ) - Add equality
- Study decidable fragments
- Add nonmonotonic features
- Build-in theories
- ...