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

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


  • 129 Views
  • Uploaded on
  • Presentation posted in: General

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

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - 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. [email protected]: 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

  • Login