1 / 22

The Model Evolution Calculus with Built-in Theories

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

Download Presentation

The Model Evolution Calculus with Built-in Theories

An Image/Link below is provided (as is) to download presentation 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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The Model Evolution Calculuswith Built-in Theories Peter Baumgartner MPI Informatik, Saarbrücken www.mpi-sb.mpg.de/~baumgart/

  2. Problem • 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

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

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

  5. Calculus • 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

  6. Derivation Rules (1) 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

  7. Derivation Rules (2) 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

  8. Model Evolution – Further Ingredients • 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

  9. Theories – Basic Definitions • 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

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

  11. 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  Kis 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

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

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

  14. Interpretation Associated to a Context • 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

  15. Interpretation Associated to a Context 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

  16. Interpretation Associated to a Context 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

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

  18. Consequences and Properties • 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

  19. Equality and Waldmeister • 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

  20. Equality and Waldmeister • 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

  21. Equality and Waldmeister • 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

  22. Conclusion • 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

More Related