on interpolation in local theory extensions
play

On Interpolation in Local Theory Extensions Viorica - PowerPoint PPT Presentation

On Interpolation in Local Theory Extensions Viorica Sofronie-Stokkermans Max-Planck-Institut f ur Informatik Saarbr ucken IJCAR 2006, August 17-20, 2006, Seattle 1 Motivation VERIFICATION DATA BASES MATHEMATICS Tasks Tasks Tasks


  1. On Interpolation in Local Theory Extensions Viorica Sofronie-Stokkermans Max-Planck-Institut f¨ ur Informatik Saarbr¨ ucken IJCAR 2006, August 17-20, 2006, Seattle 1

  2. Motivation VERIFICATION DATA BASES MATHEMATICS Tasks Tasks Tasks − test consistency programs − construct proofs − answer queries − correctness − check proofs − termination − limit search reactive/hybrid Theories systems Theories − safety / lifeness − First−order logic − numbers − Datalog Theories − polynomials − ... − numbers − Kripke structures − functions over − data types − Lattice−ordered numeric domains − functions over structures numeric domains − algebras (BAO, DLO, SM) Method: test entailment / satisfiability w.r.t. background theory 2

  3. Motivation VERIFICATION DATA BASES MATHEMATICS Tasks Tasks Tasks − test consistency programs − construct proofs − answer queries − correctness − check proofs − termination − limit search reactive/hybrid Theories systems Theories − safety / lifeness − First−order logic − numbers − Datalog Theories − polynomials − ... − numbers Also very important: - detect local causes − Kripke structures − functions over − data types − Lattice−ordered of inconsistency numeric domains − functions over structures numeric domains − algebras (BAO, DLO, SM) 3

  4. Motivation: Modular reasoning T 0 : Σ 0 -theory. T 1 T 0 T 2 T i : Σ i -theory; T 0 ⊆ T i Σ i extension of Σ 0 . Can use provers for T 1 , T 2 as black-boxes to prove theorems in T 1 ∪ T 2 ? G 1 ∧ G 2 | = T 1 ∪T 2 ⊥ Which information needs to be exchanged between the provers? G 1 | = T 1 I I ∧ G 2 | = T 2 ⊥ Example Reason about lists of integers and monotone functions over integers 4

  5. Motivation: Distributed databases Chem Primitive concepts (C 0 ): process, reaction, subst, organic, anorganic Constraints (Γ 0 ): organic ⊓ anorganic = ∅ organic ⊑ subst, anorganic ⊑ subst AnorgChem BioChem C 1 : cat-oxydation, oxydation R 1 : catalyses C 2 : enzyme R 2 : produces, catalyses E E T 1 : cat-oxydation = subst ⊓ catalyzes.oxydation T 2 : reaction = process ⊓ produces.subst E Γ 1 : reaction ⊑ oxydation enzyme = organic ⊓ catalyzes.reaction ∅ � = cat-oxydation ⊑ anorganic Γ 2 : enzyme � = ∅ Chem + AnorgChem + BioChem inconsistent Find mistake: local explanation for inconsistency (in the common language) 5

  6. Motivation: Abstraction-based Verification Concrete program Abstract program feasible path feasible path location unreachable location unreachable check feasibility location reachable ⇓ conjunction of constraints: φ (1) ∧ Tr (1, 2) ∧ · · · ∧ Tr ( n − 1, n ) ∧ ¬ safe( n ) - satisfiable: feasible path - unsatisfiable: refine abstract program s.t. the path is not feasible [McMillan 2003-2006] use ‘local causes of inconsistency’ �→ compute interpolants 6

  7. Interpolation T theory; A , B formulae such that A | = T B Does there exist a formula I , containing only symbols occurring in both A and B such that A | = T I and I | = T B ? If so, I is an interpolant for φ and ψ . Theorem [Craig 1957] First order logic has the interpolation property. (but even if A and B are ground clauses, I may contain quantifiers) 7

  8. Interpolation T theory; A , B formulae such that A ∧ B | = T ⊥ Does there exist a formula I , containing only symbols occurring in both A and B such that A | = T I and I ∧ B | = T ⊥ ? If so, I is an interpolant for φ and ψ . Theorem [Craig 1957] First order logic has the interpolation property. (but even if A and B are ground clauses, I may contain quantifiers) 8

  9. Ground Interpolation T theory; A , B sets of ground (unit) clauses in the language of T such that A ∧ B | = T ⊥ ��������� ��������� I ��������� ��������� ��������� ��������� ��������� ��������� ���������� ���������� ��������� ��������� �������������� �������������� ��������� ��������� ���������� ���������� �������������� �������������� ��������� ��������� ��������� ��������� A ��������� ��������� ���������� ���������� B �������������� �������������� ��������� ��������� ���������� ���������� ��������� ��������� �������������� �������������� ��������� ��������� ��������� ��������� ���������� ���������� �������������� �������������� ��������� ��������� ���������� ���������� ��������� ��������� �������������� �������������� ��������� ��������� ���������� ���������� �������������� �������������� ��������� ��������� ��������� ��������� ��������� ��������� ���������� ���������� �������������� �������������� ��������� ��������� ���������� ���������� ��������� ��������� �������������� �������������� ��������� ��������� ��������� ��������� ���������� ���������� �������������� �������������� ��������� ��������� ���������� ���������� ��������� ��������� �������������� �������������� ��������� ��������� ���������� ���������� �������������� �������������� ��������� ��������� ��������� ��������� ��������� ��������� ���������� ���������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� Question: Can we construct a ground formula I , containing only constants (and function symbols) common to A and B such that A | = T I and I ∧ B | = T ⊥ ? If so, I is a ground interpolant of A and B ’local’ explanation for the inconsistency of A ∧ B 9

  10. Ground Interpolation Links with amalgamation, injection transfer property - in universal algebra [J´ onsson’65, Bacsich’75, Wr´ onski’85] Ground interpolants exist and can be found fast: - propositional logic [Pudlak’97, Krajicek’97] used to SAT-based model checking [McMillan’03] - linear arithmetic (+ free function symbols) [McMillan’03,’04,’05] - difference constraints (+ free function symbols) [Jhala, McMillan’06] - combinations of theories [Yorsh,Musuvathi’05] (stably infinite, disjoint signatures) 10

  11. Our contributions Method for computing interpolants in extensions of a base theory with a set of functions satisfying a set K of clauses • The method is general It can be used if: – T 0 has some properties of linear arithmetic – clauses K have a special form – hierarchical reasoning possible for T 0 ∪ K �→ local extensions (test satisfiability of ground clauses �→ test satisfiability in T 0 ) 11

  12. Our contributions Method for computing interpolants in extensions of a base theory with a set of functions satisfying a set K of clauses • The method is general • Interpolants are computed in a hierarchical way - reduction to constructing interpolants in the base theory 12

  13. Our contributions Method for computing interpolants in local extensions of a base theory with a set of functions satisfying a set K of clauses • The method is general • Interpolants are computed in a hierarchical way • We identify classes of theory extensions for which this is possible 13

Recommend


More recommend