1 / 22

# The Model Evolution Calculus with Built-in Theories - PowerPoint PPT Presentation

The Model Evolution Calculus with Built-in Theories. Peter Baumgartner MPI Informatik, Saarbr ü cken www.mpi-sb.mpg.de/~baumgart/. Problem. The Model Evolution Calculus is a sound and refutationally complete calculus for first-order clause logic

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about ' The Model Evolution Calculus with Built-in Theories' - aline-baldwin

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### The Model Evolution Calculuswith Built-in Theories

Peter Baumgartner

MPI Informatik, Saarbrücken

www.mpi-sb.mpg.de/~baumgart/

• The Model Evolution Calculus is a sound and refutationally complete calculus for first-order clause logic

• Can we extend it with built-in theory handling?That is, „plug in“ an (efficient) reasoner for a special domain

• Examples for interesting theories

• Equality

• Real arithmetic

• Theories axiomatized by logic programs

• Can existing theory reasoners be plugged in (to Darwin)?

• Equality: Waldmeister

• Real arithmetic: quantifier elimination

• Logic programs: logic program interpreter

The Model Evolution Calculus with Built-in Theories

Model Evolution – Idea (1)

DPLL: Davis-Putnam-Logemann-Loveland Procedure (1960-63)

Basis of some of the SAT solvers (Chaff, …)

Input: Propositional clause set

Output: Model or „unsatisfiable”

A

:A

Algorithm components:

- Simplification

- Split

- Backtracking

B

:B

C

:C

No, split on C

The Model Evolution Calculus with Built-in Theories

Model Evolution – Idea (2)

¼First Order DPLL [Joint Work with Cesare Tinelli]

Input: First-order clause set

Output: Model or „unsatisfiable”

if termination

flight(sb,y)

:flight(sb,y)

Procedure components:

- Simplification

- Split

- Backtracking

:flight(sb,d)

flight(sb,d)

train(sb,d)

:train(sb,d)

No, split on train(sb,d)

The Model Evolution Calculus with Built-in Theories

• Sequent Style Calculus

• Simplified Calculus (for the purpose of talk)

• No simplification inference rules to modify 

• No simplification inference rules to modify 

• No „universal“ variables, only „parametric“ ones

Current Clause Set: Initally: input clauses

Context: A set of literals

(same as branch on previous slide)

Initially: { :v }

The Model Evolution Calculus with Built-in Theories

Split

if

(1) is a context unifier of CÇL against 

(2) neither L nor :L is contraditory with 

- is a context unifier:  is a most general simultaneous unifier of the clause literals and context literals with opposite sign (pairwise)- L is contradictory with  :  contains a variant of :L

Context: P(u,u) Q(v,b)

= { x!u, y!u, v!a, z!b }

Clause: :P(x,y)Ç:Q(a,z)

Clause : :P(x,x)Ç:Q(a,b)

The Model Evolution Calculus with Built-in Theories

Close

if (1) ; or C?

(2) there is a context unifier of C against 

such that each literal of C is contraditory with 

- is a context unifier:  is a most general simultaneous unifier of the clause literals and context literals with opposite sign (pairwise)- L is contradictory with  :  contains a variant of :L

Context: P(u,u) Q(a,b)

= { x!u, y!u, z!b }

Clause: :P(x,y)Ç:Q(a,z)

Clause : :P(x,x)Ç:Q(a,b)

Close is applicable

The Model Evolution Calculus with Built-in Theories

• Derivation

• Apply Split and Close derivation rules (gives tree over sequents)

