Top Banner
1 A Combination Method for A Combination Method for Generating Interpolants Generating Interpolants Greta Yorsh Madan Musuvathi Tel Aviv University, Israel Microsoft Research, Redmond, US CAV’05
31

1 A Combination Method for Generating Interpolants Greta Yorsh Madan Musuvathi Tel Aviv University, Israel Microsoft Research, Redmond, US CAV’05.

Jan 12, 2016

Download

Documents

Dominick James
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 A Combination Method for Generating Interpolants Greta Yorsh Madan Musuvathi Tel Aviv University, Israel Microsoft Research, Redmond, US CAV’05.

1

A Combination Method for A Combination Method for Generating InterpolantsGenerating Interpolants

Greta Yorsh

Madan Musuvathi

Tel Aviv University, Israel

Microsoft Research, Redmond, US

CAV’05

Page 2: 1 A Combination Method for Generating Interpolants Greta Yorsh Madan Musuvathi Tel Aviv University, Israel Microsoft Research, Redmond, US CAV’05.

2

Craig Interpolation TheoremCraig Interpolation Theorem

• A, B first-order formulas

• If A B then there exists a first-order formula C

1. A C2. C B 3. C refers only to AB-common

symbols

• C is an interpolant for (A,B)

Page 3: 1 A Combination Method for Generating Interpolants Greta Yorsh Madan Musuvathi Tel Aviv University, Israel Microsoft Research, Redmond, US CAV’05.

3

MotivationMotivation

• Abstraction– forget some information about the system – preserve enough information to show that

an error state is not reachable

• Interpolation– forget some information about A – preserve enough information to show that

B is unsatisfiable

Page 4: 1 A Combination Method for Generating Interpolants Greta Yorsh Madan Musuvathi Tel Aviv University, Israel Microsoft Research, Redmond, US CAV’05.

4

MotivationMotivation

• Bounded Model Checking [McMillan, CAV’03]

– abstraction of reachable states – completeness

initial errorreachable in k steps

A-part B-part

C

Page 5: 1 A Combination Method for Generating Interpolants Greta Yorsh Madan Musuvathi Tel Aviv University, Israel Microsoft Research, Redmond, US CAV’05.

5

MotivationMotivation

• Bounded model checking [McMillan, CAV’03]

– propositional (hardware) and first-order (software)

• Predicate abstraction refinement [HJMS, POPL’04] – first-order

• Computation of the abstract transition relation [McMillan et al., CAV’05]– propositional

• Exploit prover’s ability to focus on relevant facts

Page 6: 1 A Combination Method for Generating Interpolants Greta Yorsh Madan Musuvathi Tel Aviv University, Israel Microsoft Research, Redmond, US CAV’05.

6

Interpolant GenerationInterpolant Generation• Craig interpolation theorem [’57]

– (full) first-order logic– existence of interpolants (cut elimination)

• Pudlak [‘95], Krajicek [’95]– propositional logic

• Pudlak [‘95]– linear inequalities (LI)

• McMillan [TACAS’04]– uninterpreted functions (UF)– the combinated theory of UF and LI

(with boolean combinations)

Page 7: 1 A Combination Method for Generating Interpolants Greta Yorsh Madan Musuvathi Tel Aviv University, Israel Microsoft Research, Redmond, US CAV’05.

7

Nelson-Oppen Nelson-Oppen Combination MethodCombination Method

• Satisfiability in a combined theory [’79]

• Given– P1 is a decision procedure for satisfiability in T1

– P2 is a decision procedure for satisfiability in T2

• Combines P1 and P2 into a decision procedure for satisfiability in the combined theory T = T1 T2

Page 8: 1 A Combination Method for Generating Interpolants Greta Yorsh Madan Musuvathi Tel Aviv University, Israel Microsoft Research, Redmond, US CAV’05.

8

Interpolant Generation Interpolant Generation in Combined Theory in Combined Theory

• Given– P1 interpolant generation procedure for T1

– P2 interpolant generation procedure for T2

• How to combine P1 and P2 into an interpolant generation procedure for the combined theory T = T1 T2 ?

Page 9: 1 A Combination Method for Generating Interpolants Greta Yorsh Madan Musuvathi Tel Aviv University, Israel Microsoft Research, Redmond, US CAV’05.

9

OutlineOutline

• Notations

• Partial interpolants

• Example

• Equality-interpolating theories

• Conclusions

Page 10: 1 A Combination Method for Generating Interpolants Greta Yorsh Madan Musuvathi Tel Aviv University, Israel Microsoft Research, Redmond, US CAV’05.

