- 71 Views
- Uploaded on
- Presentation posted in: General

The Model Evolution Calculus with Built-in Theories

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 - - - - - - - - - - - - - - - - - - - - - - - - - -

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

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

¼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)

:Q(a,b) is admissible for Split

contradictory

not contradictory

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

contradictory

contradictory

The Model Evolution Calculus with Built-in Theories

- Derivation
- Start with sequent :v` „Input Clause Set“
- 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

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

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

Kis T –contradictory with

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

Example for T –contradictory:

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

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

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 Li2such 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 Li2such 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

- 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

- Universal variables crucial for performance
- 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