Efficient Interpolant Generation in Satisfiability Modulo...

39
Deduction at Scale Seminar 2011 Efficient Interpolant Generation in Satisfiability Modulo Linear Integer Arithmetic Alberto Griggio FBK-IRST, Trento joint work with Thi Thieu Hoa Le and Roberto Sebastiani, DISI - Univ. Trento

Transcript of Efficient Interpolant Generation in Satisfiability Modulo...

Page 1: Efficient Interpolant Generation in Satisfiability Modulo ...resources.mpi-inf.mpg.de/.../alberto-griggio.pdf · Introduction ♦(Craig) Interpolation for ground first-order theories

Deduction at Scale Seminar 2011

Efficient Interpolant Generation in Satisfiability Modulo Linear Integer

Arithmetic

Alberto GriggioFBK-IRST, Trento

joint work with Thi Thieu Hoa Le and Roberto Sebastiani, DISI - Univ. Trento

Page 2: Efficient Interpolant Generation in Satisfiability Modulo ...resources.mpi-inf.mpg.de/.../alberto-griggio.pdf · Introduction ♦(Craig) Interpolation for ground first-order theories

Introduction

♦ (Craig) Interpolation for ground first-order theories successfully applied in formal verification

♦ Efficient SMT-based algorithms for several theories and combinations (e.g. EUF, LA(Q), DL, UTVPI)

♦ Interpolation for full LA(Z) is harder

♦ Some promising recent work [Brillout et al IJCAR'10, Kroening et al. LPAR'10], but still some drawbacks

♦ This work: propose a novel, general technique for interpolation in LA(Z)

♦ to overcome some drawbacks of current approaches

Page 3: Efficient Interpolant Generation in Satisfiability Modulo ...resources.mpi-inf.mpg.de/.../alberto-griggio.pdf · Introduction ♦(Craig) Interpolation for ground first-order theories

Outline

♦ Background

♦ Current techniques for interpolation in LA(Z)

♦ A novel interpolation technique for LA(Z)

♦ Experimental evaluation

Page 4: Efficient Interpolant Generation in Satisfiability Modulo ...resources.mpi-inf.mpg.de/.../alberto-griggio.pdf · Introduction ♦(Craig) Interpolation for ground first-order theories

Background - Interpolants

♦ (Craig) Interpolant for an ordered pair (A, B) of formulas s.t.

is a formula I s.t.

a)

b)

c) all the uninterpreted (in ) symbols of I occur in both A and B

A j=T IB ^ I j=T ?

T

A ^B j=T ?

Page 5: Efficient Interpolant Generation in Satisfiability Modulo ...resources.mpi-inf.mpg.de/.../alberto-griggio.pdf · Introduction ♦(Craig) Interpolation for ground first-order theories

Background - Interpolants

♦ Interpolants can be generated from proofs of unsatisfiability [McMillan]

Page 6: Efficient Interpolant Generation in Satisfiability Modulo ...resources.mpi-inf.mpg.de/.../alberto-griggio.pdf · Introduction ♦(Craig) Interpolation for ground first-order theories

Background - Interpolants

♦ Interpolants can be generated from proofs of unsatisfiability [McMillan]

♦ Proof of unsatisfiability in SMT:

Boolean part (ground resolution)

-specific part (for conjunctions of constraints)

T

Page 7: Efficient Interpolant Generation in Satisfiability Modulo ...resources.mpi-inf.mpg.de/.../alberto-griggio.pdf · Introduction ♦(Craig) Interpolation for ground first-order theories

Background - Interpolants

♦ Interpolants can be generated from proofs of unsatisfiability [McMillan]

♦ Proof of unsatisfiability in SMT:

Boolean part (ground resolution)

-specific part (for conjunctions of constraints)

T

Standard Booleaninterpolation

-specificinterpolation

for conjunctions only

T

Page 8: Efficient Interpolant Generation in Satisfiability Modulo ...resources.mpi-inf.mpg.de/.../alberto-griggio.pdf · Introduction ♦(Craig) Interpolation for ground first-order theories

Background - Interpolants

♦ Interpolants can be generated from proofs of unsatisfiability [McMillan]

♦ Proof of unsatisfiability in SMT:

Boolean part (ground resolution)

-specific part (for conjunctions of constraints)

T

Standard Booleaninterpolation

-specificinterpolation

for conjunctions only

T

Problem reduced to finding an interpolant for sets of -literals T

Page 9: Efficient Interpolant Generation in Satisfiability Modulo ...resources.mpi-inf.mpg.de/.../alberto-griggio.pdf · Introduction ♦(Craig) Interpolation for ground first-order theories

Outline

♦ Background

♦ Current techniques for interpolation in LA(Z)

♦ A novel interpolation technique for LA(Z)

♦ Experimental evaluation

Page 10: Efficient Interpolant Generation in Satisfiability Modulo ...resources.mpi-inf.mpg.de/.../alberto-griggio.pdf · Introduction ♦(Craig) Interpolation for ground first-order theories

Interpolation and LA(Z)

♦ Linear Integer Arithmetic: constraints of the form

♦ In general, no quantifier-free interpolation for LA(Z)! [McMillan05]

♦ Solution: extend the signature to include modular equations (divisibility predicates)

Pi cixi + c ./ 0; ./2 f·;=g

A := (y ¡ 2x = 0) B := (y ¡ 2z ¡ 1 = 0)Example:

9w:(y = 2w)The only interpolant is:

(t+ c =d 0) ´ 9w:(t+ c = d ¢ w); d 2 Z>0

The interpolant now becomes: (y =2 0)

Page 11: Efficient Interpolant Generation in Satisfiability Modulo ...resources.mpi-inf.mpg.de/.../alberto-griggio.pdf · Introduction ♦(Craig) Interpolation for ground first-order theories

SMT(LA(Z)) with modular equations

♦ Modular equations can be eliminated via preprocessing:

♦ Replace every atom

with a fresh Boolean variable

♦ Add the 4 clauses

where are fresh integer variables

a := (t + c =d 0)

pa

pa ! (t+ c¡ dw1 = 0)

(¡w2 + 1 · 0)

(w2 ¡ d+ 1 · 0)

w1; w2

:pa ! (t+ c¡ dw1 ¡w2 = 0)

Page 12: Efficient Interpolant Generation in Satisfiability Modulo ...resources.mpi-inf.mpg.de/.../alberto-griggio.pdf · Introduction ♦(Craig) Interpolation for ground first-order theories

Interpolation via quantifier elimination

♦ Using modular equation, interpolants can be constructed via quantifier elimination:

♦ However, this is very expensive, both in theory and in practice

I(A;B) := ExistElim(xi 62 B)(A)

Page 13: Efficient Interpolant Generation in Satisfiability Modulo ...resources.mpi-inf.mpg.de/.../alberto-griggio.pdf · Introduction ♦(Craig) Interpolation for ground first-order theories

♦ Cutting-plane proof system: complete proof system for LA(Z)

Hyp¡t · 0

Combt1 · 0 t2 · 0

c1 ¢ t1 + c2 ¢ t2 · 0; c1; c2 > 0

Div

Pi cixi + c · 0P

icid xi + d cde · 0

; d > 0 divides the ci's

Interpolants from LA(Z)-proofs

Page 14: Efficient Interpolant Generation in Satisfiability Modulo ...resources.mpi-inf.mpg.de/.../alberto-griggio.pdf · Introduction ♦(Craig) Interpolation for ground first-order theories

♦ Cutting-plane proof system: complete proof system for LA(Z)

Hyp¡t · 0

Combt1 · 0 t2 · 0

c1 ¢ t1 + c2 ¢ t2 · 0; c1; c2 > 0

Div

Pi cixi + c · 0P

icid xi + d cde · 0

; d > 0 divides the ci's

Interpolants from LA(Z)-proofs

LA(Q) rules

Page 15: Efficient Interpolant Generation in Satisfiability Modulo ...resources.mpi-inf.mpg.de/.../alberto-griggio.pdf · Introduction ♦(Craig) Interpolation for ground first-order theories

♦ Cutting-plane proof system: complete proof system for LA(Z)

Hyp¡t · 0

Combt1 · 0 t2 · 0

c1 ¢ t1 + c2 ¢ t2 · 0; c1; c2 > 0

Interpolants from LA(Z)-proofs

Strenghten

Pi cixi + c · 0P

i cixi + d ¢ d cde · 0; d > 0 divides the ci's

Page 16: Efficient Interpolant Generation in Satisfiability Modulo ...resources.mpi-inf.mpg.de/.../alberto-griggio.pdf · Introduction ♦(Craig) Interpolation for ground first-order theories

Interpolants from LA(Z)-proofs

♦ Cutting-plane proof system: complete proof system for LA(Z)

♦ Interpolation by annotating proof rules [McMillan05, Brillout et al. IJCAR'10]

♦ Annotation (in this talk): a set of pairs

♦ When is derived, then

is the computed interpolant

Hyp¡t · 0

Combt1 · 0 t2 · 0

c1 ¢ t1 + c2 ¢ t2 · 0; c1; c2 > 0

fhti · 0;Vj(tij = 0)igi

?

Strenghten

Pi cixi + c · 0P

i cixi + d ¢ d cde · 0; d > 0 divides the ci's

I :=Wi(ti · 0 ^Vj ExistElim(xi 62 B):(tij = 0))

Page 17: Efficient Interpolant Generation in Satisfiability Modulo ...resources.mpi-inf.mpg.de/.../alberto-griggio.pdf · Introduction ♦(Craig) Interpolation for ground first-order theories

Interpolants from cutting-plane proofs

♦ Annotations for Hyp and Comb from [McMillan05] (same as LA(Q))

♦ k-Strengthen rule of [Brillout et al. IJCAR'10] (special case)

Hyp¡

t · 0 [fht0 · 0;>ig]t0 =

½t if t · 0 2 A0 if t · 0 2 B

Combt1 · 0 [I1] t2 · 0 [I2]

c1 ¢ t1 + c2 ¢ t2 · 0 [I]

I := fhc1t0i + c2t0j · 0; Ei ^ Eji j ht0i; Eii 2 I1; ht0j ; Eji 2 I2g

Str.

Pi cixi + c · 0 [fht · 0;>ig]P

i cixi + d ¢ d cde · 0 [I]; d > 0 divides the ci's

I := fh(t+ n · 0); (t+ n = 0)i j 0 · n < d ¢ d cde ¡ cg[fh(t+ d ¢ d c

de ¡ c · 0);>ig

Page 18: Efficient Interpolant Generation in Satisfiability Modulo ...resources.mpi-inf.mpg.de/.../alberto-griggio.pdf · Introduction ♦(Craig) Interpolation for ground first-order theories

Interpolants from cutting-plane proofs

♦ Annotations for Hyp and Comb from [McMillan05] (same as LA(Q))

♦ k-Strengthen rule of [Brillout et al. IJCAR'10] (special case)

Combt1 · 0 [I1] t2 · 0 [I2]

c1 ¢ t1 + c2 ¢ t2 · 0 [I]

I := fhc1t0i + c2t0j · 0; Ei ^ Eji j ht0i; Eii 2 I1; ht0j ; Eji 2 I2g

Str.

Pi cixi + c · 0 [fht · 0;>ig]P

i cixi + d ¢ d cde · 0 [I]; d > 0 divides the ci's

I := fh(t+ n · 0); (t+ n = 0)i j 0 · n < d ¢ d cde ¡ cg[fh(t+ d ¢ d c

de ¡ c · 0);>ig

Hyp¡

t · 0 [fht · 0;>ig]t0 =

½t if t · 0 2 A0 if t · 0 2 B

Page 19: Efficient Interpolant Generation in Satisfiability Modulo ...resources.mpi-inf.mpg.de/.../alberto-griggio.pdf · Introduction ♦(Craig) Interpolation for ground first-order theories

Interpolants from cutting-plane proofs

♦ Annotations for Hyp and Comb from [McMillan05] (same as LA(Q))

♦ k-Strengthen rule of [Brillout et al. IJCAR'10] (special case)

Combt1 · 0 [I1] t2 · 0 [I2]

c1 ¢ t1 + c2 ¢ t2 · 0 [I]

I := fhc1t0i + c2t0j · 0; Ei ^ Eji j ht0i; Eii 2 I1; ht0j ; Eji 2 I2g

Str.

Pi cixi + c · 0 [fht · 0;>ig]P

i cixi + d ¢ d cde · 0 [I]; d > 0 divides the ci's

I := fh(t+ n · 0); (t+ n = 0)i j 0 · n < d ¢ d cde ¡ cg[fh(t+ d ¢ d c

de ¡ c · 0);>ig

Hyp¡

t · 0 [fh0 · 0;>ig]t0 =

½t if t · 0 2 A0 if t · 0 2 B

Page 20: Efficient Interpolant Generation in Satisfiability Modulo ...resources.mpi-inf.mpg.de/.../alberto-griggio.pdf · Introduction ♦(Craig) Interpolation for ground first-order theories

Example [Kroening et al. LPAR'10]

B :=

½¡y ¡ 4z + 1 · 0y + 4z ¡ 2 · 0

A :=

½¡y ¡ 4x¡ 1 · 0y + 4x · 0

y + 4x · 0 ¡y ¡ 4z + 1 · 0

4x¡ 4z + 1 · 0

4x¡ 4z + 1 + 3 · 0

¡y ¡ 4x¡ 1 · 0 y + 4z ¡ 2 · 0

¡4x+ 4z ¡ 3 · 0

(1 · 0) ´ ?

Page 21: Efficient Interpolant Generation in Satisfiability Modulo ...resources.mpi-inf.mpg.de/.../alberto-griggio.pdf · Introduction ♦(Craig) Interpolation for ground first-order theories

Example – with annotations

B :=

½¡y ¡ 4z + 1 · 0y + 4z ¡ 2 · 0

A :=

½¡y ¡ 4x¡ 1 · 0y + 4x · 0

y + 4x · 0 ¡y ¡ 4z + 1 · 0

4x¡ 4z + 1 · 0

4x¡ 4z + 1 + 3 · 0

¡y ¡ 4x¡ 1 · 0 y + 4z ¡ 2 · 0

¡4x+ 4z ¡ 3 · 0

(1 · 0) ´ ?

[fhy + 4x · 0;>ig] [fh0 · 0;>ig]

[fhy + 4x · 0;>ig][fh0 · 0;>ig][fh¡y ¡ 4x¡ 1 · 0;>ig]

[fh¡y ¡ 4x¡ 1 · 0;>ig]

[fhn¡ 1 · 0; y + 4x+ n = 0i j 0 · n < 3g [ fh2 ¡ 1 · 0;>ig]

[fhy + 4x+ n · 0; y + 4x+ n = 0i j0 · n < 3g [ fhy + 4x+ 2 · 0;>ig]

Page 22: Efficient Interpolant Generation in Satisfiability Modulo ...resources.mpi-inf.mpg.de/.../alberto-griggio.pdf · Introduction ♦(Craig) Interpolation for ground first-order theories

Example – with annotations

B :=

½¡y ¡ 4z + 1 · 0y + 4z ¡ 2 · 0

A :=

½¡y ¡ 4x¡ 1 · 0y + 4x · 0

y + 4x · 0 ¡y ¡ 4z + 1 · 0

4x¡ 4z + 1 · 0

4x¡ 4z + 1 + 3 · 0

¡y ¡ 4x¡ 1 · 0 y + 4z ¡ 2 · 0

¡4x+ 4z ¡ 3 · 0

(1 · 0) ´ ?

[fhy + 4x · 0;>ig] [fh0 · 0;>ig]

[fhy + 4x · 0;>ig][fh0 · 0;>ig][fh¡y ¡ 4x¡ 1 · 0;>ig]

[fh¡y ¡ 4x¡ 1 · 0;>ig]

[fhn¡ 1 · 0; y + 4x+ n = 0i j 0 · n < 3g [ fh2 ¡ 1 · 0;>ig]

[fhy + 4x+ n · 0; y + 4x+ n = 0i j0 · n < 3g [ fhy + 4x+ 2 · 0;>ig]

(y =4 0) _ (y + 1 =4 0)Interpolant:

Page 23: Efficient Interpolant Generation in Satisfiability Modulo ...resources.mpi-inf.mpg.de/.../alberto-griggio.pdf · Introduction ♦(Craig) Interpolation for ground first-order theories

Drawback of Strengthen

♦ Interpolation of Strengthen creates potentially very big disjunctions

♦ Linear in the strengthening factor

♦ Can be exponential in the size of the proof

k := dd cde ¡ c

B :=

½¡y ¡ 4z + 1 · 0y + 4z ¡ 2 · 0

A :=

½¡y ¡ 4x¡ 1 · 0y + 4x · 0

Example:

(y =4 0) _ (y + 1 =4 0)Interpolant:

Page 24: Efficient Interpolant Generation in Satisfiability Modulo ...resources.mpi-inf.mpg.de/.../alberto-griggio.pdf · Introduction ♦(Craig) Interpolation for ground first-order theories

Drawback of Strengthen

♦ Interpolation of Strengthen creates potentially very big disjunctions

♦ Linear in the strengthening factor

♦ Can be exponential in the size of the proof

k := dd cde ¡ c

Example:A :=

½¡y ¡ 2nx¡ n+ 1 · 0y + 2nx · 0

B :=

½¡y ¡ 2nz + 1 · 0y + 2nz ¡ n · 0

Interpolant: (y =2n 0) _ (y + 1 =2n 0) _ : : : _ (y =2n n¡ 1)

Page 25: Efficient Interpolant Generation in Satisfiability Modulo ...resources.mpi-inf.mpg.de/.../alberto-griggio.pdf · Introduction ♦(Craig) Interpolation for ground first-order theories

Drawback of Strengthen

♦ Interpolation of Strengthen creates potentially very big disjunctions

♦ Linear in the strengthening factor

♦ Can be exponential in the size of the proof

♦ The problem are AB-mixed cuts:

k := dd cde ¡ c

Example:A :=

½¡y ¡ 2nx¡ n+ 1 · 0y + 2nx · 0

B :=

½¡y ¡ 2nz + 1 · 0y + 2nz ¡ n · 0

Interpolant: (y =2n 0) _ (y + 1 =2n 0) _ : : : _ (y =2n n¡ 1)

Strengthen

Pxi 62B cixi +

Pyj 62A cjyj + c · 0

Pxi 62B cixi +

Pyj 62A cjyj + d ¢ d cde · 0

Page 26: Efficient Interpolant Generation in Satisfiability Modulo ...resources.mpi-inf.mpg.de/.../alberto-griggio.pdf · Introduction ♦(Craig) Interpolation for ground first-order theories

Solution of [Kroening et al. LPAR'10]

♦ Avoid the problem by avoiding mixed cuts

♦ Algorithm based on reduction to LA(Q) + Diophantine equations

♦ Generate interpolants linear in the size of proofs

♦ However, this is a strong restriction:

♦ Forbids use of popular LA(Z) techniques like Gomory cuts, cuts from proofs [Dillig et al CAV'09], the Omega test [Pugh91]

♦ Might generate much larger proofs

Page 27: Efficient Interpolant Generation in Satisfiability Modulo ...resources.mpi-inf.mpg.de/.../alberto-griggio.pdf · Introduction ♦(Craig) Interpolation for ground first-order theories

Solution of [Kroening et al. LPAR'10]

♦ Avoid the problem by avoiding mixed cuts

♦ Algorithm based on reduction to LA(Q) + Diophantine equations

♦ Generate interpolants linear in the size of proofs

♦ However, this is a strong restriction:

♦ Forbids use of popular LA(Z) techniques like Gomory cuts, cuts from proofs [Dillig et al CAV'09], the Omega test [Pugh91]

♦ Might generate much larger proofs

Example:A :=

½¡y ¡ 2nx¡ n+ 1 · 0y + 2nx · 0

B :=

½¡y ¡ 2nz + 1 · 0y + 2nz ¡ n · 0

Same interpolant as with StrengthenIn fact, [Kroening et al. LPAR'10] shows this is the onlyinterpolant for (A, B)

Without AB-mixed cuts, proof of exponential size

Page 28: Efficient Interpolant Generation in Satisfiability Modulo ...resources.mpi-inf.mpg.de/.../alberto-griggio.pdf · Introduction ♦(Craig) Interpolation for ground first-order theories

Solution of [Kroening et al. LPAR'10]

♦ Avoid the problem by avoiding mixed cuts

♦ Algorithm based on reduction to LA(Q) + Diophantine equations

♦ Generate interpolants linear in the size of proofs

♦ However, this is a strong restriction:

♦ Forbids use of popular LA(Z) techniques like Gomory cuts, cuts from proofs [Dillig et al CAV'09], the Omega test [Pugh91]

♦ Might generate much larger proofs

Example:A :=

½¡y ¡ 2nx¡ n+ 1 · 0y + 2nx · 0

B :=

½¡y ¡ 2nz + 1 · 0y + 2nz ¡ n · 0

Same interpolant as with StrengthenIn fact, [Kroening et al. LPAR'10] shows this is the onlyinterpolant for (A, B)

Without AB-mixed cuts, proof of exponential size

Implicit assumption: we are in the signatureZ [ f+; ¢;=;·g [ f=ggg2Z>0

Page 29: Efficient Interpolant Generation in Satisfiability Modulo ...resources.mpi-inf.mpg.de/.../alberto-griggio.pdf · Introduction ♦(Craig) Interpolation for ground first-order theories

Outline

♦ Background

♦ Current techniques for interpolation in LA(Z)

♦ A novel interpolation technique for LA(Z)

♦ Experimental evaluation

Page 30: Efficient Interpolant Generation in Satisfiability Modulo ...resources.mpi-inf.mpg.de/.../alberto-griggio.pdf · Introduction ♦(Craig) Interpolation for ground first-order theories

Interpolation with ceilings

♦ Idea: use a different extension of the signature of LA(Z), and extend also its domain

♦ Introduce the ceiling function [Pudlák '97]

♦ Allow non-variable terms to be non-integers (e.g. )

♦ Much simpler interpolation procedure

♦ Proof annotations are single inequalities

d¢ex2

(t · 0)

Page 31: Efficient Interpolant Generation in Satisfiability Modulo ...resources.mpi-inf.mpg.de/.../alberto-griggio.pdf · Introduction ♦(Craig) Interpolation for ground first-order theories

Interpolation with ceilings

♦ Idea: use a different extension of the signature of LA(Z), and extend also its domain

♦ Introduce the ceiling function [Pudlák '97]

♦ Allow non-variable terms to be non-integers (e.g. )

♦ Much simpler interpolation procedure

♦ Proof annotations are single inequalities

d¢ex2

(t · 0)

Combt1 · 0 [t01 · 0] t2 · 0 [t02 · 0]

c1 ¢ t1 + c2 ¢ t2 · 0 [c1 ¢ t01 + c2 ¢ t02 · 0]

d > 0 divides aj ; bk; ci

Div

Pyj 62B ajyj +

Pzk 62A bkzk +

Pxi2A\B cixi + c

[Pyj 62B ajyj +

Pxi2A\B c

0ixi + c0]

Pyj 62B

ajd yj +

Pzk2B

bkd zk +

Pxi2A\B

cid xi + d cde

[Pyj 62B

ajd yj + d

Pxi2A\B c

0ixi+c

0

d e]

Hyp¡

t · 0 [t0 · 0]

Page 32: Efficient Interpolant Generation in Satisfiability Modulo ...resources.mpi-inf.mpg.de/.../alberto-griggio.pdf · Introduction ♦(Craig) Interpolation for ground first-order theories

Interpolation with ceilings - example

♦ No blowup of interpolants wrt. the size of the proofs

(1 · 0) ´ ?

A :=

½¡y ¡ 2nx¡ n+ 1 · 0y + 2nx · 0

B :=

½¡y ¡ 2nz + 1 · 0y + 2nz ¡ n · 0

y + 2nx · 0 ¡y ¡ 2nz + 1 · 0

2nx¡ 2nz + 1 · 0¡y ¡ 2nx¡ n+ 1 · 0 y + 2nz ¡ n · 0

¡2nx+ 2nz ¡ 2n+ 1 · 02n ¢ (x¡ z + 1 · 0)

Page 33: Efficient Interpolant Generation in Satisfiability Modulo ...resources.mpi-inf.mpg.de/.../alberto-griggio.pdf · Introduction ♦(Craig) Interpolation for ground first-order theories

Interpolation with ceilings - example

♦ No blowup of interpolants wrt. the size of the proofs

(1 · 0) ´ ?

A :=

½¡y ¡ 2nx¡ n+ 1 · 0y + 2nx · 0

B :=

½¡y ¡ 2nz + 1 · 0y + 2nz ¡ n · 0

y + 2nx · 0 ¡y ¡ 2nz + 1 · 0

2nx¡ 2nz + 1 · 0¡y ¡ 2nx¡ n+ 1 · 0 y + 2nz ¡ n · 0

¡2nx+ 2nz ¡ 2n+ 1 · 02n ¢ (x¡ z + 1 · 0)

[y + 2nx · 0] [0 · 0]

[y + 2nx · 0] [¡y ¡ 2nx¡ n+ 1 · 0] [0 · 0]

[¡y ¡ 2nx¡ n+ 1 · 0]

[2nd y2ne ¡ y ¡ n+ 1 · 0]

[x+ d y2ne · 0]

Page 34: Efficient Interpolant Generation in Satisfiability Modulo ...resources.mpi-inf.mpg.de/.../alberto-griggio.pdf · Introduction ♦(Craig) Interpolation for ground first-order theories

Interpolation with ceilings - example

♦ No blowup of interpolants wrt. the size of the proofs

(1 · 0) ´ ?

A :=

½¡y ¡ 2nx¡ n+ 1 · 0y + 2nx · 0

B :=

½¡y ¡ 2nz + 1 · 0y + 2nz ¡ n · 0

y + 2nx · 0 ¡y ¡ 2nz + 1 · 0

2nx¡ 2nz + 1 · 0¡y ¡ 2nx¡ n+ 1 · 0 y + 2nz ¡ n · 0

¡2nx+ 2nz ¡ 2n+ 1 · 02n ¢ (x¡ z + 1 · 0)

[y + 2nx · 0] [0 · 0]

[y + 2nx · 0] [¡y ¡ 2nx¡ n+ 1 · 0] [0 · 0]

[¡y ¡ 2nx¡ n+ 1 · 0]

[2nd y2ne ¡ y ¡ n+ 1 · 0]

Interpolant:(2nd y

2ne ¡ y ¡ n+ 1 · 0)

[x+ d y2ne · 0]

Page 35: Efficient Interpolant Generation in Satisfiability Modulo ...resources.mpi-inf.mpg.de/.../alberto-griggio.pdf · Introduction ♦(Craig) Interpolation for ground first-order theories

SMT(LA(Z)) with ceilings

♦ Like modular equations, also ceilings can be eliminated via preprocessing:

♦ Replace every term

with a fresh integer variable

♦ Add the 2 unit clauses

(encoding the meaning of ceiling: )

where is the least common multiple of the denominators of the

coefficients in

dtexdte

(l ¢ xdte ¡ l ¢ t+ l · 0)

(l ¢ t¡ l ¢ xdte · 0)

l

t

dte ¡ 1 < t · dte

Page 36: Efficient Interpolant Generation in Satisfiability Modulo ...resources.mpi-inf.mpg.de/.../alberto-griggio.pdf · Introduction ♦(Craig) Interpolation for ground first-order theories

Outline

♦ Background

♦ Current techniques for interpolation in LA(Z)

♦ A novel interpolation technique for LA(Z)

♦ Experimental evaluation

Page 37: Efficient Interpolant Generation in Satisfiability Modulo ...resources.mpi-inf.mpg.de/.../alberto-griggio.pdf · Introduction ♦(Craig) Interpolation for ground first-order theories

Experiments

♦ Implementation on top of MathSAT 5

♦ Use also algorithm for Diophantine equations and Boolean interpolation algorithm for dealing with Branch and Bound

♦ Implemented both algorithm based on Strengthen (MathSAT-ModEq) and on ceilings (MathSAT-Ceil)

♦ Use benchmarks that require non-trivial integer reasoning

Page 38: Efficient Interpolant Generation in Satisfiability Modulo ...resources.mpi-inf.mpg.de/.../alberto-griggio.pdf · Introduction ♦(Craig) Interpolation for ground first-order theories

Results – Strengthen vs. ceilingsM

athS

AT-

Cei

l

MathSAT-ModEq

Execution Time

Mat

hSA

T-C

eil

MathSAT-ModEq

Size of Interpolants

Page 39: Efficient Interpolant Generation in Satisfiability Modulo ...resources.mpi-inf.mpg.de/.../alberto-griggio.pdf · Introduction ♦(Craig) Interpolation for ground first-order theories

Thank You