model constructing satisfiability calculus
play

Model-Constructing Satisfiability Calculus Dejan Jovanovi c Clark - PowerPoint PPT Presentation

Model-Constructing Satisfiability Calculus Dejan Jovanovi c Clark Barrett Leonardo de Moura SRI International NYU Microsoft Research Satisfiability Modulo Theories and DPLL(T) Problem Check a given formula for satisfiability modulo the


  1. Model-Constructing Satisfiability Calculus Dejan Jovanovi´ c Clark Barrett Leonardo de Moura SRI International NYU Microsoft Research

  2. Satisfiability Modulo Theories and DPLL(T) Problem Check a given formula for satisfiability modulo the union of background theories. Example (QF UFLRA) ( z = 1 ∨ z = 0 ) ∧ ( x − y + z = 1 ) ∧ ( f ( x ) > f ( y )) Main idea behind DPLL(T) use a SAT solver to enumerate the Boolean structure, 1 check Boolean assignments with a decision procedure. 2

  3. Satisfiability Modulo Theories and DPLL(T) a 0 >a 3 a 2 <b 2 a 0 <b 0 b 0 <a 1 a 1 <b 1 b 2 <a 3 b 1 <a 2 a 3 c 0 <a 1 c 1 <a 2 < a 0 <c 0 a 1 <c 1 a c 2 < 2 c 2 Example (Diamonds) n − 1 � a 0 > a n ∧ (( a k < b k ∧ b k < a k + 1 ) ∨ ( a k < c k ∧ c k < a k + 1 )) k = 0

  4. Satisfiability Modulo Theories and DPLL(T) a 0 >a 3 a 2 <b 2 a 0 <b 0 b 0 <a 1 a 1 <b 1 b 2 <a 3 b 1 <a 2 a 3 c 0 <a 1 c 1 <a 2 < a 0 <c 0 a 1 <c 1 a c 2 < 2 c 2 Example (Diamonds) n − 1 � a 0 > a n ∧ (( a k < b k ∧ b k < a k + 1 ) ∨ ( a k < c k ∧ c k < a k + 1 )) k = 0

  5. Satisfiability Modulo Theories and DPLL(T) a 0 >a 3 a 2 <b 2 a 0 <b 0 b 0 <a 1 a 1 <b 1 b 2 <a 3 b 1 <a 2 a 3 c 0 <a 1 c 1 <a 2 < a 0 <c 0 a 1 <c 1 a c 2 < 2 c 2 Example (Diamonds) n − 1 � a 0 > a n ∧ (( a k < b k ∧ b k < a k + 1 ) ∨ ( a k < c k ∧ c k < a k + 1 )) k = 0

  6. Satisfiability Modulo Theories and DPLL(T) a 0 >a 3 a 2 <b 2 a 0 <b 0 b 0 <a 1 a 1 <b 1 b 2 <a 3 b 1 <a 2 a 3 c 0 <a 1 c 1 <a 2 < a 0 <c 0 a 1 <c 1 a c 2 < 2 c 2 Example (Diamonds) n − 1 � a 0 > a n ∧ (( a k < b k ∧ b k < a k + 1 ) ∨ ( a k < c k ∧ c k < a k + 1 )) k = 0

  7. Alternative: Model-Based Procedures Linear Real Arithmetic MKS 2009 Generalizing DPLL to Richer Logics KTV 2009 Conflict Resolution C 2010 Natural Domain SMT Linear Integer Arithmetic JdM 2011 Cutting to the Chase: Solving Linear Integer Arithmetic Non-Linear Real Arithmetic JdM 2012 Solving Non-Linear Arithmetic

  8. Alternative: Model-Based Procedures Goals General framework for model-based decision procedures Allow for Boolean structure Allow for multiple theories (QF UFLRA) Efficient! (even for simple theories)

  9. Boolean Satisfiability x n ∨ · · · ∨ x 1 ∨ y m ∨ · · · ∨ y 1 Resolution-Based procedure by Davis, Putnam (1960) Search-Based procedure by Davis, Logemann, Loveland (1962) Resolution (DP) Search (DLL) Find a proof Find a model Saturation Search and backtracking Exponential Exponential

  10. Boolean Satisfiability: CDCL [1996] Marques-Silva, Sakallah GRASP : A new search algorithm for satisfiabiliy [2001] Moskewicz, Madigan, Zhao, Zhang, Malik CHAFF : Engineering an efficient SAT solver c h r a e S Conflict-Directed Clause Learning CDCL Use the search to guide resolution R Use resolution to guide the search e s o l v e

  11. Boolean Satisfiability: CDCL x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y x ��

  12. Boolean Satisfiability: CDCL x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y x � x �

  13. Boolean Satisfiability: CDCL x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y x � x , y �

  14. Boolean Satisfiability: CDCL x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y x Unit Propagation � x , y � ( x ∨ y ∨ z ) is unit, propagate z .

  15. Boolean Satisfiability: CDCL x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y x � x , y , z �

  16. Boolean Satisfiability: CDCL x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y x � x , y , z �

  17. Boolean Satisfiability: CDCL x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y x � x , y , z � Resolve Conflict x ∨ y ∨ z x ∨ y ∨ z x ∨ y

  18. Boolean Satisfiability: CDCL x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y x � x , y , z �

  19. Boolean Satisfiability: CDCL x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y x � x �

  20. Boolean Satisfiability: CDCL x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y x � x , y �

  21. Boolean Satisfiability: CDCL x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y x � x , y , z �

  22. Boolean Satisfiability: CDCL x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y x � x , y , z �

  23. Boolean Satisfiability: CDCL x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y x � x , y , z � Resolve Conflict x ∨ y ∨ z x ∨ y ∨ z x ∨ y x ∨ y x

  24. Boolean Satisfiability: CDCL x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y x � x , y , z �

  25. Boolean Satisfiability: CDCL x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y x ��

  26. Boolean Satisfiability: CDCL x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y ∨ z x ∨ y x � x �

  27. Boolean Satisfiability: CDCL Model Construction Build partial model by assigning variables to values � . . . , x , . . . , y , . . . , z , . . . � . Unit Reasoning Reason about unit constraints ( x ∨ y ∨ z ∨ w ) . Explain Conflicts Explain conflicts using clausal reasons ( x ∨ y ∨ z ) .

  28. Linear Real Arithmetic Linear Arithmetic a 1 x 1 + · · · + a n x n ≥ b a 1 x 1 + · · · + a n x n = b Current state-of-the-art: Simplex A model builder for a conjunction of linear constraints. Search for a model Escape conflicts through pivoting Built for the DPLL(T) framework [DdM 2006] A fast linear-arithmetic solver for DPLL(T)

  29. Linear Real Arithmetic Linear Arithmetic a 1 x 1 + · · · + a n x n ≥ b a 1 x 1 + · · · + a n x n = b Fourier-Motzkin Resolution 2 x + 3 y − z ≥ − 1 − 3 x − 2 y + 4 z ≥ 2 6 x + 9 y − 3 z ≥ − 3 − 6 x − 4 y + 8 z ≥ 4 5 y + 5 z ≥ 1 Feels like Boolean resolution (elimination). Behaves like Boolean resolution (exponential).

  30. Linear Real Arithmetic Model Construction Build partial model by assigning variables to values � . . . , C 1 , C 2 , . . . , x �→ 1 / 2 , . . . , y �→ 1 / 2 , . . . , z �→ − 1 , . . . � . Unit Reasoning Reason about unit constraints C 1 ≡ ( x + y + z + w ≥ 0 ) C 2 ≡ ( x + y + z − w > 0 ) . Explain Conflicts Explain conflicts using valid clausal reasons ( C 1 ∨ C 2 ∨ x + y + z > 0 ) .

  31. Linear Real Arithmetic 4 3 2 1 � 1 1 2 3 4 5 6 � 1 C 1 C 2 � �� � � �� � 2 y − x − 2 < 0 ∧ − 2 y − x + 4 < 0 �� Explanation C 1 ∧ C 2 = ⇒ x � = 0 . 5

  32. Linear Real Arithmetic 4 3 2 1 � 1 1 2 3 4 5 6 � 1 C 1 C 2 � �� � � �� � 2 y − x − 2 < 0 ∧ − 2 y − x + 4 < 0 � C 1 , C 2 � Explanation C 1 ∧ C 2 = ⇒ x � = 0 . 5

  33. Linear Real Arithmetic 4 3 2 1 � 1 1 2 3 4 5 6 � 1 C 1 C 2 � �� � � �� � 2 y − x − 2 < 0 ∧ − 2 y − x + 4 < 0 � C 1 , C 2 , x �→ 0 . 5 � Explanation C 1 ∧ C 2 = ⇒ x � = 0 . 5

  34. Linear Real Arithmetic 4 3 2 1 � 1 1 2 3 4 5 6 Unit Constraint Reasoning � 1 2 y − x − 2 < 0 = ⇒ ( y < 1 . 25 ) − 2 y − x + 4 < 0 = ⇒ ( y > 1 . 75 ) C 1 C 2 � �� � � �� � 2 y − x − 2 < 0 ∧ − 2 y − x + 4 < 0 � C 1 , C 2 , x �→ 0 . 5 � Explanation C 1 ∧ C 2 = ⇒ x � = 0 . 5

  35. Linear Real Arithmetic 4 3 2 1 � 1 1 2 3 4 5 6 � 1 C 1 C 2 � �� � � �� � 2 y − x − 2 < 0 ∧ − 2 y − x + 4 < 0 � C 1 , C 2 , x �→ 0 . 5 � Explanation C 1 ∧ C 2 = ⇒ x � = 0 . 5

  36. Linear Real Arithmetic 4 3 2 1 � 1 1 2 3 4 5 6 � 1 C 1 C 2 � �� � � �� � 2 y − x − 2 < 0 ∧ − 2 y − x + 4 < 0 � C 1 , C 2 , x �→ 0 . 5 � Explanation C 1 ∧ C 2 = ⇒

  37. Linear Real Arithmetic 4 3 2 1 � 1 1 2 3 4 5 6 � 1 Fourier-Motzkin 2 y − x − 2 < 0 − 2 y − x + 4 < 0 C 1 C 2 � �� � � �� � − 2 x + 2 < 0 2 y − x − 2 < 0 ∧ − 2 y − x + 4 < 0 � C 1 , C 2 , x �→ 0 . 5 � Explanation C 1 ∧ C 2 = ⇒

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