non-linear arithmetic sat/smt summer school 2014
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 PresentationTRANSCRIPT
![Page 1: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/1.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/2.jpg)
Applications
![Page 3: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/3.jpg)
IMO[2001] Forall , prove that
[2005] Forall , prove that
![Page 4: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/4.jpg)
Polynomial Constraints
AKAExistential Theory of the Reals
R
![Page 5: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/5.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/6.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/7.jpg)
Example
,,,…,
𝑥1=2𝑥2=4𝑥3=16
𝑥𝑛=22𝑛
![Page 8: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/8.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/9.jpg)
Polynomials
Univariate
Multivariate
![Page 10: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/10.jpg)
Reduction to a single equation
![Page 11: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/11.jpg)
Example
![Page 12: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/12.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/13.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/14.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/15.jpg)
Polynomial Sequence
Example
at 1
= 2
![Page 16: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/16.jpg)
Sturm Sequence for (, )
![Page 17: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/17.jpg)
Sturm Sequence for (, )
forall
![Page 18: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/18.jpg)
Sturm Theorem
is the derivative of
Number of zeros in
![Page 19: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/19.jpg)
Example
![Page 20: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/20.jpg)
Example
![Page 21: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/21.jpg)
Example
0 2 4 6+ + - +- + - ++ - + +- + + +
![Page 22: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/22.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/23.jpg)
Sturm-Tarski Theorem
is the derivative of
-
![Page 24: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/24.jpg)
Sturm-Tarski Theorem
= Numbers of zeros (roots) of
=
=
=
![Page 25: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/25.jpg)
System of equations
1 1 1
0 1 -1
0 1 1
![Page 26: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/26.jpg)
New procedure
Now, we can decide formulas such as,
![Page 27: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/27.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/28.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/29.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/30.jpg)
Sturm-Tarski Theorem
![Page 31: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/31.jpg)
Sturm-Tarski Theorem
![Page 32: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/32.jpg)
![Page 33: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/33.jpg)
![Page 34: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/34.jpg)
![Page 35: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/35.jpg)
New procedure
Now, we can decide formulas such as, We can generalize to
equations!
![Page 36: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/36.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/37.jpg)
Missing case
What about formulas such as
?
![Page 38: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/38.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/39.jpg)
![Page 40: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/40.jpg)
![Page 41: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/41.jpg)
![Page 42: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/42.jpg)
Multivariate case
only uses the sign of the leading coefficients.
![Page 43: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/43.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/44.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/45.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/46.jpg)
Example
We “want”
![Page 47: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/47.jpg)
Example
![Page 48: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/48.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/49.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/50.jpg)
Assumptions
+--
++-
𝑎𝑥2+𝑏𝑥+𝑐
No zero
![Page 51: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/51.jpg)
Assumptions
+-0
++0
𝑎𝑥2+𝑏𝑥+𝑐
1 zero
![Page 52: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/52.jpg)
Assumptions
+-+
+++
𝑎𝑥2+𝑏𝑥+𝑐
2 zeros
![Page 53: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/53.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/54.jpg)
Example:
![Page 55: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/55.jpg)
Example:
Assign:
![Page 56: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/56.jpg)
Example:
Assign:
3 No solutions
![Page 57: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/57.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/58.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/59.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/60.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/61.jpg)
Example:
Assign:
1
𝑦+2>0𝑦 2+1>0− 𝑦4−2 𝑦2+2 𝑦+3>0
+---+
++-++
![Page 62: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/62.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/63.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/64.jpg)
Example:
Assign:
1
𝑦+2>0 REDUNDANT
+---+
++-++
(𝑦+2 )𝑥4+ (𝑦 2+1 )𝑥2+1>0
![Page 65: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/65.jpg)
Example:
Assign:
𝑦+2>0
(𝑦+2 )𝑥4+ (𝑦 2+1 )𝑥2+1>0
![Page 66: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/66.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/67.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/68.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/69.jpg)
How do we represent an assignment?
Real algebraic numbers
√2+√3
First zero of
![Page 70: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/70.jpg)
Tower of algebraic extensions
ℚ (𝛼1 )…(𝛼𝑘)
![Page 71: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/71.jpg)
Tower of extensions(Computable) ordered field Operations:
Approximation: -interval
Refine approximation
Binary Rational
![Page 72: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/72.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/73.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/74.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/75.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/76.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/77.jpg)
![Page 78: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/78.jpg)
![Page 79: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/79.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/80.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/81.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/82.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/83.jpg)
Delineability
![Page 84: Non-linear Arithmetic SAT/SMT Summer School 2014](https://reader036.vdocument.in/reader036/viewer/2022081604/56816762550346895ddc3e05/html5/thumbnails/84.jpg)
Resources
http://tinyurl.com/ksb32xw