1 / 84

Non-linear Arithmetic SAT/SMT Summer School 2014

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.

samson
Download Presentation

Non-linear Arithmetic SAT/SMT Summer School 2014

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Applications

  3. IMO [2001] Forall, prove that [2005] Forall, prove that

  4. Polynomial Constraints AKA Existential Theory of the Reals R

  5. Milestones RCF admits QE non elementary complexity 820 1247 1637 1732 1830 1835 1876 1930 1975 QE by CAD Doubly exponential

  6. How hard is R? NP-hardness x is “Boolean” x (x-1) = 0 x or y or z  x + y + z > 0 PSPACE PSPACE membership Canny – 1988, Grigor’ev– 1988 R NP

  7. Example , , , … ,

  8. Main Techniques High-School Level Procedures - Cohen, Muchnick, Hormander 60’s Wu’s method for Geometry Theorem Proving - Wu 1983 Solving equations in via GröbnerBasis - 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

  9. Polynomials Univariate Multivariate

  10. Reduction to a single equation

  11. Example

  12. Polynomial division (univariate) polydiv(f, g) q := 0 r := f while deg(r)>= deg(g) invariant f = q.g + r d := deg(r)-deg(g) q := q + lc(r)/lc(g).xd r := r -lc(r)/lc(g).xd.g lc : leading coefficient

  13. 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 := f = q . g + r

  14. Important If Then The sign of at a root (aka zero) of is equal to the sign of at

  15. Polynomial Sequence Example at 1 = 2

  16. Sturm Sequence for (, )

  17. Sturm Sequence for (, ) forall

  18. Sturm Theorem is the derivative of Number of zeros in

  19. Example

  20. Example

  21. Example

  22. Simple procedure We can already decide formulas such as Example: Only the signs of the leading coefficients matter at and

  23. Sturm-Tarski Theorem is the derivative of -

  24. Sturm-Tarski Theorem = Numbers of zeros (roots) of = = =

  25. System of equations

  26. New procedure Now, we can decide formulas such as ,

  27. New procedure Now, we can decide formulas such as Example:

  28. New procedure Now, we can decide formulas such as Example:

  29. New procedure Now, we can decide formulas such as What about ?

  30. Sturm-Tarski Theorem

  31. Sturm-Tarski Theorem

  32. New procedure Now, we can decide formulas such as , We can generalize to equations!

  33. We can do better than Ben-Or, Kozen, Reif Optimization Number of zeros (roots) of Each “unknown” is an integer Solve the system incrementally! Suppose Found zeros! …

  34. Missing case What about formulas such as ?

  35. 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.

  36. Multivariate case only uses the sign of the leading coefficients.

  37. Pseudo Polynomial Division is a polynomial in The previous decision algorithm does not work. does not have multiplicative inverse! Trick (clean denominators)

  38. Pseudo Polynomial Division polydiv(f, g) q := 0 r := f l := 1 while deg(r)>= deg(g) invariant l.f = q.g + r l := lc(g).l q := lc(g).q r := lc(g).r d := deg(r)-deg(g) q := q + lc(r)/lc(g).xd r := r -lc(r)/lc(g).xd.g

  39. Pseudo Polynomial Division polydiv(f, g) q := 0 r := f l := 1 while deg(r)>= deg(g) invariant l.f = q.g + r l := lc(g).l d := deg(r)- deg(g) q := lc(g).q + lc(r).xd r := lc(g).r -lc(r).xd.g

  40. Example We “want”

  41. Example

  42. Sturm “Tree” for multivariate poly Branch on sign of the leading coefficient

  43. Sturm “Tree” for multivariate poly Branch on sign of the leading coefficient

  44. Assumptions + - - + + - No zero

More Related