• Refutation: Every branch ends in sequent of the form `?

• Fairness

• Consider a derivation with limit context 1 = Ui>0 i

• Close is not applicable to any i

• Roughly: if some ground instance C of an input clause is falsified by ithen there is a j>i such that j satisfies C(this can always be achieved by applying the split rule)

• Completeness

• Assume a fair derivation with limit context

• Show that 1constitutes a model for the input clause set

The Model Evolution Calculus with Built-in Theories

• A TheoryT is a consistent set of sentences

• Consider here universal theories (no existential quantifier in prenex normal form)

• Def: Clause set  is T-unsatisfiable iff [T is unsatisfiable

• Def: Let K be a set of literals and L be a literalK ²TLiff K[T ²Liff for every structure A and every valuation v: A,v ²K[T implies A,v²LExamples { P(u,a), u=f(u), a=f(a) } ²EP(f(u),f(a)) holds{ P(u,a), u=f(u), v=f(v) } ²EP(f(u),f(a)) does not hold

The Model Evolution Calculus with Built-in Theories

ME(T) – Derivation Rules (1)

T-Split

if

(1)  is a T-context unifier of CÇL against  with key set K[ { L }

(2) K2:K

(3) neither K nor :K is T-contraditory with 

is a T -context unifier of clause L1Ç … ÇLn

iff there are sets K1,…,Kn of variants of literals from  s.th. Ki²T:Li

Each set Ki[ { Li } is called a key set

Key set:

{ P(a,b), u=f(u), v=f(v), :P(f(a),f(x)) }

Context: P(a,b) u=f(u)

Clause: :P(f(a),f(x))

= { u!a, v!b, x!b }

T-Split on :(a=f(a))

The Model Evolution Calculus with Built-in Theories

ME(T) – Derivation Rules (1)

T-Split

if

(1)  is a T-context unifier of CÇL against  with key set K[ { L }

(2) K2:K

(3) neither K nor :K is T-contraditory with 

iff there is a set K of variants of literals from  s.th. K²T:Ki

K = { P(u,v), u=f(u), v=f(v) }

Context: P(u,v) u=f(u)

K: :P(f(u),f(v))

The Model Evolution Calculus with Built-in Theories

ME(T) – Derivation Rules (2)

T-Repair

if

(1)  is a T-context unifier of CÇL against  with key set K[ { L }

(2) K2:K

(3) K is not T –contradictory with , but:K is T -contraditory with 

(4)  does not contain a variant of K

- T –Repair is the one-armed, disjoint variant of T –Split

- T –Repair is not applicable if T is the „empty“ theory

Context: :(f(a)=b) a=b P(a) f(u)=u

Clause: :P(f(a))

T-Repair with :(a=f(a))

The Model Evolution Calculus with Built-in Theories

ME(T) – Derivation Rules (3)

T-Close

if (1) ; or C?

(2) there is a T-context unifier of C against 

such that each literal of C is T-contraditory with 

Note: Condition (2) must be decidable!

The Model Evolution Calculus with Built-in Theories

• Crucial to understand the working of the calculus

• Basis of the completeness proof

• Basis of feasible instantiation with theory reasonersE.g. Waldmeister for the theory of equality

The Model Evolution Calculus with Built-in Theories

Literal set KT –produces a literal L in 

Literal set K: { K1 … Kn }

No literals Li2such that

Ki¶:Li&Ki

Instances: { K1 … Kn  }

„Ki produces Ki in “

Theory Reasoning: { K1 … Kn  }²TL

Interpretation Associated to 

A ground atom Ais assigned true in  viaK

iff some set K of variants of literals from T –produces A

The Model Evolution Calculus with Built-in Theories

Context T –produces a literal L

Literal set K (as above):K1 … Kn

Instances: K1 … Kn 

No literals Li2such that

Ki¶:Li&Ki

Theory Reasoning: K1 … Kn ²TL

Examples

{ P(a), f(x)=x, :(f(a)=a) } does not E-produce P(f(a))=> P(f(a)) is assigned false in associated E-interpretation

{ P(a), f(x)=x, :P(f(a)) } E-produces P(f(a)) and :P(f(a)) => P(f(a)) is assigned true in associated E-interpretation

The Model Evolution Calculus with Built-in Theories

ME(T) Calculus – Theory Reasoner RT

• A lifting lemma cannot be proven „once and for all“, replace it by admissibility condition of theory reasoner RT

• Theory reasonerRT

• Input: a context  and a clause C = L1Ç … ÇLn

• Output: a n+1 -tuple (K1,…,Kn,) or undefinedwhere Ki is a set of variants of literals from  and  is a substitution

• RT is sound iff Ki²T:Li (i.e.  is a T –context unifier)

• RT is complete iff the following holds:For every ground instance C and all sets K1,...,Kn (as above): If C is assigned false in  via K1,...,Kn then RT(,C) = (K1,…,Kn,) for some substitution &

• RT is admissible iff it is sound and complete

The Model Evolution Calculus with Built-in Theories

• Associated interpretation should be total: easy, context contains :v

• Associated interpretation should be a T –interpretationNeed further restrictions on allowed theories to guarantee this:

• Non-negative theories: ²T9 (A1Æ … ÆAn)T = { :A } is not allowed

• Theory must be ground convex: ²TB!A1Ç … ÇAn implies ²TB!Ai for some i (B conjunction of ground atoms, A ground atom)T = { A Ç B } is not allowed

• PropertyIf limit context 1 assigns false to a (ground) clause C via K1,…,Knthen there is an i such that for all j > i j assigns false to C via K1,…,Kn

• CompletenessFairness + admissible theory reasoner will detect this situation eventually and invalidate it

The Model Evolution Calculus with Built-in Theories

• ProblemWaldmeister is a theorem prover for unit clauses{ s1=t1,...,sn=tn, :(s=t) }How to match it to contexts and arbitrary clauses?:(s1=t1) Ç … Ç:(sm=tm) Ç sm+1=tm+1Ç … Ç sn=tn

• Context Problem = { a=f(a), P(u), :P(a), :P(f(a)), :P(f(f(a))) }Clause :P(a)Waldmeister has to discover instances P(f(f(f(a)))),...Solution (?) Convert context to equivalent set of atomsE.g. for signature {a/0, b/0, f/1} obtain = { a=f(a), P(b), P(f(b)), P(f(f(b))), P(f(f(f(x)))) }Resulting set can be infinite in case of non-linear literals!

The Model Evolution Calculus with Built-in Theories

• ProblemWaldmeister is a theorem prover for unit clauses{ s1=t1,...,sn=tn, :(s=t) }How to match it to contexts and arbitrary clauses:(s1=t1) Ç … Ç:(sm=tm) Ç sm+1=tm+1Ç … Ç sn=tn

• Arbitrary Clauses ProblemFrom definition of associated interpretation it follows: Context  falsifies a positive literal A iff some negative literal :B2 produces :A in Consequently:Can resolve away positive clause literals against context literalsLeaves only rest clause (:(s1=t1) Ç … Ç:(sm=tm))

The Model Evolution Calculus with Built-in Theories

• ProblemWaldmeister is a theorem prover for unit clauses{ s1=t1,...,sn=tn, :(s=t) }How to match it to contexts and arbitrary clauses:(s1=t1) Ç … Ç:(sm=tm) Ç sm+1=tm+1Ç … Ç sn=tn

• Arbitrary Clauses ProblemHow to treat rest clause (:(s1=t1) Ç … Ç:(sm=tm)) ?SolutionCode it as a negative unit clause (due to Thomas Hillenbrand)::(clause(s1,t1,...,sm,tm) = true)clause(x1,x1,...,xm,xm) = trueCan easily query Waldmeister with many clauses simultaneously

• Thus have transformation for Waldmeister now But Waldmeister still has to be modifed to compute „all“ solutions!

The Model Evolution Calculus with Built-in Theories

• Presented simplified calculus, without universal variablese.g. \forall x P(x,u)

• Universal variables crucial for performance

• calculus instantiates to postive hyper-resolution for Horn case

• One call to Waldmeister for unit theories

• Should work out without greater difficulties

• Is this all feasible?

• Difference to Ganzinger/Korovin Calculus wrt.\ theory reasoning

• Works for arbitrary universal non-negative convex theories

• Does not need a term orderingBut using term orderings might be advantageous…

The Model Evolution Calculus with Built-in Theories