complete instantiation of quantified formulas in
play

Complete Instantiation of Quantified Formulas in Satisfiability - PowerPoint PPT Presentation

Complete Instantiation of Quantified Formulas in Satisfiability Modulo Theories Yeting Ge 1 Leonardo de Moura 2 1 New York University 2 Microsoft Research 7th International Workshop on Satisfiability Modulo Theories Aug 3, 2009 Montreal, Canada


  1. Complete Instantiation of Quantified Formulas in Satisfiability Modulo Theories Yeting Ge 1 Leonardo de Moura 2 1 New York University 2 Microsoft Research 7th International Workshop on Satisfiability Modulo Theories Aug 3, 2009 Montreal, Canada

  2. Quantified SMT formulas Traditional SMT solvers only deal with quantifier free formulas Quantified SMT formulas are useful Yeting Ge, Leonardo de Moura Complete Instantiation of Quantified SMT Formulas

  3. Quantified SMT formulas Traditional SMT solvers only deal with quantifier free formulas Quantified SMT formulas are useful Unsupported/customized theories Type system in ESC/Java, Boogie ∀ x 1 , x 2 , x 3 : ( subtype ( x 1 , x 2 ) ∧ subtype ( x 2 , x 3 ) → subtype ( x 1 , x 3 )) Yeting Ge, Leonardo de Moura Complete Instantiation of Quantified SMT Formulas

  4. Quantified SMT formulas Traditional SMT solvers only deal with quantifier free formulas Quantified SMT formulas are useful Unsupported/customized theories Type system in ESC/Java, Boogie ∀ x 1 , x 2 , x 3 : ( subtype ( x 1 , x 2 ) ∧ subtype ( x 2 , x 3 ) → subtype ( x 1 , x 3 )) User assertions/invariants ∀ x , y : ( x ≤ y → read ( a , x ) ≤ read ( a , y )) Yeting Ge, Leonardo de Moura Complete Instantiation of Quantified SMT Formulas

  5. Quantified SMT formulas Traditional SMT solvers only deal with quantifier free formulas Quantified SMT formulas are useful Unsupported/customized theories Type system in ESC/Java, Boogie ∀ x 1 , x 2 , x 3 : ( subtype ( x 1 , x 2 ) ∧ subtype ( x 2 , x 3 ) → subtype ( x 1 , x 3 )) User assertions/invariants ∀ x , y : ( x ≤ y → read ( a , x ) ≤ read ( a , y )) Many more...... Heaps, linked lists,... Yeting Ge, Leonardo de Moura Complete Instantiation of Quantified SMT Formulas

  6. Quantifier Reasoning in SMT: a long-standing challenge Mixed uninterpreted and interpreted symbols All interpreted All Quantifier uninterpreted Elimination ATP Quantified SMT formulas Yeting Ge, Leonardo de Moura Complete Instantiation of Quantified SMT Formulas

  7. Quantifier Reasoning in SMT: a long-standing challenge Mixed uninterpreted and interpreted symbols All interpreted All Quantifier uninterpreted Elimination ATP Quantified SMT formulas Difficult for a general solution Uninterpreted functions + arithmetic : undecidable Yeting Ge, Leonardo de Moura Complete Instantiation of Quantified SMT Formulas

  8. Quantifier Reasoning in SMT: a long-standing challenge Mixed uninterpreted and interpreted symbols All interpreted All Quantifier uninterpreted Elimination ATP Quantified SMT formulas Difficult for a general solution Uninterpreted functions + arithmetic : undecidable Solutions Theory resolution, SMT+ATP,... Yeting Ge, Leonardo de Moura Complete Instantiation of Quantified SMT Formulas

  9. Instantiation Based Quantifier Reasoning in SMT The big idea: Given quantified formula ∀ x : P Yeting Ge, Leonardo de Moura Complete Instantiation of Quantified SMT Formulas

  10. Instantiation Based Quantifier Reasoning in SMT The big idea: Given quantified formula ∀ x : P 1 Select some ground terms Yeting Ge, Leonardo de Moura Complete Instantiation of Quantified SMT Formulas

  11. Instantiation Based Quantifier Reasoning in SMT The big idea: Given quantified formula ∀ x : P 1 Select some ground terms 2 Instantiate ∀ x : P using ground terms from step 1 Let P ′ be the conjunction of instantiations Yeting Ge, Leonardo de Moura Complete Instantiation of Quantified SMT Formulas

  12. Instantiation Based Quantifier Reasoning in SMT The big idea: Given quantified formula ∀ x : P 1 Select some ground terms 2 Instantiate ∀ x : P using ground terms from step 1 Let P ′ be the conjunction of instantiations 3 Check P ′ If P ′ is unsatisfiable, then ∀ x : P is unsatisfiable P ′ is quantifier free Yeting Ge, Leonardo de Moura Complete Instantiation of Quantified SMT Formulas

  13. Instantiation Based Quantifier Reasoning in SMT The big idea: Given quantified formula ∀ x : P 1 Select some ground terms 2 Instantiate ∀ x : P using ground terms from step 1 Let P ′ be the conjunction of instantiations 3 Check P ′ If P ′ is unsatisfiable, then ∀ x : P is unsatisfiable P ′ is quantifier free Example f ( a ) < 1 ∧ ( ∀ x : f ( x ) > 2) Select a as the ground term for instantiation Instantiate ∀ x : f ( x ) > 2 with x substituted by a f ( a ) < 1 ∧ f ( a ) > 2, contradiction Yeting Ge, Leonardo de Moura Complete Instantiation of Quantified SMT Formulas

  14. Instantiation Based Quantifier Reasoning in SMT The big idea: Given quantified formula ∀ x : P 1 Select some ground terms 2 Instantiate ∀ x : P using ground terms from step 1 Let P ′ be the conjunction of instantiations 3 Check P ′ If P ′ is unsatisfiable, then ∀ x : P is unsatisfiable P ′ is quantifier free Example f ( a ) < 1 ∧ ( ∀ x : f ( x ) > 2) Select a as the ground term for instantiation Instantiate ∀ x : f ( x ) > 2 with x substituted by a f ( a ) < 1 ∧ f ( a ) > 2, contradiction What if P ′ is satisfiable? Yeting Ge, Leonardo de Moura Complete Instantiation of Quantified SMT Formulas

  15. Incomplete vs Complete Instantiation Instantiation based methods are attractive Acceptable performance (E-matching,...) Problem:Incompleteness If P ′ is satisfiable, we can say nothing about the satisfiability of ∀ x : P In this talk, we will introduce a series of new fragments that can be solved by complete instantiation Yeting Ge, Leonardo de Moura Complete Instantiation of Quantified SMT Formulas

  16. Incomplete vs Complete Instantiation Instantiation based methods are attractive Acceptable performance (E-matching,...) Problem:Incompleteness If P ′ is satisfiable, we can say nothing about the satisfiability of ∀ x : P Can we have a complete method based on instantiation? Ideally, given F , we would like to have a F ∗ such that : F ∗ is quantifier free F ∗ is the conjunction of instantiations of F F and F ∗ are equi-satisfiable In this talk, we will introduce a series of new fragments that can be solved by complete instantiation Yeting Ge, Leonardo de Moura Complete Instantiation of Quantified SMT Formulas

  17. Incomplete vs Complete Instantiation Instantiation based methods are attractive Acceptable performance (E-matching,...) Problem:Incompleteness If P ′ is satisfiable, we can say nothing about the satisfiability of ∀ x : P Can we have a complete method based on instantiation? Ideally, given F , we would like to have a F ∗ such that : F ∗ is quantifier free F ∗ is the conjunction of instantiations of F F and F ∗ are equi-satisfiable Of course, only possible for formulas in some fragments Array property fragment by Bradley et al Linked list by Scott et al In this talk, we will introduce a series of new fragments that can be solved by complete instantiation Yeting Ge, Leonardo de Moura Complete Instantiation of Quantified SMT Formulas

  18. New Fragments for Complete Instantiation More Extensions Arithmetic Literals Essentially Uninterpreted Yeting Ge, Leonardo de Moura Complete Instantiation of Quantified SMT Formulas

  19. New Fragments for Complete Instantiation More Extensions Arithmetic Literals Essentially Uninterpreted Two key issues for complete instantiation: What to instantiate? How to collect ground terms for instantiation? Why complete? How to prove? Yeting Ge, Leonardo de Moura Complete Instantiation of Quantified SMT Formulas

  20. Notations x , y , x 1 , y 1 , ... denotes variables a , b , c , ... are constants f , g , h , ... are uninterpreted functions + , − , ∗ , <, ≤ , ... are interpreted arithmetic symbols t M denotes the interpretation of term t in model M Yeting Ge, Leonardo de Moura Complete Instantiation of Quantified SMT Formulas

  21. Essentially Uninterpreted Formulas Definition (Essentially Uninterpreted) Variables only appear as arguments of uninterpreted functions/predicates For complete instantiation, two key issues: What to instantiate? Why complete? Yeting Ge, Leonardo de Moura Complete Instantiation of Quantified SMT Formulas

  22. Essentially Uninterpreted Formulas Definition (Essentially Uninterpreted) Variables only appear as arguments of uninterpreted functions/predicates Example f ( x ) + b > c , YES For complete instantiation, two key issues: What to instantiate? Why complete? Yeting Ge, Leonardo de Moura Complete Instantiation of Quantified SMT Formulas

  23. Essentially Uninterpreted Formulas Definition (Essentially Uninterpreted) Variables only appear as arguments of uninterpreted functions/predicates Example f ( x ) + b > c , YES f ( x + y ) > c , NO For complete instantiation, two key issues: What to instantiate? Why complete? Yeting Ge, Leonardo de Moura Complete Instantiation of Quantified SMT Formulas

  24. Essentially Uninterpreted Formulas Definition (Essentially Uninterpreted) Variables only appear as arguments of uninterpreted functions/predicates Example f ( x ) + b > c , YES f ( x + y ) > c , NO A formula in pure first order logic is an EU formula For complete instantiation, two key issues: What to instantiate? Why complete? Yeting Ge, Leonardo de Moura Complete Instantiation of Quantified SMT Formulas

  25. Motivation Example Is P ( f ( b )) ∧ Q ( f ( a )) ∧ ∀ x : P ( f ( x )) satisfiable? Yeting Ge, Leonardo de Moura Complete Instantiation of Quantified SMT Formulas

Recommend


More recommend