10

First-Order Theory First-Order Theory TT

T entailment modulo theory T

signature– constant, function and relation symbols– equality =

• L is a set of -formulas – assume L is (quantifier free) conjunction of -literals

interpreted symbols– theory of linear inequalities: + , < – theory of Lisp structures: car, cdr, cons, atom

Page 11: 1 A Combination Method for Generating Interpolants Greta Yorsh Madan Musuvathi Tel Aviv University, Israel Microsoft Research, Redmond, US CAV’05.

11

Example TheoriesExample Theories

• UF – Uninterpreted Functions contains uninterpreted function symbols: f,g,... is empty – example: f(a,b) = g(c)

• LI - Linear Inequalities contains + , < , 0, 1, 2, ... – example: a < b + 2*c

• Lisp structures = { car, cdr, cons, atom }– example: car(a) = cons(car(b),cdr(c))

Page 12: 1 A Combination Method for Generating Interpolants Greta Yorsh Madan Musuvathi Tel Aviv University, Israel Microsoft Research, Redmond, US CAV’05.

12

Theory-Specific InterpolantsTheory-Specific Interpolants

• A, B are formulas in L

• If A B T

then there exists a formula C in L

1. A T C

2. C B T

3. C refers only to AB-common symbols or to symbols in

• C is an interpolant in theory T for (A,B)

Page 13: 1 A Combination Method for Generating Interpolants Greta Yorsh Madan Musuvathi Tel Aviv University, Israel Microsoft Research, Redmond, US CAV’05.

13

Example: Lisp StructuresExample: Lisp Structures

– A-local symbols: a, car,cdr,atom– B-local symbols: b, cons

– AB-common symbols: c1,c2,c3

is { car, cdr, cons, atom }

A B

car(a) = c2

c3 = cdr(a)

a = c1

atom(c1)

(b = cons(c2,c3))

c1 = b

• Interpolant for (A,B) in Lisp theory is c1 = cons(c2,c3)

Page 14: 1 A Combination Method for Generating Interpolants Greta Yorsh Madan Musuvathi Tel Aviv University, Israel Microsoft Research, Redmond, US CAV’05.

14

Combined Theory TCombined Theory T

• First-order theory T defined as a combination of T1 and T2

– T is T1 T2

(union of axioms / intersection of sets of models)

is 1 1

is 1 2

– disjoint signatures: 1 2 is { = }

Page 15: 1 A Combination Method for Generating Interpolants Greta Yorsh Madan Musuvathi Tel Aviv University, Israel Microsoft Research, Redmond, US CAV’05.

15

Interpolants in Combined TheoryInterpolants in Combined Theory

A B

UFa1 = f(x1)a2 = f(y1)

x2 = g(b)

y2 = g(b)

LI

a1 + x2 = x3

a2 + y2 = y3

y1 x1

x1 y1

x3 < y3

• A is (f(x1) + x2 = x3)(f(y1) + y2 = y3)(y1 x1)

• B is (x2 = g(b))(y2 = g(b))(x1 y1)(x3 < y3)

• Purify A and B separatelyseparately– AUF ALI is the result of purify(A)– BUF BLI is the result of purify(B)

T is UF LI

Page 16: 1 A Combination Method for Generating Interpolants Greta Yorsh Madan Musuvathi Tel Aviv University, Israel Microsoft Research, Redmond, US CAV’05.

16

Interpolants in Combined TheoryInterpolants in Combined Theory

A B

UFa1 = f(x1)a2 = f(y1)

x2 = g(b)

y2 = g(b)

LI

a1 + x2 = x3

a2 + y2 = y3

y1 x1

x1 y1

x3 < y3

• Find an interpolant C for (A,B)– C in UF LI

– C uses only AB-common symbols or interpreted symbols UF LI

(+,<, x1,x2,x3,y1,y2,y3)

T is UF LI

Page 17: 1 A Combination Method for Generating Interpolants Greta Yorsh Madan Musuvathi Tel Aviv University, Israel Microsoft Research, Redmond, US CAV’05.

17

Interpolant Generation Interpolant Generation in Combined Theory in Combined Theory

• Given– P1 is a decision procedure for T1

– P2 is a decision procedure for T2

• Combine P1 and P2 into an interpolant generation procedure for the combined theory T = T1 T2

Page 18: 1 A Combination Method for Generating Interpolants Greta Yorsh Madan Musuvathi Tel Aviv University, Israel Microsoft Research, Redmond, US CAV’05.

