View
216
Download
0
Category
Tags:
Preview:
Citation preview
The Model Evolution Calculus
Peter Baumgartner, MPI Saarbruecken and U Koblenz
Cesare Tinelli, U Iowa
Baumgarter & Tinelli: The Model Evolution Calculus
Background
• 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.
Baumgarter & Tinelli: The Model Evolution Calculus
{ , , , , }p q q r s p q p r s p
{ , , }q r s q r s
assert: p = T
The DPLL Procedure: Main Idea
Baumgarter & Tinelli: The Model Evolution Calculus
The DPLL Procedure: Main Idea
{ , , , , }p q q r s p q p r s p
{ , , }q r s q r s
{ , }r s r s
assert: p = T
assert: q = F
Baumgarter & Tinelli: The Model Evolution Calculus
The DPLL Procedure: Main Idea
{ , , , , }p q q r s p q p r s p
{ , , }q r s q r s
{ , }r s r s
{ , }s s
assert: p = T
assert: q = F
guess: r = T
Baumgarter & Tinelli: The Model Evolution Calculus
The DPLL Procedure: Main Idea
{ , , , , }p q q r s p q p r s p
{ , , }q r s q r s
{ , }r s r s
{ , }s s
assert: p = T
assert: q = F
guess: r = T
contradiction!
Baumgarter & Tinelli: The Model Evolution Calculus
The DPLL Procedure: Main Idea
{ , , , , }p q q r s p q p r s p
{ , , }q r s q r s
{ , }r s r s
{ }
assert: p = T
assert: q = F
guess: r = F
satisfiable!
Baumgarter & Tinelli: The Model Evolution Calculus
Correctness of DPLL method
Prop. A formula is satisfiable iff there is a sequence of guesses such that DPLL() =
Baumgarter & Tinelli: The Model Evolution Calculus
Research 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, ...)?
Baumgarter & Tinelli: The Model Evolution Calculus
Previous 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
Baumgarter & Tinelli: The Model Evolution Calculus
This Work
The Model Evolution Calculus
≈ First-Order DPLL
+ DPLL’s simplification rules
+ Universal variables
The calculus is a direct lifting of the whole DPLL to the first-order level.
Baumgarter & Tinelli: The Model Evolution Calculus
Overview
• 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
Baumgarter & Tinelli: The Model Evolution Calculus
The DPLL Calculus
Context(asserted literals)
{ } { }literals clauses
Baumgarter & Tinelli: The Model Evolution Calculus
The DPLL Calculus
{ } { }
literal empty clause clause
literals clauses
L C
,
close
,if
L CL
subsume
,if
,
L CL
C
resolve
Baumgarter & Tinelli: The Model Evolution Calculus
The DPLL Calculus
,if
,
L CL
C
resolve
{ } { }
literal empty clause clause
literals clauses
L C
11
, ...if ,...,
n
n
L LL L
close
,if
L CL
subsume
Baumgarter & Tinelli: The Model Evolution Calculus
The DPLL Calculus (cont.)
,if
, ,
LL
L L L
assert
, if
, , , ,
CL C
LL L C L L C
L
split
{ } { }
literal empty clause clause
literals clauses
L C
Baumgarter & Tinelli: The Model Evolution Calculus
The DPLL Calculus: Key Insight
can be seen as a finite representation of a Herbrand interpretation:
{ | is positive}I L L
If I does not satisfy ,
“repair” it by adding literals to
Baumgarter & Tinelli: The Model Evolution Calculus
Some Notation
'
|||
|
and iff
there is no ' s.t.
II
I
{ }{ } | ||ppI p q I p q
and
Examples:
permanently satisfiespermanently satisfies
{ }{ } | ||ppI p q I p q but not
||I L L Note: at the prop. level
iff ||I L L Note: at the prop. level
iff
Baumgarter & Tinelli: The Model Evolution Calculus
The DPLL Calculus Revisited:A Model Evolution View
,if ||
L CI L
subsume
,if ||
,
L CI L
C
resolve
,if ||
CI C
close
Baumgarter & Tinelli: The Model Evolution Calculus
The DPLL Calculus Revisited:A Model Evolution View
, if (*)
, , , ,
L C
L L C L L C
split
|
(*)
I L C
L
L
1) not
2) not contradictory with
3) not contradictory with
, ,
, ,
|| ||(*)
|| |
L L
L L
I L I L C
I L I L C
implies
not Note:
Baumgarter & Tinelli: The Model Evolution Calculus
The DPLL Calculus Revisited:A Model Evolution View
||(*)
not
not contradictory with
I L
L
,if (*)
, ,
L
L L
assert
Baumgarter & Tinelli: The Model Evolution Calculus
Lifting 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
Baumgarter & Tinelli: The Model Evolution Calculus
First-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
Baumgarter & Tinelli: The Model Evolution Calculus
First-order Contexts: Examples = { p(u,v) }
p(u,v)
• produces every instance of p(u,v) • produces every instance of p(u,v)
Baumgarter & Tinelli: The Model Evolution Calculus
First-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)
• produces every instance of p(u,v) except the instances of p(u,u)• produces every instance of p(u,u)
Baumgarter & Tinelli: The Model Evolution Calculus
First-order Contexts: Examples = {p(u,v), p(u,u), p(f(u),f(u))}
p(u,v)
p(f(u),f(u))
p(u,u)
Baumgarter & Tinelli: The Model Evolution Calculus
First-order Contexts: Examples = {p(f(u),v), p(u,g(v))}
p(f(u),v) p(u,g(v))
p(f(u),g(v))
OKOK
Baumgarter & Tinelli: The Model Evolution Calculus
First-order Contexts: Examples = {p(f(u),v), p(u,g(v)), p(b,g(v)) }
p(f(u),v) p(u,g(v))
p(b,g(v))
OKOK
Baumgarter & Tinelli: The Model Evolution Calculus
First-order Contexts: Examples = {p(u,v), p(u,v)}
p(u,v)p(u,v)
Not OK!Contradictory
Not OK!Contradictory
Baumgarter & Tinelli: The Model Evolution Calculus
First-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
produces every instance of p(x,x) with no possible exceptions
Baumgarter & Tinelli: The Model Evolution Calculus
First-order Contexts: Examples = {p(u,v), p(x,x), p(f(u),f(u)}
p(u,v)
p(x,x)
p(f(u),f(u))
Not OK!Contradictory
Not OK!Contradictory
Baumgarter & Tinelli: The Model Evolution Calculus
Initial Context = {v}
v
• Lambda produces no positive literals • Lambda produces no positive literals
• We’ll consider only extensions of {v} • We’ll consider only extensions of {v}
Baumgarter & Tinelli: The Model Evolution Calculus
Contexts and Interpretations
Let be a non-contradictory context with parametric literals and universal literals
denotes a Herbrand interpretation:
is ground and positive,
is produced by
LI L
L
Baumgarter & Tinelli: The Model Evolution Calculus
Checking |=
1
1
1 1
| ...
,...,
{ , },...,{ , }
n
n
n n
I L L
K K
K L K L
I f not then
there are fresh variants of literals in
and a substitution
such that
is a simultaneous mgu of
1 ...
Let be a non-contradictory context
Let be a (parameter-free) clausenL L
• is called a context unifier (of the clause against )• is called a context unifier (of the clause against )
Baumgarter & Tinelli: The Model Evolution Calculus
Checking ||=
1
1
1 1
|| ( ... )
,...,
{ , },...,{ , }
( )
n
n
n n
i
I L L
K K
K L K L
i Pars K Pars
iff there are fresh variants of literals in
and a substitution
such that
1. is a simultaneous mgu of
2. for each ,
1 ...
Let be a non-contradictory context
Let be a (parameter-free) clausenL L
Example• I{p(u,v)} ||= (p(x,y) p(x,x))
• equivalently, match {p(x,y), p(x,x)} against {p($,$)}
Example• I{p(u,v)} ||= (p(x,y) p(x,x))
• equivalently, match {p(x,y), p(x,x)} against {p($,$)}
Baumgarter & Tinelli: The Model Evolution Calculus
The Model Evolution Calculus:Semantical View
,if ||
L CI L
subsume
,if ||
,
L CI L
C
resolve
not ||,
if not contr. with , ,
I LL
LL L
assert
,if ||
CI C
close
Exactly the same as in DPLL!Exactly the same as in DPLL!
Baumgarter & Tinelli: The Model Evolution Calculus
The Model Evolution Calculus:Semantical View
sko
,if (*)
, , , ( ) ,
C L
L C L L C L
split
( )
(*)
C L
L
L
L
sko
1) is a context unifier of against
2) is admissible
3) is not mixed
4) not contr. with
5) ( ) not contr. with
No Longer
Baumgarter & Tinelli: The Model Evolution Calculus
The Split Rule: Example
First, identify falsified clause instance:
Clauses: x≥y y≥x abs(x)≥0
(x≥y) (y≥z) (x≥z)
Context: abs(x)≥0 v≥u v
(abs(x)≥0) (0≥u) (abs(x)≥u)
Permanenlyfalsified
remainder
admissible context unifier admissible context unifier
Now, split with
abs(x)≥u | abs(c)≥u
Now, split with
abs(x)≥u | abs(c)≥u
context unifier
context unifier
Baumgarter & Tinelli: The Model Evolution Calculus
Exampleabs(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), ...
resolve
compact
subsume
assert
Baumgarter & Tinelli: The Model Evolution Calculus
Further Notions
• Derivation tree
• Exhausted/closed branch
• Derivation/refutation
• Limit tree
• Fair limit tree/derivation
Baumgarter & Tinelli: The Model Evolution Calculus
Main Results: Completeness
0
0
( )
.
|
i i i
j ji i j i i j
I
Let ,with , be an exausted
branch in a fair limit tree of .
Let and
If then .
Baumgarter & Tinelli: The Model Evolution Calculus
Main Results: Soundness and Completeness
0A clause set is unsatisfiable
iff
it has a refutation.
Baumgarter & Tinelli: The Model Evolution Calculus
Main Results: Proof Convergence
0
0
If a clause set is unsatisfiable then
every fair derivation of extends
to a refutation.
Baumgarter & Tinelli: The Model Evolution Calculus
Making ME Efficient
• Literal selection strategies Model Elimination: can exploit don’t care nondeterminism for remainer literal to split on
• Learning (lemma generation) not trivial – future work
• Intelligent backtracking (backjumping)
Well-known DPLL improvements:
Baumgarter & Tinelli: The Model Evolution Calculus
,L ,L
1 nS S
Backjumping
L not used to closeleft subtree
Baumgarter & Tinelli: The Model Evolution Calculus
Conclusions
• 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
Recommended