1 / 98

Model-Driven Decision Procedures for Arithmetic SYNASC 2013

Model-Driven Decision Procedures for Arithmetic SYNASC 2013. Leonardo de Moura Microsoft Research. Logic Engines as a Service. SAGE. SecGuru. Satisfiability. Solution/Model. s at,. unsat , P roof. Is execution path P feasible?. Is assertion X violated?. WI TNESS. SAGE.

virote
Download Presentation

Model-Driven Decision Procedures for Arithmetic SYNASC 2013

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Model-Driven Decision Proceduresfor ArithmeticSYNASC 2013 Leonardo de Moura Microsoft Research

  2. Logic Engines as a Service SAGE SecGuru

  3. Satisfiability Solution/Model sat, unsat, Proof Is execution path P feasible? Is assertion X violated? WI TNESS SAGE Is Formula FSatisfiable?

  4. The RISE of Model-Driven Techniques

  5. Saturation x Search Proof-finding Model-finding Proofs Conflict Resolution Models

  6. SAT CNF is a set (conjunction) set of clauses Clause is a disjunction of literals Literal is an atom or the negation of an atom

  7. Two procedures

  8. Resolution Improvements Delete tautologies Ordered Resolution Subsumption (delete redundant clauses) …

  9. Resolution: Example

  10. Resolution: Example

  11. Resolution: Example

  12. Resolution: Example

  13. Resolution: Example

  14. Resolution: Problem Exponential time and space

  15. Unit Resolution subsumes

  16. DPLL Split rule DPLL = Unit Resolution + Split rule

  17. DPLL

  18. DPLL

  19. DPLL

  20. DPLL

  21. DPLL

  22. DPLL

  23. CDCL: Conflict Driven Clause Learning DPLL Conflict Resolution Resolution Model Proof

  24. Linear Arithmetic

  25. Fourier-Motzkin Very similar to Resolution Exponential time and space

  26. Polynomial Constraints AKA Existential Theory of the Reals R

  27. Applications

  28. CAD “Big Picture” 1. Project/Saturate set of polynomials 2. Lift/Search: Incrementally build assignment Isolate roots of polynomials Select a feasible cell , and assign some If there is no feasible cell, then backtrack

  29. CAD “Big Picture” 1. Saturate 2. Search

  30. CAD “Big Picture” 1. Saturate 2. Search

  31. CAD “Big Picture” 1. Saturate CONFLICT 2. Search

  32. NLSAT: Model-Based Search Static x Dynamic Optimistic approach Key ideas Proofs Conflict Resolution Models Start the Search before Saturate/Project We saturate on demand Model guides the saturation

  33. NLSAT (1) Two kinds of decision 1. case-analysis (Boolean) 2. model construction (CAD lifting)

  34. NLSAT (1) Two kinds of decision 1. case-analysis (Boolean) 2. model construction (CAD lifting) Parametric calculus: Finite basis explanation function Explanations may contain new literals They evaluate to false in the current state

  35. NLSAT (2) Key ideas: Use partial solution to guide the search Feasible Region Starting search Partial solution: What is the core? Can we extend it to ?

  36. NLSAT (2) Key ideas: Use partial solution to guide the search Feasible Region Starting search Partial solution: What is the core? Can we extend it to ?

  37. NLSAT (3) Key ideas: Solution based Project/Saturate Standard project operators are pessimistic. Coefficients can vanish!

  38. NLSAT (4) Key ideas: Lemma Learning Prevent a Conflict from happening again. Current assignment Conflict Current assignments does not satisfy new constraint. Lemma

  39. NLSAT (5) Key ideas: Nonchronological Backtracking Conflict = 1 The values chosen for and are irrelevant.

  40. Machinery Multivariate & univariate Polynomials Basic operations, Pseudo-division, GCD, Resultant, PSC, Factorization, Root isolation algorithms, Sturm sequences Binary rationals Real Algebraic Numbers

  41. Experimental Results (1) OUR NEW ENGINE

  42. Experimental Results (2) OUR NEW ENGINE

  43. Other examples(for linear arithmetic) Generalizing DPLL to richer logics [McMillan et al 2009] Fourier-Motzkin X Conflict Resolution [Korovin et al 2009]

  44. Other examples Lemmas on Demand For Theory of Array [Brummayer-Biere 2009] Array Theory by Axiom Instantiation X

  45. Saturation: successful instances Polynomial time procedures Gaussian Elimination Congruence Closure

  46. MCSat Model-Driven SMT Lift ideas from CDCL to SMT Generalize ideas found in model-driven approaches Easier to implement Model construction is explicit

  47. MCSat

  48. MCSat Propagations

  49. MCSat Propagations

  50. MCSat Propagations

More Related