18

RequirementsRequirements

• Requirement on procedure P1 (same for P2)– P1 is a decision procedure for satisfiability of T1

– if input is satisfiable P1 generates a new consequence (equality between variables)

– if input of the form AB is unsatisfiable in T1, P1 generates an interpolant for A and B in T1

• Requirement on T1 (and T2)– stably-infinite– convex– equality-interpolating

Page 19: 1 A Combination Method for Generating Interpolants Greta Yorsh Madan Musuvathi Tel Aviv University, Israel Microsoft Research, Redmond, US CAV’05.

19

Equality PropagationEquality Propagation

PPUFUFPPUFUF PPLILIPPLILI

a1 = f(x1)a2 = f(y1)

x2 = g(b)

y2 = g(b)a1 + x2 = x3

a2 + y2 = y3

y1 x1

x1 y1

x3 < y3

AUF BUF ALI BLI

x1=y1

x2=y2

a1=a2

CLI is interpolant for ALI(a1=a2) and BLI(x2=y2)

CLI is x2-y2 = x3-y3

CLI is not an interpolant for (A,B)

[ CLI ][ ? ][ ? ]

[ ? ][ ? ]

[ ? ][ ? ]

Page 20: 1 A Combination Method for Generating Interpolants Greta Yorsh Madan Musuvathi Tel Aviv University, Israel Microsoft Research, Redmond, US CAV’05.

20

ObservationObservation

• CLI is interpolant for ALI(a1=a2) and BLI(x2=y2)

• CLI is not an interpolant for (A,B)

– ALI (a1=a2) T CLI but A T CLI

– a1=a2 follows from A B, but not A alone

• How to “lift” CLI to an interpolant for (A,B) ?

Page 21: 1 A Combination Method for Generating Interpolants Greta Yorsh Madan Musuvathi Tel Aviv University, Israel Microsoft Research, Redmond, US CAV’05.

21

The ideaThe idea

• Whenever a new equality generated by a component procedure P1 (or P2),

P1 also generates a formula [?]– “explains” the equality– uses only AB-common symbol– partial interpolant

• An interpolant for (A,B) in UFLI is a boolean combination of CLI and [?],...,[?]

Page 22: 1 A Combination Method for Generating Interpolants Greta Yorsh Madan Musuvathi Tel Aviv University, Israel Microsoft Research, Redmond, US CAV’05.

22

Theory-Specific Partial InterpolantsTheory-Specific Partial Interpolants

PP11PP11

A1 B1

x=y

• A1 B1 T1 x=y

• A1 B1 (x=y) T1

Page 23: 1 A Combination Method for Generating Interpolants Greta Yorsh Madan Musuvathi Tel Aviv University, Israel Microsoft Research, Redmond, US CAV’05.

23

Theory-Specific Partial InterpolantsTheory-Specific Partial Interpolants

PP11PP11

A1 B1 x=y• A1 B1 T1 x=y

• A1 B1 (x=y) T1

[ C[ CT1T1 ] ]

• CCT1T1(x=y)(x=y) a theory-specific theory-specific partialpartial interpolant of x=y

for A1 and B1 in theory T1 – interpolant for A1 and B1 (x=y)

if x,y B-local AB-common – interpolant for A1 (x=y) and B1

if x,y A-local AB-common

Page 24: 1 A Combination Method for Generating Interpolants Greta Yorsh Madan Musuvathi Tel Aviv University, Israel Microsoft Research, Redmond, US CAV’05.

24

• CCT1T1(x=y)(x=y) is a theory-specific partial interpolant of x=y

for A1(a=a’) and B1(b=b’)

in theory T1

• C(x=y)C(x=y) a partial interpolant

of x=y for A and B in T1T2

is a boolean combination of CT1(x=y) and C(a=a’) and C(b=b’)

Partial InterpolantsPartial Interpolants(a=a’)A1 B1(b=b’)

x=y[ ? ][ ? ]

[ C(a=a’) ] [ C(b=b’) ]

PP11PP11

[ C[ CT1T1(x=y) ](x=y) ]

Page 25: 1 A Combination Method for Generating Interpolants Greta Yorsh Madan Musuvathi Tel Aviv University, Israel Microsoft Research, Redmond, US CAV’05.

25

ExampleExample

PPUFUFPPUFUF PPLILIPPLILI

a1 = f(x1)a2 = f(y1)

x2 = g(b)

y2 = g(b)a1 + x2 = x3

