the model evolution calculus

48
The Model Evolution Calculus Peter Baumgartner, MPI Saarbruecken and U Koblenz Cesare Tinelli, U Iowa

Upload: pearly

Post on 12-Jan-2016

26 views

Category:

Documents


1 download

DESCRIPTION

The Model Evolution Calculus. Peter Baumgartner, MPI Saarbruecken and U Koblenz Cesare Tinelli, U Iowa. 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). - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: The Model Evolution Calculus

The Model Evolution Calculus

Peter Baumgartner, MPI Saarbruecken and U Koblenz

Cesare Tinelli, U Iowa

Page 2: The Model Evolution Calculus

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.

Page 3: The Model Evolution Calculus

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

Page 4: The Model Evolution Calculus

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

Page 5: The Model Evolution Calculus

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

Page 6: The Model Evolution Calculus

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!

Page 7: The Model Evolution Calculus

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!

Page 8: The Model Evolution Calculus

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() =

Page 9: The Model Evolution Calculus

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, ...)?

Page 10: The Model Evolution Calculus

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

Page 11: The Model Evolution Calculus

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.

Page 12: The Model Evolution Calculus

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

Page 13: The Model Evolution Calculus

Baumgarter & Tinelli: The Model Evolution Calculus

The DPLL Calculus

Context(asserted literals)

{ } { }literals clauses

Page 14: The Model Evolution Calculus

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

Page 15: The Model Evolution Calculus

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

Page 16: The Model Evolution Calculus

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

Page 17: The Model Evolution Calculus

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

Page 18: The Model Evolution Calculus

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

Page 19: The Model Evolution Calculus

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

Page 20: The Model Evolution Calculus

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:

Page 21: The Model Evolution Calculus

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

Page 22: The Model Evolution Calculus

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

Page 23: The Model Evolution Calculus

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

Page 24: The Model Evolution Calculus

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)

Page 25: The Model Evolution Calculus

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)

Page 26: The Model Evolution Calculus

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)

Page 27: The Model Evolution Calculus

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

Page 28: The Model Evolution Calculus

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

Page 29: The Model Evolution Calculus

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

Page 30: The Model Evolution Calculus

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

Page 31: The Model Evolution Calculus

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

Page 32: The Model Evolution Calculus

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}

Page 33: The Model Evolution Calculus

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

Page 34: The Model Evolution Calculus

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 )

Page 35: The Model Evolution Calculus

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($,$)}

Page 36: The Model Evolution Calculus

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!

Page 37: The Model Evolution Calculus

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

Page 38: The Model Evolution Calculus

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

Page 39: The Model Evolution Calculus

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

Page 40: The Model Evolution Calculus

Baumgarter & Tinelli: The Model Evolution Calculus

Further Notions

• Derivation tree

• Exhausted/closed branch

• Derivation/refutation

• Limit tree

• Fair limit tree/derivation

Page 41: The Model Evolution Calculus

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 .

Page 42: The Model Evolution Calculus

Baumgarter & Tinelli: The Model Evolution Calculus

Main Results: Soundness and Completeness

0A clause set is unsatisfiable

iff

it has a refutation.

Page 43: The Model Evolution Calculus

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.

Page 44: The Model Evolution Calculus

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:

Page 45: The Model Evolution Calculus

Baumgarter & Tinelli: The Model Evolution Calculus

,L ,L

Backjumping

Page 46: The Model Evolution Calculus

Baumgarter & Tinelli: The Model Evolution Calculus

,L ,L

1 nS S

Backjumping

L not used to closeleft subtree

Page 47: The Model Evolution Calculus

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

Page 48: The Model Evolution Calculus

Baumgarter & Tinelli: The Model Evolution Calculus

Further Work

• Implement the calculus! (in progress)

• Lift DPLL optimizations (backjumping, lemma generation, …)

• Add equality

• Study decidable fragments

• Add nonmonotonic features

• Build-in theories

• ...