Effectively Propositional Interpolants Samuel Drews and Aws - - PowerPoint PPT Presentation

effectively propositional interpolants
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Effectively Propositional Interpolants

Samuel Drews and Aws Albarghouthi

slide-2
SLIDE 2

Effectively Propositional Logic (EPR)

Quantifier-free No function symbols

slide-3
SLIDE 3

EPR

Decidable satisfiability!

slide-4
SLIDE 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]
slide-5
SLIDE 5

Interpolants

Given A and B such that A ∧ B is unsatisfiable A B

slide-6
SLIDE 6

Interpolants

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

slide-7
SLIDE 7

Restricted Logics for Invariants

is valid, or is unsat

slide-8
SLIDE 8

Restricted Logics for Invariants

is valid, or is unsat

slide-9
SLIDE 9

Restricted Logics for Invariants

is valid, or is unsat ∃*∀*φ decidable, but ∀*∃*φ undecidable

slide-10
SLIDE 10

Restricted Logics for Invariants

is valid, or is unsat ∃*∀*φ decidable, but ∀*∃*φ undecidable

Bummer

slide-11
SLIDE 11

Restricted Logics for Invariants

  • 1. ∃-logic:

∃*φ

  • 2. ∀-logic:

∀*φ

  • 3. AF-logic:

boolean combinations of ∃-logic and ∀-logic ex: (∃*φ1 ∧ ∀*φ2) ∨ ∀*φ3 is valid, or is unsat ∃*∀*φ decidable, but ∀*∃*φ undecidable

Bummer

slide-12
SLIDE 12

Models and Diagrams

slide-13
SLIDE 13

Models and Diagrams

Model c1 c2

slide-14
SLIDE 14

Models and Diagrams

Model Diagram c1 c2

slide-15
SLIDE 15

Models and Diagrams

slide-16
SLIDE 16

UITP: for ∃-Logic Interpolants

A B A B

slide-17
SLIDE 17

m1

UITP: for ∃-Logic Interpolants

A B A B

slide-18
SLIDE 18

m1

UITP: for ∃-Logic Interpolants

A B A B diag(m1)

slide-19
SLIDE 19

m1

UITP: for ∃-Logic Interpolants

A B A B diag(m1) m2

slide-20
SLIDE 20

m1

UITP: for ∃-Logic Interpolants

A B A B diag(m1) diag(m2) m2

slide-21
SLIDE 21

m1

UITP: for ∃-Logic Interpolants

A B A B diag(m1) diag(m2) m2 m3

slide-22
SLIDE 22

m1

UITP: for ∃-Logic Interpolants

A B A B diag(m1) diag(m2) diag(m3) m2 m3

slide-23
SLIDE 23

UITP: for ∃-Logic Interpolants

A B A B

slide-24
SLIDE 24

UITP: for ∃-Logic Interpolants

A B A B m1

slide-25
SLIDE 25

UITP: for ∃-Logic Interpolants

A B A B diag(m1) m1

slide-26
SLIDE 26

UITP: for ∃-Logic Interpolants

A B A B diag(m1) m1 m2

slide-27
SLIDE 27

UITP: for ∃-Logic Interpolants

A B A B diag(m1) diag(m2) m1 m2

slide-28
SLIDE 28

UITP: for ∃-Logic Interpolants

A B A B diag(m1) diag(m2) diag(m2) ∧ B is sat m1 m2

slide-29
SLIDE 29

UITP: for ∃-Logic Interpolants

A B A B diag(m1) diag(m2) No ∃-logic Interpolant diag(m2) ∧ B is sat m1 m2

slide-30
SLIDE 30

UITP Soundness

  • Returning I : interpolant by construction
  • Returning none is sound:

diag(m) is the strongest ∃-logic formula that m models

slide-31
SLIDE 31

UITP Soundness

  • Returning I : interpolant by construction
  • Returning none is sound:

diag(m) is the strongest ∃-logic formula that m models A B m

slide-32
SLIDE 32

∃*φ

UITP Soundness

  • Returning I : interpolant by construction
  • Returning none is sound:

diag(m) is the strongest ∃-logic formula that m models A B m

slide-33
SLIDE 33

∃*φ

UITP Soundness

  • Returning I : interpolant by construction
  • Returning none is sound:

diag(m) is the strongest ∃-logic formula that m models A B m ∃*φ ∧ B still sat

slide-34
SLIDE 34

EPR small model property: All EPR A have a bound k such that m ⊧ A → ∃msmall:

  • msmall ⊧ A
  • msmall ⊆ m
  • |msmall| ≤ k

UITP Termination (and Completeness)

slide-35
SLIDE 35

So m ⊧ diag(msmall) EPR small model property: All EPR A have a bound k such that m ⊧ A → ∃msmall:

  • msmall ⊧ A
  • msmall ⊆ m
  • |msmall| ≤ k

UITP Termination (and Completeness)

slide-36
SLIDE 36

So m ⊧ diag(msmall) EPR small model property: All EPR A have a bound k such that m ⊧ A → ∃msmall:

  • msmall ⊧ A
  • msmall ⊆ m
  • |msmall| ≤ k

UITP Termination (and Completeness)

slide-37
SLIDE 37

UITP: for ∀-Logic Interpolants

A B

slide-38
SLIDE 38

UITP: for ∀-Logic Interpolants

A B A B

slide-39
SLIDE 39

BITP: for AF-Logic Interpolants

A B

slide-40
SLIDE 40

BITP: for AF-Logic Interpolants

A B m1

slide-41
SLIDE 41

BITP: for AF-Logic Interpolants

A B m1

slide-42
SLIDE 42

BITP: for AF-Logic Interpolants

A B m1 m2

slide-43
SLIDE 43

BITP: for AF-Logic Interpolants

A B m1 m2 A B

slide-44
SLIDE 44

BITP: for AF-Logic Interpolants

A B m1 m2 A B ∃*φ1 ∧ ∀*φ2

slide-45
SLIDE 45

Soundness: returned I is interpolant by construction

  • Rel. Compl.: Existence of AF-logic interpolant → termination

BITP Soundness and Relative Completeness

A B

slide-46
SLIDE 46

Soundness: returned I is interpolant by construction

  • Rel. Compl.: Existence of AF-logic interpolant → termination

BITP Soundness and Relative Completeness

A B

slide-47
SLIDE 47

Soundness: returned I is interpolant by construction

  • Rel. Compl.: Existence of AF-logic interpolant → termination

BITP Soundness and Relative Completeness

A B

slide-48
SLIDE 48

Soundness: returned I is interpolant by construction

  • Rel. Compl.: Existence of AF-logic interpolant → termination

BITP Soundness and Relative Completeness

A B

slide-49
SLIDE 49

Soundness: returned I is interpolant by construction

  • Rel. Compl.: Existence of AF-logic interpolant → termination

BITP Soundness and Relative Completeness

A B …

slide-50
SLIDE 50

Soundness: returned I is interpolant by construction

  • Rel. Compl.: Existence of AF-logic interpolant → termination

BITP Soundness and Relative Completeness

A B … If φ ∈ AF-logic And A → φ Then φ ∧ B is sat

slide-51
SLIDE 51

Soundness: returned I is interpolant by construction

  • Rel. Compl.: Existence of AF-logic interpolant → termination

BITP Soundness and Relative Completeness

A B … If φ ∈ AF-logic And A → φ Then φ ∧ B is sat No AF-logic Interpolant

slide-52
SLIDE 52

Experiments

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

slide-53
SLIDE 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

slide-54
SLIDE 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!

slide-55
SLIDE 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