1 / 69

Quantifiers in Satisfiability Modulo Theories Frontiers of Computational Reasoning 2009 MSR Cambridge

Symbolic Reasoning. Quantifiers in Satisfiability Modulo Theories. . PSpace-complete(QBF). Undecidable(First-order logic). NP-complete(Propositional logic). NEXPTime-complete(EPR). P-time(Equality). Logic is

aya
Download Presentation

Quantifiers in Satisfiability Modulo Theories Frontiers of Computational Reasoning 2009 MSR Cambridge

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. Quantifiers in Satisfiability Modulo Theories Frontiers of Computational Reasoning 2009 MSR Cambridge Leonardo de Moura Microsoft Research

    2. Symbolic Reasoning Quantifiers in Satisfiability Modulo Theories Logic is The Calculus of Computer Science (Z. Manna). High computational complexity

    3. Satisfiability Modulo Theories (SMT) Quantifiers in Satisfiability Modulo Theories

    4. Satisfiability Modulo Theories (SMT) Quantifiers in Satisfiability Modulo Theories

    5. Satisfiability Modulo Theories (SMT) Quantifiers in Satisfiability Modulo Theories

    6. Satisfiability Modulo Theories (SMT) Quantifiers in Satisfiability Modulo Theories

    7. Satisfiability Modulo Theories (SMT) Quantifiers in Satisfiability Modulo Theories

    8. Theories A Theory is a set of sentences Alternative definition: A Theory is a class of structures Th(M) is the set of sentences that are true in the structure M Quantifiers in Satisfiability Modulo Theories

    9. SMT: Some Applications @ Microsoft Quantifiers in Satisfiability Modulo Theories

    10. SMT@Microsoft: Solver Quantifiers in Satisfiability Modulo Theories

    11. SMT x First-order provers Quantifiers in Satisfiability Modulo Theories

    12. SMT x SAT Quantifiers in Satisfiability Modulo Theories

    13. Ground formulas For most SMT solvers: F is a set of ground formulas Quantifiers in Satisfiability Modulo Theories

    14. DPLL M | F Quantifiers in Satisfiability Modulo Theories

    15. DPLL Guessing Quantifiers in Satisfiability Modulo Theories

    16. DPLL Deducing Quantifiers in Satisfiability Modulo Theories

    17. DPLL Backtracking Quantifiers in Satisfiability Modulo Theories

    18. Solvers = DPLL + Decision Procedures Efficient decision procedures for conjunctions of ground atoms. Quantifiers in Satisfiability Modulo Theories

    19. Verifying Compilers Quantifiers in Satisfiability Modulo Theories

    20. Verification conditions: Structure

    21. Main Challenge Quantifiers, quantifiers, quantifiers, Modeling the runtime ? h,o,f: IsHeap(h) ? o ? null ? read(h, o, alloc) = t ? read(h,o, f) = null ? read(h, read(h,o,f),alloc) = t Quantifiers in Satisfiability Modulo Theories

    22. Main Challenge Quantifiers, quantifiers, quantifiers, Modeling the runtime Frame axioms ? o, f: o ? null ? read(h0, o, alloc) = t ? read(h1,o,f) = read(h0,o,f) ? (o,f) ? M Quantifiers in Satisfiability Modulo Theories

    23. Main Challenge Quantifiers, quantifiers, quantifiers, Modeling the runtime Frame axioms User provided assertions ? i,j: i ? j ? read(a,i) ? read(b,j) Quantifiers in Satisfiability Modulo Theories

    24. Main Challenge Quantifiers, quantifiers, quantifiers, Modeling the runtime Frame axioms User provided assertions Theories x: p(x,x) x,y,z: p(x,y), p(y,z) ? p(x,z) x,y: p(x,y), p(y,x) ? x = y Quantifiers in Satisfiability Modulo Theories

    25. Main Challenge Quantifiers, quantifiers, quantifiers, Modeling the runtime Frame axioms User provided assertions Theories Solver must be fast in satisfiable instances. Quantifiers in Satisfiability Modulo Theories

    26. Some statistics Grand challenge: Microsoft Hypervisor 70k lines of dense C code VCs have several Mb Thousands of non ground clauses Developers are willing to wait at most 5 min per VC Quantifiers in Satisfiability Modulo Theories

    27. Many Approaches Quantifiers in Satisfiability Modulo Theories

    28. E-matching & Quantifier instantiation Quantifiers in Satisfiability Modulo Theories

    29. E-matching & Quantifier instantiation Quantifiers in Satisfiability Modulo Theories

    30. E-matching: why do we use it? Quantifiers in Satisfiability Modulo Theories

    31. Efficient E-matching Quantifiers in Satisfiability Modulo Theories

    32. E-matching code trees Quantifiers in Satisfiability Modulo Theories

    33. E-matching: Limitations Quantifiers in Satisfiability Modulo Theories

    34. E-matching: Limitations Quantifiers in Satisfiability Modulo Theories

    35. E-matching: Limitations Quantifiers in Satisfiability Modulo Theories

    36. E-matching: Limitations Quantifiers in Satisfiability Modulo Theories

    37. E-matching: Limitations Quantifiers in Satisfiability Modulo Theories

    38. E-matching: Limitations Quantifiers in Satisfiability Modulo Theories

    39. E-matching: Limitations Quantifiers in Satisfiability Modulo Theories

    40. E-matching: Limitations Quantifiers in Satisfiability Modulo Theories

    41. DPLL(?) Quantifiers in Satisfiability Modulo Theories

    42. DPLL(?) Quantifiers in Satisfiability Modulo Theories

    43. DPLL(?) Quantifiers in Satisfiability Modulo Theories

    44. DPLL(?): Deduce I Quantifiers in Satisfiability Modulo Theories

    45. DPLL(?): Deduce I Quantifiers in Satisfiability Modulo Theories

    46. DPLL(?): Deduce I Quantifiers in Satisfiability Modulo Theories

    47. DPLL(?): Deduce II Quantifiers in Satisfiability Modulo Theories

    48. DPLL(?): Deduce II Quantifiers in Satisfiability Modulo Theories

    49. DPLL(?): Backtracking Quantifiers in Satisfiability Modulo Theories

    50. DPLL(?): Backtracking Quantifiers in Satisfiability Modulo Theories

    51. DPLL(?): Hypothesis Elimination Quantifiers in Satisfiability Modulo Theories

    52. DPLL(?): Improvement Quantifiers in Satisfiability Modulo Theories

    53. DPLL(?): Improvement Quantifiers in Satisfiability Modulo Theories

    54. DPLL(?): Improvement Quantifiers in Satisfiability Modulo Theories

    55. DPLL(?): Contraction rules Quantifiers in Satisfiability Modulo Theories

    56. DPLL(?): Contraction rules Quantifiers in Satisfiability Modulo Theories

    57. DPLL(?): Contraction rules Quantifiers in Satisfiability Modulo Theories

    58. DPLL(?): Contraction rules Quantifiers in Satisfiability Modulo Theories

    59. DPLL(?): Problems Quantifiers in Satisfiability Modulo Theories

    60. DPLL(?): Problems Quantifiers in Satisfiability Modulo Theories

    61. Non ground clauses + interpreted symbols Quantifiers in Satisfiability Modulo Theories

    62. Essentially unintepreted fragment Quantifiers in Satisfiability Modulo Theories

    63. Almost unintepreted fragment Quantifiers in Satisfiability Modulo Theories

    64. Complete quantifier instantiation Quantifiers in Satisfiability Modulo Theories

    65. Refutationally complete procedure Quantifiers in Satisfiability Modulo Theories

    66. Example Quantifiers in Satisfiability Modulo Theories

    67. CEGAR-like loop for quantifiers Quantifiers in Satisfiability Modulo Theories

    68. What is the best approach? Quantifiers in Satisfiability Modulo Theories

    69. Parallel Z3 Joint work with Y. Hamadi (MSRC) and C. Wintersteiger Multi-core & Multi-node (HPC) Different strategies in parallel Collaborate exchanging lemmas Quantifiers in Satisfiability Modulo Theories

    70. Conclusion Quantifiers in Satisfiability Modulo Theories

More Related