a2 + y2 = y3

y1 x1

x1 y1

x3 < y3

AUF BUF ALI BLI

CUF(a1=a2) for AUF and BUF(x1=y1) is

an interpolant for AUF(a1=a2) and BUF(x1=y1)

x1=y1 [ y1 x1 ]

C(a1=a2) for A and B is CUF(a1=a2) C(x1=y1)

(x1= y1)

a1=a2

(x1=y1) y1 x1

[ y1 < x1 ]

Page 26: 1 A Combination Method for Generating Interpolants Greta Yorsh Madan Musuvathi Tel Aviv University, Israel Microsoft Research, Redmond, US CAV’05.

26

ExampleExample

PPUFUFPPUFUF PPLILIPPLILI

a1 = f(x1)a2 = f(y1)

x2 = g(b)

y2 = g(b)a1 + x2 = x3

a2 + y2 = y3

y1 x1

x1 y1

x3 < y3

AUF BUF ALI BLI

x1=y1 [ y1 x1 ]

a1=a2 [ y1 < x1 ]

C() for A and B is x2-y2=x3-y3 y1<x1

CLI() interpolant for ALI(a1=a2) and BLI(x2=y2)

CLI() is x2-y2 = x3-y3

x2=y2[ ]

Page 27: 1 A Combination Method for Generating Interpolants Greta Yorsh Madan Musuvathi Tel Aviv University, Israel Microsoft Research, Redmond, US CAV’05.

27

PPUFUFPPUFUF PPLILIPPLILI

a1 = f(x1)a2 = f(y1)

x2 = g(b)

y2 = g(b)a1 + x2 = x3

a2 + y2 = y3

y1 x1

x1 y1

x3 < y3

AUF BUF ALI BLI

x1=y1 [ y1 x1 ]

a1=a2 [ y1 < x1 ]

x2=y2[ ]

An interpolant C for A and B is [x2-y2=x3-y3 y1<x1]

ExampleExample

Page 28: 1 A Combination Method for Generating Interpolants Greta Yorsh Madan Musuvathi Tel Aviv University, Israel Microsoft Research, Redmond, US CAV’05.

28

Theory-Specific Partial InterpolantsTheory-Specific Partial Interpolants

PP11PP11

A1 B1

e [ C[ CT1T1(e) ](e) ]

• CCT1T1(e)(e) a theory-specific theory-specific partialpartial interpolant of e

for A1 and B1 in theory T1 – interpolant for A1 and B1 e

if e B-local AB-common – interpolant for A1 e and B1

if e A-local AB-common

– if e is a=b a is A-local, b is B-local

– interpolant for A1 and B1 (a=b) ?– interpolant for A1 (a=b) and B1 ?

... to B or not to B ?

Page 29: 1 A Combination Method for Generating Interpolants Greta Yorsh Madan Musuvathi Tel Aviv University, Israel Microsoft Research, Redmond, US CAV’05.

29

Equality-Interpolating TheoryEquality-Interpolating Theory

• If A B T (a = b)

– a is A-local, b is B-local

• then there exists a term t – A B T (a = t) (t = b)

– t refers to AB-common symbols only

• Equality-interpolating: UF, LI, Lisp– easy to extend the existing decision

procedures to generate such terms t

Page 30: 1 A Combination Method for Generating Interpolants Greta Yorsh Madan Musuvathi Tel Aviv University, Israel Microsoft Research, Redmond, US CAV’05.

30

RequirementsRequirements

• Requirement on P1 (and P2)– P1 is a decision procedure for satisfiability of T1

– if input is satisfiable P1 generates a new consequence (equality between variables)

– if input of the form AB is unsatisfiable in T1, P1 generates an interpolant for A and B in T1

• Requirement on T1 (and T2)– stably-infinite– convex– equality-interpolating

Page 31: 1 A Combination Method for Generating Interpolants Greta Yorsh Madan Musuvathi Tel Aviv University, Israel Microsoft Research, Redmond, US CAV’05.

31

SummarySummary

• A method for generating interpolants for combined theories– interpolant-generation procedures P1, P2 used as black-boxes– on top of a Nelson-Oppen procedure– propagate partial interpolants– equality-interpolating theories

• Can be integrated within existing tools– Simplify, Verifun, ICS, CVCLite, Zap

• Extensions– arbitrary quantifier-free formulas, non-convex theories,

non-disjoint signatures, quantifiers

• Application to software model-checking• More support for operations modulo theories

– join, widening, predicate abstraction, counter-example generation