effectively propositional interpolants
play

Effectively Propositional Interpolants Samuel Drews and Aws - PowerPoint PPT Presentation

Effectively Propositional Interpolants Samuel Drews and Aws Albarghouthi Effectively Propositional Logic (EPR) Quantifier-free No function symbols EPR Decidable satisfiability! EPR Decidable satisfiability! Expressive: Linked lists


  1. Effectively Propositional Interpolants Samuel Drews and Aws Albarghouthi

  2. Effectively Propositional Logic (EPR) Quantifier-free No function symbols

  3. EPR Decidable satisfiability!

  4. EPR Decidable satisfiability! Expressive: ● Linked lists [Itzhaky et al. 2014] ● Software-defined networks [Ball et al. 2014] ● Parameterized distributed protocols [Padon et al. 2016] ● …

  5. Interpolants Given A and B such that A A ∧ B is unsatisfiable B

  6. Interpolants Given A and B such that A A ∧ B is unsatisfiable B Find I such that I A → I is valid I ∧ B is unsatisfiable I is in shared vocabulary ( A , B )

  7. Restricted Logics for Invariants is valid, or is unsat

  8. Restricted Logics for Invariants is valid, or is unsat

  9. Restricted Logics for Invariants is valid, or is unsat ∃ * ∀ * φ decidable, but ∀ * ∃ * φ undecidable

  10. Restricted Logics for Invariants is valid, or is unsat ∃ * ∀ * φ decidable, but ∀ * ∃ * φ undecidable Bummer

  11. Restricted Logics for Invariants 1. ∃ -logic: ∃ * φ 2. ∀ -logic: ∀ * φ is valid, or 3. AF-logic: boolean combinations of is unsat ∃ -logic and ∀ -logic ex: ( ∃ * φ 1 ∧ ∀ * φ 2 ) ∨ ∀ * φ 3 ∃ * ∀ * φ decidable, but ∀ * ∃ * φ undecidable Bummer

  12. Models and Diagrams

  13. Models and Diagrams Model c 1 c 2

  14. Models and Diagrams Model Diagram c 1 c 2

  15. Models and Diagrams

  16. UITP: for ∃ -Logic Interpolants A A B B

  17. UITP: for ∃ -Logic Interpolants m 1 A A B B

  18. UITP: for ∃ -Logic Interpolants diag ( m 1 ) m 1 A A B B

  19. UITP: for ∃ -Logic Interpolants diag ( m 1 ) m 2 m 1 A A B B

  20. UITP: for ∃ -Logic Interpolants diag ( m 1 ) diag ( m 2 ) m 2 m 1 A A B B

  21. UITP: for ∃ -Logic Interpolants diag ( m 1 ) diag ( m 2 ) m 2 m 1 A A m 3 B B

  22. UITP: for ∃ -Logic Interpolants diag ( m 1 ) diag ( m 2 ) m 2 m 1 A A m 3 B B diag ( m 3 )

  23. UITP: for ∃ -Logic Interpolants A A B B

  24. UITP: for ∃ -Logic Interpolants m 1 A A B B

  25. UITP: for ∃ -Logic Interpolants diag ( m 1 ) m 1 A A B B

  26. UITP: for ∃ -Logic Interpolants diag ( m 1 ) m 1 m 2 A A B B

  27. UITP: for ∃ -Logic Interpolants diag ( m 1 ) m 1 m 2 A A B B diag ( m 2 )

  28. UITP: for ∃ -Logic Interpolants diag ( m 1 ) m 1 m 2 A A B B diag ( m 2 ) diag ( m 2 ) ∧ B is sat

  29. UITP: for ∃ -Logic Interpolants diag ( m 1 ) No ∃ -logic Interpolant m 1 m 2 A A B B diag ( m 2 ) diag ( m 2 ) ∧ B is sat

  30. UITP Soundness ● Returning I : interpolant by construction ● Returning none is sound: diag ( m ) is the strongest ∃ -logic formula that m models

  31. UITP Soundness ● Returning I : interpolant by construction ● Returning none is sound: diag ( m ) is the strongest ∃ -logic formula that m models A m B

  32. UITP Soundness ● Returning I : interpolant by construction ● Returning none is sound: diag ( m ) is the strongest ∃ -logic formula that m models ∃ * φ A m B

  33. UITP Soundness ● Returning I : interpolant by construction ● Returning none is sound: diag ( m ) is the strongest ∃ -logic formula that m models ∃ * φ ∃ * φ ∧ B still sat A m B

  34. UITP Termination (and Completeness) EPR small model property: All EPR A have a bound k such that m ⊧ A → ∃ m small : ● m small ⊧ A ● m small ⊆ m ● | m small | ≤ k

  35. UITP Termination (and Completeness) EPR small model property: So m ⊧ diag ( m small ) All EPR A have a bound k such that m ⊧ A → ∃ m small : ● m small ⊧ A ● m small ⊆ m ● | m small | ≤ k

  36. UITP Termination (and Completeness) EPR small model property: So m ⊧ diag ( m small ) All EPR A have a bound k such that m ⊧ A → ∃ m small : ● m small ⊧ A ● m small ⊆ m ● | m small | ≤ k

  37. UITP: for ∀ -Logic Interpolants A B

  38. UITP: for ∀ -Logic Interpolants A B B A

  39. BITP: for AF-Logic Interpolants A B

  40. BITP: for AF-Logic Interpolants m 1 A B

  41. BITP: for AF-Logic Interpolants m 1 A B

  42. BITP: for AF-Logic Interpolants m 1 A m 2 B

  43. BITP: for AF-Logic Interpolants m 1 A A m 2 B B

  44. BITP: for AF-Logic Interpolants ∃ * φ 1 ∧ ∀ * φ 2 m 1 A A m 2 B B

  45. BITP Soundness and Relative Completeness Soundness: returned I is interpolant by construction Rel. Compl.: Existence of AF-logic interpolant → termination A B

  46. BITP Soundness and Relative Completeness Soundness: returned I is interpolant by construction Rel. Compl.: Existence of AF-logic interpolant → termination A B

  47. BITP Soundness and Relative Completeness Soundness: returned I is interpolant by construction Rel. Compl.: Existence of AF-logic interpolant → termination A B

  48. BITP Soundness and Relative Completeness Soundness: returned I is interpolant by construction Rel. Compl.: Existence of AF-logic interpolant → termination A B

  49. BITP Soundness and Relative Completeness Soundness: returned I is interpolant by construction Rel. Compl.: Existence of AF-logic interpolant → termination A … B

  50. BITP Soundness and Relative Completeness Soundness: returned I is interpolant by construction Rel. Compl.: Existence of AF-logic interpolant → termination A If φ ∈ AF-logic And A → φ … Then φ ∧ B is sat B

  51. BITP Soundness and Relative Completeness Soundness: returned I is interpolant by construction Rel. Compl.: Existence of AF-logic interpolant → termination No AF-logic A If φ ∈ AF-logic Interpolant And A → φ … Then φ ∧ B is sat B

  52. Experiments ITPV: an interpolation-based verifier Compared to PDR ∀ [Itzhaky et al., 2014] on linked-list programs

  53. Experiments ITPV: an interpolation-based verifier Compared to PDR ∀ [Itzhaky et al., 2014] on linked-list programs Mostly comparable in finding ∀ -logic invariants ITPV can find AF-logic invariants

  54. Experiments ITPV: an interpolation-based verifier Compared to PDR ∀ [Itzhaky et al., 2014] on linked-list programs Mostly comparable in finding ∀ -logic invariants ITPV can find AF-logic invariants WOW!

  55. Conclusion UITP and BITP interpolate EPR formulae UITP: sound/complete finding interpolants in ∃ - and ∀ -logic BITP: sound/rel.comp. finding interpolants in AF-logic

Recommend


More recommend