linear arithmetic satisfjability via strategy improvement
play

Linear Arithmetic Satisfjability via Strategy Improvement July 13, - PowerPoint PPT Presentation

Linear Arithmetic Satisfjability via Strategy Improvement July 13, 2016 Azadeh Farzan 1 Zachary Kincaid 1 , 2 1 University of Toronto 2 Princeton University SMT solvers handle the ground fragment. Techniques for quantifiers: Quantifier


  1. Linear Arithmetic Satisfjability via Strategy Improvement July 13, 2016 Azadeh Farzan 1 Zachary Kincaid 1 , 2 1 University of Toronto 2 Princeton University

  2. • SMT solvers handle the ground fragment. Techniques for quantifiers: • Quantifier elimination (expensive) • Heuristic quantifier instantiation (incomplete) • Today: alternating quantifier satisfiability modulo linear rational (& integer) arithmetic. integer) arithmetic via strategy improvement . • The problem: satisfiability modulo the theory of linear rational (& • Applications in program analysis & synthesis

  3. • Today: alternating quantifier satisfiability modulo linear rational (& integer) arithmetic. integer) arithmetic via strategy improvement . • The problem: satisfiability modulo the theory of linear rational (& • Applications in program analysis & synthesis • SMT solvers handle the ground fragment. Techniques for quantifiers: • Quantifier elimination (expensive) • Heuristic quantifier instantiation (incomplete)

  4. integer) arithmetic. integer) arithmetic via strategy improvement . • The problem: satisfiability modulo the theory of linear rational (& • Applications in program analysis & synthesis • SMT solvers handle the ground fragment. Techniques for quantifiers: • Quantifier elimination (expensive) • Heuristic quantifier instantiation (incomplete) • Today: alternating quantifier satisfiability modulo linear rational (&

  5. • A play of this game: SAT and UNSAT take turns picking elements of Game interpretation is satisfiable • matrix. The SAT player wins if the corresponding structure is a model of the x y x w . SAT has a winning strategy quantifier prefix matrix ϕ ≜ ∃ w . ∀ x . ∃ y . ∀ z . ( y < 1 ∨ 2 w < y ) ∧ ( z < y ∨ x < z ) � �� � � �� � • Two players: SAT and UNSAT • SAT wants to make the formula true • UNSAT wants to make the formula false

  6. The SAT player wins if the corresponding structure is a model of the Game interpretation w is satisfiable • matrix. x y x SAT has a winning strategy matrix quantifier prefix ϕ ≜ ∃ w . ∀ x . ∃ y . ∀ z . ( y < 1 ∨ 2 w < y ) ∧ ( z < y ∨ x < z ) � �� � � �� � • Two players: SAT and UNSAT • SAT wants to make the formula true • UNSAT wants to make the formula false • A play of this game: SAT and UNSAT take turns picking elements of Q . [ ]

  7. The SAT player wins if the corresponding structure is a model of the Game interpretation matrix is satisfiable • matrix. x y x SAT has a winning strategy quantifier prefix ϕ ≜ ∃ w . ∀ x . ∃ y . ∀ z . ( y < 1 ∨ 2 w < y ) ∧ ( z < y ∨ x < z ) � �� � � �� � • Two players: SAT and UNSAT • SAT wants to make the formula true • UNSAT wants to make the formula false • A play of this game: SAT and UNSAT take turns picking elements of Q . [ w �→ 1; ]

  8. The SAT player wins if the corresponding structure is a model of the Game interpretation matrix is satisfiable • matrix. x y SAT has a winning strategy quantifier prefix ϕ ≜ ∃ w . ∀ x . ∃ y . ∀ z . ( y < 1 ∨ 2 w < y ) ∧ ( z < y ∨ x < z ) � �� � � �� � • Two players: SAT and UNSAT • SAT wants to make the formula true • UNSAT wants to make the formula false • A play of this game: SAT and UNSAT take turns picking elements of Q . [ w �→ 1; x �→ 2 3; ]

  9. The SAT player wins if the corresponding structure is a model of the Game interpretation matrix is satisfiable • matrix. x SAT has a winning strategy quantifier prefix ϕ ≜ ∃ w . ∀ x . ∃ y . ∀ z . ( y < 1 ∨ 2 w < y ) ∧ ( z < y ∨ x < z ) � �� � � �� � • Two players: SAT and UNSAT • SAT wants to make the formula true • UNSAT wants to make the formula false • A play of this game: SAT and UNSAT take turns picking elements of Q . [ w �→ 1; x �→ 2 3; y �→ − 1; ]

  10. The SAT player wins if the corresponding structure is a model of the Game interpretation matrix is satisfiable • matrix. SAT has a winning strategy quantifier prefix ϕ ≜ ∃ w . ∀ x . ∃ y . ∀ z . ( y < 1 ∨ 2 w < y ) ∧ ( z < y ∨ x < z ) � �� � � �� � • Two players: SAT and UNSAT • SAT wants to make the formula true • UNSAT wants to make the formula false • A play of this game: SAT and UNSAT take turns picking elements of Q . [ w �→ 1; x �→ 2 3; y �→ − 1; x �→ 1]

  11. Game interpretation matrix is satisfiable • matrix. The SAT player wins if the corresponding structure is a model of the SAT has a winning strategy quantifier prefix ϕ ≜ ∃ w . ∀ x . ∃ y . ∀ z . ( y < 1 ∨ 2 w < y ) ∧ ( z < y ∨ x < z ) � �� � � �� � • Two players: SAT and UNSAT • SAT wants to make the formula true • UNSAT wants to make the formula false • A play of this game: SAT and UNSAT take turns picking elements of Q . [ w �→ 1; x �→ 2 3; y �→ − 1; x �→ 1]

  12. Game interpretation quantifier prefix matrix. The SAT player wins if the corresponding structure is a model of the matrix ϕ ≜ ∃ w . ∀ x . ∃ y . ∀ z . ( y < 1 ∨ 2 w < y ) ∧ ( z < y ∨ x < z ) � �� � � �� � • Two players: SAT and UNSAT • SAT wants to make the formula true • UNSAT wants to make the formula false • A play of this game: SAT and UNSAT take turns picking elements of Q . [ w �→ 1; x �→ 2 3; y �→ − 1; x �→ 1] • ϕ is satisfiable ⇐ ⇒ SAT has a winning strategy

  13. ϕ ≜ ∃ w . ∀ x . ∃ y . ∀ z . ( y < 1 ∨ 2 w < y ) ∧ ( z < y ∨ x < z ) ∃ w 1 • ∀ x x ≤ 0 x > 0 x + 1 ∃ y x + 2 2 • • ∀ z

  14. beats beats beats beats beats Mutual strategy improvement U S improves U improves S n X U n X S 0

  15. beats beats beats beats Mutual strategy improvement S improves U improves S n X U n X S 0 beats U 1

  16. beats beats beats improves Mutual strategy improvement U improves S n X U n X S 0 S 1 beats beats U 1

  17. beats beats improves X U n X S n Mutual strategy improvement improves S 0 S 1 beats beats beats · · · U 1 U 2

  18. beats improves X U n X S n Mutual strategy improvement improves S 0 S 1 beats beats beats beats · · · U 1 U 2

  19. beats Mutual strategy improvement X improves U n improves S n X S 0 S 1 beats beats beats beats · · · U 1 U 2

  20. Two questions: • What does it mean to improve a strategy? • How can we find counter-strategies?

  21. x Strategy skeletons improves x ϕ ≜ ∃ w . ∀ x . ∃ y . ∀ z . ( y < 1 ∨ 2 w < y ) ∧ ( z < y ∨ x < z ) ∃ w 0 • ∀ x x > 0 x ≤ 0 ∃ y 2 x • • ∀ z

  22. x Strategy skeletons improves x x x ϕ ≜ ∃ w . ∀ x . ∃ y . ∀ z . ( y < 1 ∨ 2 w < y ) ∧ ( z < y ∨ x < z ) ∃ w 0 • ∀ x ∃ y 2 x • • ∀ z

  23. Strategy skeletons x x x improves x ϕ ≜ ∃ w . ∀ x . ∃ y . ∀ z . ( y < 1 ∨ 2 w < y ) ∧ ( z < y ∨ x < z ) ∃ w 0 0 • • ∀ x ∃ y 2 x • • • ∀ z

  24. Counter strategy synthesis via ground satisfiability x x x z x x z x x z x x z ϕ ≜ ∃ w . ∀ x . ∃ y . ∀ z . ( y < 1 ∨ 2 w < y ) ∧ ( z < y ∨ x < z ) ∃ w 0 • ∀ x ∃ y 2 x • • ∀ z

  25. Counter strategy synthesis via ground satisfiability x x x z x x z x x z x x x z ϕ ≜ ∃ w . ∀ x . ∃ y . ∀ z . ( y < 1 ∨ 2 w < y ) ∧ ( z < y ∨ x < z ) ∃ w 0 ∀ x ∃ y 2 x ∀ z z 1 z 2

  26. Counter strategy synthesis via ground satisfiability x x ϕ ≜ ∃ w . ∀ x . ∃ y . ∀ z . ( y < 1 ∨ 2 w < y ) ∧ ( z < y ∨ x < z ) ∃ w 0 ∀ x ∃ y 2 x ∀ z z 1 z 2 ( ( ¬ (2 x < 1 ∨ 0 < 2 x ) ¬ ( x < 1 ∨ 0 < x ) ) ) ∧ ( z 2 < 2 x ∨ x < z 2 ) ∧ ( z 1 < x ∨ x < z 1 )

  27. Counter strategy synthesis via ground satisfiability z z x x z x x z x x x x x x ϕ ≜ ∃ w . ∀ x . ∃ y . ∀ z . ( y < 1 ∨ 2 w < y ) ∧ ( z < y ∨ x < z ) ∃ w 0 − 2 ∀ x ∃ y 2 x ∀ z z 1 z 2 − 3 − 2

  28. beats beats beats Selecting good strategies improves improves ϕ ≜ ∀ x . ∃ y . x < y • 1

  29. beats beats Selecting good strategies improves improves ϕ ≜ ∀ x . ∃ y . x < y • 1 beats 2 •

  30. beats Selecting good strategies improves improves ϕ ≜ ∀ x . ∃ y . x < y • • 1 1 3 beats beats 2 •

  31. Selecting good strategies improves improves ϕ ≜ ∀ x . ∃ y . x < y • • 1 1 3 beats beats beats · · · 2 2 4 • • •

  32. t m • (Model preservation) m x • (Finite image) select m x F Model-guided term selection Use model m to select the right disjunct. t . F x t T Idea: there is a set of terms T such that x F is equivalent to m = F is finite = F Given: = F (similar to model based projection - [Komuravelli, Gurfinkel, Chaki 2014]). • ground formula F • model m | • variable x select ( m , x , F ) finds a term t such that:

Recommend


More recommend