theory combination
play

Theory Combination Bruno Dutertre SRI International SAT/SMT/AR - PowerPoint PPT Presentation

Computer Science Laboratory, SRI International Theory Combination Bruno Dutertre SRI International SAT/SMT/AR Summer School, Lisbon, July 2019 Computer Science Laboratory, SRI International SMT Background Basic SMT Problem Given a formula


  1. Computer Science Laboratory, SRI International Theory Combination Bruno Dutertre SRI International SAT/SMT/AR Summer School, Lisbon, July 2019

  2. Computer Science Laboratory, SRI International SMT Background Basic SMT Problem ◦ Given a formula Φ in some logical theory T , determine whether Φ is satisfiable or not. ◦ In addition, if Φ is satisfiable, provide a model of Φ CDCL(T) Approach ◦ Combine a CDCL-based SAT Solver with a theory solver for T ◦ The theory solver works on conjunctions of literals of T Our Focus ◦ Quantifier-free theories 1

  3. Computer Science Laboratory, SRI International Theory Combination Many Applications Involve Multiple Theories x � y ∧ 2 y � x ∧ f ( h ( x ) − h ( y )) > f (0) ◦ This formula is unsat ◦ To show this, we need to reason about linear arithmetic and uninterpreted functions Combining Decision Procedures for Modularity ◦ We don’t want to write a global decision procedure ◦ We have decision procedures for basic theories ◦ We want to combine them to get a decision procedure for the combined theory. 2

  4. Computer Science Laboratory, SRI International Common Base Theories Arithmetic Uninterpreted functions QF UF QF LRA, QF LIA, . . . f ( f ( x )) = a 2 x + y � 3 g ( a ) � = f ( b ) x − y > 1 Bitvectors Arrays QF BV QF AX bvnot ( x ) + 1 = x b = store ( a, i, v ) bvuge ( x, 0 b 000 .. 0) x = select ( b, j ) Important: These theories have no non-logical symbol in common (the only thing they share is equality) 3

  5. Computer Science Laboratory, SRI International Purification If Φ is a formula in theory T 1 ∪ T 2 , we can always transform Φ into two parts ◦ Φ 1 is in theory T 1 ◦ Φ 2 is in theory T 2 ◦ Φ is satisfiable in T 1 ∪ T 2 iff Φ 1 ∧ Φ 2 is satisfiable (also in T 1 ∪ T 2 ) This is called purification. It’s done by introducing new variables to remove mixed terms. 4

  6. Computer Science Laboratory, SRI International Purification Example Formula with mixed terms: x � y ∧ 2 y � x ∧ f ( h ( x ) − h ( y )) > f (0) Purification: separate the uninterpreted function part and the arithmetic part QF UF QF LRA x � y a = h ( x ) 2 y � x b = h ( y ) c = a − b d = f ( c ) e = 0 g = f ( e ) d > g 5

  7. Computer Science Laboratory, SRI International After Purification Purification of Φ produces formulas Φ 1 in T 1 and Φ 2 in T 2 ◦ Unsat Case: If Φ 1 is unsat in T 1 or Φ 2 is unsat in T 2 then Φ is unsat in T 1 ∪ T 2 . ◦ Sat Case: If Φ 1 is sat in T 1 and Φ 2 is sat in T 2 , is Φ satisfiable in T 1 ∪ T 2 ? – Φ 1 has a model M 1 : M 1 | = T 1 Φ 1 – Φ 2 has a model M 2 : M 2 | = T 2 Φ 2 – Can we construct a model M such that M | = T 1 ∪ T 2 Φ ? 6

  8. Computer Science Laboratory, SRI International Back to Our Example Formula x � y ∧ 2 y � x ∧ f ( h ( x ) − h ( y )) > f (0) is UNSAT QF UF part is SAT QF LRA part is SAT a = h ( x ) ∧ b = h ( y ) ∧ d = f ( c ) ∧ g = f ( e ) x � y ∧ 2 y � x ∧ c = a − b ∧ e = 0 ∧ d > g Possible model with domain = { α, β } Possible model (with domain = R ) x 0 c 0 x α y 0 d 1 y β α β a 0 e 0 a α f β β b 0 g 0 b β h α β c α d β The two models are not consistent ◦ One says x � = y , the other says x = y ◦ Their domains have different cardinalities 7

  9. Computer Science Laboratory, SRI International Another Example In QF UF + QF BV: ◦ a, b, c, d, e are vectors of two bits (type bv [2] ) ◦ f is a function from bv [2] to bv [2] Formula distinct ( f ( a ) , f ( b ) , f ( c ) , f ( d ) , f ( e )) is UNSAT QF UF part QF BV part distinct ( f ( a ) , f ( b ) , f ( c ) , f ( d ) , f ( e )) true Satisfiable with models of cardinality Satisfiable, but all models have at least 5. cardinality 4. 8

  10. Computer Science Laboratory, SRI International Central Problem in Theory Combination Search for consistent models ◦ Start with Φ in T 1 ∪ T 2 ◦ Purify to get Φ 1 in T 1 and Φ 2 in T 2 ◦ Search for two models M 1 and M 2 such that: M 1 | = T 1 Φ 1 and M 2 | = T 2 Φ 2 M 1 and M 2 have the same cardinality M 1 and M 2 agree on equalities between shared variables Nelson-Oppen Method ◦ A general framework for solving this problem ◦ Originally proposed by Nelson and Oppen, 1979 ◦ Give sufficient conditions for consistent models to exist ◦ Many extensions and variations 9

  11. Computer Science Laboratory, SRI International Non-Deterministic Nelson-Oppen (Tinelli & Harandi, 1996) Assumptions ◦ Two theories T 1 and T 2 that share no non-logical symbol and are stably infinite ◦ Φ is a conjunction of literals of T 1 ∪ T 2 ◦ Φ is purified to Φ 1 in T 1 and Φ 2 in T 2 Stably Infinite Theories ◦ A theory T is stably infinite if every formula that’s satisfiable in T has an infinite model ◦ Examples: QF UF and QF LRA are stably infinite, QF BV is not 10

  12. Computer Science Laboratory, SRI International Variable Arrangements Definition ◦ Let V be the set of all variables that are shared by Φ 1 and Φ 2 ◦ An arrangement of V is a conjunction of variable equalities and disequalities that define a partition of V Example ◦ If V = { x 0 , x 1 , x 2 , x 3 } and we partition V into three subsets { x 0 , x 1 } , { x 2 } , and { x 3 } then the corresponding arrangement is x 0 = x 1 ∧ x 0 � = x 2 ∧ x 1 � = x 2 ∧ x 0 � = x 3 ∧ x 1 � = x 3 ∧ x 2 � = x 3 11

  13. Computer Science Laboratory, SRI International Non-Deterministic Nelson-Oppen (continued) Procedure ◦ Guess a partition of the variables V and let A be the corresponding arrangement ◦ Check whether Φ 1 ∧ A is satisfiable in T 1 and Φ 2 ∧ A is satisfiable in T 2 Theorem ◦ If Φ 1 ∧ A is satisfiable in T 1 and Φ 2 ∧ A is satisfiable in T 2 then Φ is satisfiable in T 1 ∪ T 2 . Why this works (informally) ◦ T 1 and T 2 are stably infinite. This implies that they have models of the same infinite cardinality. ◦ The arrangement A forces the two models to agree on equalities between shared variables. 12

  14. Computer Science Laboratory, SRI International Issues How do we find the right arrangement? ◦ The number of possible partitions of a set of n variables is known as Bell’s number ( B n ) ◦ This grows very fast with n (e.g., B 11 is 27644437) ◦ We can’t possibly try them all How do we handle theories that are not stably infinite? 13

  15. Computer Science Laboratory, SRI International The Nelson-Oppen Method (Nelson & Oppen, 1979) x_i = x_j Φ 1 Φ 2 x_k = x_j Method ◦ The theory solvers propagate implied equalities between shared variables. ◦ If both sides are satisfiable and no-more equalities can be propagated, then Φ is satisfiable. 14

  16. Computer Science Laboratory, SRI International Nelson-Oppen Example Input QF UF QF LRA x � y a = h ( x ) 2 y � x b = h ( y ) c = a − b d = f ( c ) e = 0 g = f ( e ) d > g 15

  17. Computer Science Laboratory, SRI International Nelson-Oppen Example QF LRA deduces and propagates x = y QF UF QF LRA x � y a = h ( x ) 2 y � x b = h ( y ) c = a − b d = f ( c ) e = 0 g = f ( e ) d > g x = y x = y 16

  18. Computer Science Laboratory, SRI International Nelson-Oppen Example QF UF propagates a = b QF UF QF LRA x � y a = h ( x ) 2 y � x b = h ( y ) c = a − b d = f ( c ) e = 0 g = f ( e ) d > g x = y x = y a = b a = b 17

  19. Computer Science Laboratory, SRI International Nelson-Oppen Example QF LRA propagates e = c QF UF QF LRA x � y a = h ( x ) 2 y � x b = h ( y ) c = a − b d = f ( c ) e = 0 g = f ( e ) d > g x = y x = y a = c a = c e = c e = c 18

  20. Computer Science Laboratory, SRI International Nelson-Oppen Example QF UF propagates d = g QF UF QF LRA x � y a = h ( x ) 2 y � x b = h ( y ) c = a − b d = f ( c ) e = 0 g = f ( e ) d > g x = y x = y a = b a = b e = c e = c d = g d = g 19

  21. Computer Science Laboratory, SRI International Nelson-Oppen Example QF LRA concludes unsat QF UF QF LRA x � y a = h ( x ) 2 y � x b = h ( y ) c = a − b d = f ( c ) e = 0 g = f ( e ) d > g x = y x = y a = b a = b e = c e = c d = g d = g 20

  22. Computer Science Laboratory, SRI International Properties of Nelson-Oppen Soundness and Completeness ◦ propagating implied equalities is sufficient for some theories but not others ◦ the theories for which this is sufficient are called convex theories ◦ for these theories, the method is sound and complete Termination ◦ obvious if the number of shared variables is fixed ◦ this is usually the case ◦ some theory solvers (e.g., arrays) may dynamically add more variables but this can be bounded 21

  23. Computer Science Laboratory, SRI International Convex Theories Definition ◦ T is convex if, for every set of literals Γ , and every disjunction of variable equalities x 1 = y 1 ∨ . . . ∨ x n = y n , such that Γ | = x 1 = y 1 ∨ . . . ∨ x n = y n , we have Γ | = x i = y i for some index i . Examples ◦ QF UF and QF LRA are convex ◦ QF LIA, QF BV, and QF AX are not convex 22

  24. Computer Science Laboratory, SRI International Non-Convex Examples QF LIA: linear arithmetic over the integers 0 � x ∧ x � y ∧ y � z ∧ z � 1 | = x = y ∨ y = z QF AX: array theory b = store ( a, i, v ) ∧ x = select ( b, j ) ∧ y = select ( a, j ) | = x = v ∨ x = y 23

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend