Non-linear Arithmetic SAT/SMT Summer School 2014

84
Non-linear Arithmetic SAT/SMT Summer School 2014 Leonardo de Moura Microsoft Research Slides at: http://leodemoura.github.io/

description

Non-linear Arithmetic SAT/SMT Summer School 2014. Leonardo de Moura Microsoft Research Slides at: http ://leodemoura.github.io/. Applications. IMO. [2001] Forall , prove that [2005] Forall , prove that. Polynomial Constraints. AKA Existential Theory of the Reals R. Milestones. - PowerPoint PPT Presentation

Transcript of Non-linear Arithmetic SAT/SMT Summer School 2014

Page 1: Non-linear Arithmetic SAT/SMT Summer School 2014

Non-linear ArithmeticSAT/SMT Summer School 2014

Leonardo de MouraMicrosoft Research

Slides at: http://leodemoura.github.io/

Page 2: Non-linear Arithmetic SAT/SMT Summer School 2014

Applications

Page 3: Non-linear Arithmetic SAT/SMT Summer School 2014

IMO[2001] Forall , prove that

[2005] Forall , prove that

Page 4: Non-linear Arithmetic SAT/SMT Summer School 2014

Polynomial Constraints

AKAExistential Theory of the Reals

R

Page 5: Non-linear Arithmetic SAT/SMT Summer School 2014

Milestones

1637 1732 1830 1835 1876 1930 1975820 1247

RCF admits QEnon elementary complexity

QE by CADDoubly exponential

Page 6: Non-linear Arithmetic SAT/SMT Summer School 2014

PSPACE

R

How hard is R?

NP-hardnessx is “Boolean” x (x-1) = 0 x or y or z x + y + z > 0

PSPACE membershipCanny – 1988,Grigor’ev – 1988

NP

Page 7: Non-linear Arithmetic SAT/SMT Summer School 2014

Example

,,,…,

𝑥1=2𝑥2=4𝑥3=16

𝑥𝑛=22𝑛

Page 8: Non-linear Arithmetic SAT/SMT Summer School 2014

Main TechniquesHigh-School Level Procedures - Cohen, Muchnick, Hormander 60’s

Wu’s method for Geometry Theorem Proving - Wu 1983

Solving equations in via Gröbner Basis - Buchberger 1985

CAD: Cylindrical Algebraic Decomposition 70’s

Ben-Or, Kozen, Reif’s doubly exponential procedure 80’s

VTS: Virtual Term Substitution (Weispfenning 1988)Special cases (e.g., quadratic, cubic) for QE

ICP: Interval Constraint Propagation

Page 9: Non-linear Arithmetic SAT/SMT Summer School 2014

Polynomials

Univariate

Multivariate

Page 10: Non-linear Arithmetic SAT/SMT Summer School 2014

Reduction to a single equation

Page 11: Non-linear Arithmetic SAT/SMT Summer School 2014

Example

Page 12: Non-linear Arithmetic SAT/SMT Summer School 2014

Polynomial division (univariate)

polydiv(f, g) q := 0r := fwhile deg(r)>= deg(g)

invariant f = q.g + rd := deg(r)-deg(g)q := q + lc(r)/lc(g).xd

r := r - lc(r)/lc(g).xd.g

lc : leading coefficient

Page 13: Non-linear Arithmetic SAT/SMT Summer School 2014

Example

f: , g:

q := 0 r := ,

lc(r) = 3, lc(g)=1, deg(r)-deg(g) = 1

q := , r :=

lc(r)=1, deg(r)-deg(g) = 0

q := , r :=

3 𝑥3+𝑥2+1=(3 𝑥+1 ) (𝑥2+1 )−3 𝑥f = q . g + r

Page 14: Non-linear Arithmetic SAT/SMT Summer School 2014

Important

If Then

The sign of at a root (aka zero) of is equal to the sign of at

Page 15: Non-linear Arithmetic SAT/SMT Summer School 2014

Polynomial Sequence

Example

at 1

= 2

Page 16: Non-linear Arithmetic SAT/SMT Summer School 2014

Sturm Sequence for (, )

Page 17: Non-linear Arithmetic SAT/SMT Summer School 2014

Sturm Sequence for (, )

forall

Page 18: Non-linear Arithmetic SAT/SMT Summer School 2014

Sturm Theorem

is the derivative of

Number of zeros in

Page 19: Non-linear Arithmetic SAT/SMT Summer School 2014

Example

Page 20: Non-linear Arithmetic SAT/SMT Summer School 2014

Example

Page 21: Non-linear Arithmetic SAT/SMT Summer School 2014

Example

0 2 4 6+ + - +- + - ++ - + +- + + +

Page 22: Non-linear Arithmetic SAT/SMT Summer School 2014

Simple procedure

We can already decide formulas such as

Example:

Only the signs of the leading coefficients matter at and

-+ +- +- -

Page 23: Non-linear Arithmetic SAT/SMT Summer School 2014

Sturm-Tarski Theorem

is the derivative of

-

Page 24: Non-linear Arithmetic SAT/SMT Summer School 2014

Sturm-Tarski Theorem

= Numbers of zeros (roots) of

=

=

=

Page 25: Non-linear Arithmetic SAT/SMT Summer School 2014

System of equations

1 1 1

0 1 -1

0 1 1

Page 26: Non-linear Arithmetic SAT/SMT Summer School 2014

New procedure

Now, we can decide formulas such as,

Page 27: Non-linear Arithmetic SAT/SMT Summer School 2014

New procedure

Now, we can decide formulas such as

Example:

1 1 1 = 2

0 1 -1

0 1 1 = 2

Page 28: Non-linear Arithmetic SAT/SMT Summer School 2014

New procedure

Now, we can decide formulas such as

Example:

1 1 1 = 2

0 1 -1

0 1 1 = 2

¿ (𝑔=0 )=1 ,¿ (𝑔>0 )=1 ,¿ (𝑔<0 )=0

Page 29: Non-linear Arithmetic SAT/SMT Summer School 2014

New procedure

Now, we can decide formulas such as

What about ?

1 1 1 = 2

0 1 -1

0 1 1 = 2

¿ (𝑔=0 )=1 ,¿ (𝑔>0 )=1 ,¿ (𝑔<0 )=0

Page 30: Non-linear Arithmetic SAT/SMT Summer School 2014

Sturm-Tarski Theorem

Page 31: Non-linear Arithmetic SAT/SMT Summer School 2014

Sturm-Tarski Theorem

Page 32: Non-linear Arithmetic SAT/SMT Summer School 2014
Page 33: Non-linear Arithmetic SAT/SMT Summer School 2014
Page 34: Non-linear Arithmetic SAT/SMT Summer School 2014
Page 35: Non-linear Arithmetic SAT/SMT Summer School 2014

New procedure

Now, we can decide formulas such as, We can generalize to

equations!

Page 36: Non-linear Arithmetic SAT/SMT Summer School 2014

We can do better than

Ben-Or, Kozen, Reif OptimizationNumber of zeros (roots) of Each “unknown” is an integer

Solve the system incrementally! Suppose Found zeros!

Page 37: Non-linear Arithmetic SAT/SMT Summer School 2014

Missing case

What about formulas such as

?

Page 38: Non-linear Arithmetic SAT/SMT Summer School 2014

Given take

1)

’s have constant sign, use sign of leading coefficients.

2)

’s have at most one zero, use leading coefficients to

compute sign at and .

3)

and contains all realizable sign conditions.

Page 39: Non-linear Arithmetic SAT/SMT Summer School 2014
Page 40: Non-linear Arithmetic SAT/SMT Summer School 2014
Page 41: Non-linear Arithmetic SAT/SMT Summer School 2014
Page 42: Non-linear Arithmetic SAT/SMT Summer School 2014

Multivariate case

only uses the sign of the leading coefficients.

Page 43: Non-linear Arithmetic SAT/SMT Summer School 2014

Pseudo Polynomial Division

is a polynomial in The previous decision algorithm does not work. does not have multiplicative inverse!

Trick (clean denominators)

Page 44: Non-linear Arithmetic SAT/SMT Summer School 2014

Pseudo Polynomial Divisionpolydiv(f, g)

q := 0r := fl := 1while deg(r)>= deg(g)

invariant l.f = q.g + rl := lc(g).l q := lc(g).qr := lc(g).rd := deg(r)-deg(g)q := q + lc(r)/lc(g).xd

r := r - lc(r)/lc(g).xd.g

Page 45: Non-linear Arithmetic SAT/SMT Summer School 2014

Pseudo Polynomial Division

polydiv(f, g) q := 0r := fl := 1while deg(r)>= deg(g)

invariant l.f = q.g + rl := lc(g).l d := deg(r)- deg(g)q := lc(g).q + lc(r).xd

r := lc(g).r - lc(r).xd.g

Page 46: Non-linear Arithmetic SAT/SMT Summer School 2014

Example

We “want”

Page 47: Non-linear Arithmetic SAT/SMT Summer School 2014

Example

Page 48: Non-linear Arithmetic SAT/SMT Summer School 2014

Sturm “Tree” for multivariate poly

Branch on sign of the leading coefficient

𝑎𝑥2+𝑏𝑥+𝑐

𝑏𝑥+𝑐𝑐

𝑎<0 𝑎>0

𝛿<0𝛿=0

𝛿>0𝛿=0

𝛿>0𝛿<0

𝑎≠ 0 𝑎=0

𝑏≠0 𝑏=0

Page 49: Non-linear Arithmetic SAT/SMT Summer School 2014

Sturm “Tree” for multivariate poly

Branch on sign of the leading coefficient

𝑎𝑥2+𝑏𝑥+𝑐

𝑏𝑥+𝑐𝑐

𝑎<0 𝑎>0

𝛿<0𝛿=0

𝛿>0𝛿=0

𝛿>0𝛿<0

𝑎≠ 0 𝑎=0

𝑏≠0 𝑏=0

Page 50: Non-linear Arithmetic SAT/SMT Summer School 2014

Assumptions

+--

++-

𝑎𝑥2+𝑏𝑥+𝑐

No zero

Page 51: Non-linear Arithmetic SAT/SMT Summer School 2014

Assumptions

+-0

++0

𝑎𝑥2+𝑏𝑥+𝑐

1 zero

Page 52: Non-linear Arithmetic SAT/SMT Summer School 2014

Assumptions

+-+

+++

𝑎𝑥2+𝑏𝑥+𝑐

2 zeros

Page 53: Non-linear Arithmetic SAT/SMT Summer School 2014

Model-guided procedure

Build model incrementally (like a SAT solver)Given polynomials in An assignment for We have to consider only one branch of the tree!Example:

Page 54: Non-linear Arithmetic SAT/SMT Summer School 2014

Example:

Page 55: Non-linear Arithmetic SAT/SMT Summer School 2014

Example:

Assign:

Page 56: Non-linear Arithmetic SAT/SMT Summer School 2014

Example:

Assign:

3 No solutions

Page 57: Non-linear Arithmetic SAT/SMT Summer School 2014

Example:

Assign:

3 No solutions

𝑦+2>0

Idea: Generalize the inconsistency using the corresponding branch of the Sturm tree

Page 58: Non-linear Arithmetic SAT/SMT Summer School 2014

Example:

Assign:

3 No solutions

𝑦+2>0

Idea: Generalize the inconsistency using the corresponding branch of the Sturm tree

𝑦 2+1>0

Page 59: Non-linear Arithmetic SAT/SMT Summer School 2014

Example:

Assign:

3 No solutions

𝑦+2>0

Idea: Generalize the inconsistency using the corresponding branch of the Sturm tree

𝑦 2+1>0− 𝑦4−2 𝑦2+2 𝑦+3>0

Page 60: Non-linear Arithmetic SAT/SMT Summer School 2014

Example:

Assign:

3 No solutions

1

𝑦+2>0

Idea: Generalize the inconsistency using the corresponding branch of the Sturm tree

𝑦 2+1>0− 𝑦4−2 𝑦2+2 𝑦+3>0

Page 61: Non-linear Arithmetic SAT/SMT Summer School 2014

Example:

Assign:

1

𝑦+2>0𝑦 2+1>0− 𝑦4−2 𝑦2+2 𝑦+3>0

+---+

++-++

Page 62: Non-linear Arithmetic SAT/SMT Summer School 2014

Example:

Assign:

1

𝑦+2>0𝑦 2+1>0− 𝑦4−2 𝑦2+2 𝑦+3>0

+---+

++-++

(𝑦+2 )𝑥4+ (𝑦 2+1 )𝑥2+1>0

Page 63: Non-linear Arithmetic SAT/SMT Summer School 2014

Example:

Assign:

1

𝑦+2>0REDUNDANT − 𝑦4−2 𝑦2+2 𝑦+3>0

+---+

++-++

(𝑦+2 )𝑥4+ (𝑦 2+1 )𝑥2+1>0

Page 64: Non-linear Arithmetic SAT/SMT Summer School 2014

Example:

Assign:

1

𝑦+2>0 REDUNDANT

+---+

++-++

(𝑦+2 )𝑥4+ (𝑦 2+1 )𝑥2+1>0

Page 65: Non-linear Arithmetic SAT/SMT Summer School 2014

Example:

Assign:

𝑦+2>0

(𝑦+2 )𝑥4+ (𝑦 2+1 )𝑥2+1>0

Page 66: Non-linear Arithmetic SAT/SMT Summer School 2014

Example:

Assign:

¬ ( 𝑦+2>0 )∨ (𝑦+2 )𝑥4+ (𝑦 2+1 )𝑥2+1>0

¬ ( 𝑦+2>0 )∨ (𝑦+2 )𝑥4+ (𝑦 2+1 )𝑥2+1≥0

¬ ( 𝑦+2>0 )∨¬((𝑦+2 )𝑥4+ (𝑦2+1 ) 𝑥2+1<0)

Page 67: Non-linear Arithmetic SAT/SMT Summer School 2014

Example:

Assign:

¬ ( 𝑦+2>0 )∨¬((𝑦+2 )𝑥4+ (𝑦2+1 ) 𝑥2+1<0)

Resolvent: The resolvent “blocks” , and many other values.

Page 68: Non-linear Arithmetic SAT/SMT Summer School 2014

Example:

Assign:

¬ ( 𝑦+2>0 )∨¬((𝑦+2 )𝑥4+ (𝑦2+1 ) 𝑥2+1<0)

Resolvent: The resolvent “blocks” , and many other values.

The problem is unsat

Page 69: Non-linear Arithmetic SAT/SMT Summer School 2014

How do we represent an assignment?

Real algebraic numbers

√2+√3

First zero of

Page 70: Non-linear Arithmetic SAT/SMT Summer School 2014

Tower of algebraic extensions

ℚ (𝛼1 )…(𝛼𝑘)

Page 71: Non-linear Arithmetic SAT/SMT Summer School 2014

Tower of extensions(Computable) ordered field Operations:

Approximation: -interval

Refine approximation

Binary Rational

Page 72: Non-linear Arithmetic SAT/SMT Summer School 2014

Algebraic Extensions

is a root of a polynomial with coefficients in Encoding as polynomial + interval

Page 73: Non-linear Arithmetic SAT/SMT Summer School 2014

Algebraic Extensions

The elements of are polynomials .

Implement using polynomial arithmetic.

Compute sign (when possible) using interval arithmetic.

Page 74: Non-linear Arithmetic SAT/SMT Summer School 2014

Algebraic Extensions

Let be =

We can normalize a by computing the polynomial remainder.

Polynomial Remainder

Page 75: Non-linear Arithmetic SAT/SMT Summer School 2014

Algebraic Extensions: non-minimal Polynomials

Computing the inverse of , where

Find s.t.

Compute the extended GCD of and .

0

Page 76: Non-linear Arithmetic SAT/SMT Summer School 2014

Algebraic Extensions: non-minimal Polynomials

We only use square-free polynomials in

They are not necessarily minimal in our implementation.

Solution: Dynamically refine , when computing inverses.

Only is is minimal

Page 77: Non-linear Arithmetic SAT/SMT Summer School 2014
Page 78: Non-linear Arithmetic SAT/SMT Summer School 2014
Page 79: Non-linear Arithmetic SAT/SMT Summer School 2014

CAD “Big Picture”1. Project/Saturate set of polynomials 2. Lift/Search: Incrementally build assignment

Isolate roots of polynomials Select a feasible cell , and assign some If there is no feasible cell, then backtrack

Page 80: Non-linear Arithmetic SAT/SMT Summer School 2014

CAD “Big Picture”𝑥2+ 𝑦2−1<0𝑥 𝑦−1>0 1. Saturate

𝑥4−𝑥2+1

𝑥𝑥2−1

+ + + + + + ++ 0 - - - 0 +- - - 0 + + +

2. Search

Page 81: Non-linear Arithmetic SAT/SMT Summer School 2014

CAD “Big Picture”𝒙𝟐+𝒚𝟐−𝟏<0𝒙 𝒚 −𝟏>0 1. Saturate

𝑥4−𝑥2+1

𝑥𝑥2−1

+ + + + + + ++ 0 - - - 0 +- - - 0 + + +

𝒙−𝟐

+ + ++ 0 -

2. Search

Page 82: Non-linear Arithmetic SAT/SMT Summer School 2014

CAD “Big Picture”𝒙𝟐+𝒚𝟐−𝟏<𝟎𝑥 𝑦−1>0 1. Saturate

𝑥4−𝑥2+1

𝑥𝑥2−1

+ + + + + + ++ 0 - - - 0 +- - - 0 + + +

𝒙−𝟐

+ + ++ 0 -

2. Search

CONFLICT

Page 83: Non-linear Arithmetic SAT/SMT Summer School 2014

Delineability

Page 84: Non-linear Arithmetic SAT/SMT Summer School 2014

Resources

http://tinyurl.com/ksb32xw