Subtropical Satisfiability Pascal Fontaine , Mizuhito Ogawa, Thomas - - PowerPoint PPT Presentation

subtropical satisfiability
SMART_READER_LITE
LIVE PREVIEW

Subtropical Satisfiability Pascal Fontaine , Mizuhito Ogawa, Thomas - - PowerPoint PPT Presentation

Subtropical Satisfiability Pascal Fontaine , Mizuhito Ogawa, Thomas Sturm, Xuan Tung Vu Univ. of Lorraine, CNRS, Inria, LORIA Japan Advanced Institute of Science and Technology (JAIST) MPI Informatics and Saarland University 22-23 July, 2017


slide-1
SLIDE 1

1/12

Subtropical Satisfiability

Pascal Fontaine, Mizuhito Ogawa, Thomas Sturm, Xuan Tung Vu

  • Univ. of Lorraine, CNRS, Inria, LORIA

Japan Advanced Institute of Science and Technology (JAIST) MPI Informatics and Saarland University

22-23 July, 2017 Presentation only (accepted FroCoS 2017)

slide-2
SLIDE 2

2/12

SMT + non linear arithmetics

◮ High demand for non linear arithmetic reasoning capability ◮ Theory of real closed fields:

decidable (QE: CAD, virtual substitution,. . . )

◮ Doubly exponential (existential fragment also high complexity) ◮ Complete decision procedure not always efficient enough ◮ Need for good heuristics

Our contribution

Simple heuristic to quickly discharge many proof obligations (or failing quickly)

◮ Based on subtropical method: quickly find positive solution

for f = 0 where f has hundreds of thousand of monomials, with dozen variables, degrees around 10 in each variable

◮ Here: find real solution for f1 > 0 ∧ · · · ∧ fn > 0

slide-3
SLIDE 3

3/12

Subtropical method: univariate case

Consider x ≥ 0,

◮ 1 − 2x + x3 > 0

slide-4
SLIDE 4

3/12

Subtropical method: univariate case

Consider x ≥ 0,

◮ 1 − 2x + x3 > 0, satisfiable: x = 0

1 2 −2 −1 1

y = 1 − 2x + x3

slide-5
SLIDE 5

3/12

Subtropical method: univariate case

Consider x ≥ 0,

◮ 1 − 2x + x3 > 0, satisfiable: x = 0 ◮ −1 − 2x + x3 > 0

1 2 −2 −1 1

y = 1 − 2x + x3

slide-6
SLIDE 6

3/12

Subtropical method: univariate case

Consider x ≥ 0,

◮ 1 − 2x + x3 > 0, satisfiable: x = 0 ◮ −1 − 2x + x3 > 0, satisfiable: with sufficiently large x

1 2 −2 −1 1

y = 1 − 2x + x3

1 2 −2 −1 1

y = −1 − 2x + x3

slide-7
SLIDE 7

3/12

Subtropical method: univariate case

Consider x ≥ 0,

◮ 1 − 2x + x3 > 0, satisfiable: x = 0 ◮ −1 − 2x + x3 > 0, satisfiable: with sufficiently large x ◮ 2x − x3 > 0

1 2 −2 −1 1

y = 1 − 2x + x3

1 2 −2 −1 1

y = −1 − 2x + x3

slide-8
SLIDE 8

3/12

Subtropical method: univariate case

Consider x ≥ 0,

◮ 1 − 2x + x3 > 0, satisfiable: x = 0 ◮ −1 − 2x + x3 > 0, satisfiable: with sufficiently large x ◮ 2x − x3 > 0, satisfiable: with sufficiently small x

1 2 −2 −1 1

y = 1 − 2x + x3

1 2 −2 −1 1

y = −1 − 2x + x3

1 2 −2 −1 1

y = 2x − x3

slide-9
SLIDE 9

3/12

Subtropical method: univariate case

Consider x ≥ 0,

◮ 1 − 2x + x3 > 0, satisfiable: x = 0 ◮ −1 − 2x + x3 > 0, satisfiable: with sufficiently large x ◮ 2x − x3 > 0, satisfiable: with sufficiently small x

Find a model for f > 0?

1 2 −2 −1 1

y = 1 − 2x + x3

1 2 −2 −1 1

y = −1 − 2x + x3

1 2 −2 −1 1

y = 2x − x3

slide-10
SLIDE 10

3/12

Subtropical method: univariate case

Consider x ≥ 0,

◮ 1 − 2x + x3 > 0, satisfiable: x = 0 ◮ −1 − 2x + x3 > 0, satisfiable: with sufficiently large x ◮ 2x − x3 > 0, satisfiable: with sufficiently small x

Find a model for f > 0? Check coefficient sign for lowest or highest degree monomial

1 2 −2 −1 1

y = 1 − 2x + x3

1 2 −2 −1 1

y = −1 − 2x + x3

1 2 −2 −1 1

y = 2x − x3

slide-11
SLIDE 11

3/12

Subtropical method: univariate case

Consider x ≥ 0,

◮ 1 − 2x + x3 > 0, satisfiable: x = 0 ◮ −1 − 2x + x3 > 0, satisfiable: with sufficiently large x ◮ 2x − x3 > 0, satisfiable: with sufficiently small x

Find a model for f > 0? Check coefficient sign for lowest or highest degree monomial Incomplete: −1 + 2x − x3 > 0?

1 2 −2 −1 1

y = 1 − 2x + x3

1 2 −2 −1 1

y = −1 − 2x + x3

1 2 −2 −1 1

y = 2x − x3

slide-12
SLIDE 12

3/12

Subtropical method: univariate case

Consider x ≥ 0,

◮ 1 − 2x + x3 > 0, satisfiable: x = 0 ◮ −1 − 2x + x3 > 0, satisfiable: with sufficiently large x ◮ 2x − x3 > 0, satisfiable: with sufficiently small x

Find a model for f > 0? Check coefficient sign for lowest or highest degree monomial Incomplete: −1 + 2x − x3 > 0? (x = 0.8)

1 2 −2 −1 1

y = 1 − 2x + x3

1 2 −2 −1 1

y = −1 − 2x + x3

1 2 −2 −1 1

y = 2x − x3

1 2 −2 −1 1

y = −1 + 2x − x3

slide-13
SLIDE 13

3/12

Subtropical method: univariate case

Consider x ≥ 0,

◮ 1 − 2x + x3 > 0, satisfiable: x = 0 ◮ −1 − 2x + x3 > 0, satisfiable: with sufficiently large x ◮ 2x − x3 > 0, satisfiable: with sufficiently small x

Find a model for f > 0? Check coefficient sign for lowest or highest degree monomial Incomplete: −1 + 2x − x3 > 0? (x = 0.8) But certainly quick

1 2 −2 −1 1

y = 1 − 2x + x3

1 2 −2 −1 1

y = −1 − 2x + x3

1 2 −2 −1 1

y = 2x − x3

1 2 −2 −1 1

y = −1 + 2x − x3

slide-14
SLIDE 14

4/12

Subtropical method: towards the multivariate case

Polynomial −2x5

1 + x2 1x2 − 3x2 1 − x3 2 + 2x2 2 can be ◮ negative, e.g. −2x5 1 dominates if x1 large enough w.r.t. x2 ◮ positive, e.g. 2x2 2 dominates if x2 small enough (not zero) x2

and an even smaller x1.

slide-15
SLIDE 15

4/12

Subtropical method: towards the multivariate case

Polynomial −2x5

1 + x2 1x2 − 3x2 1 − x3 2 + 2x2 2 can be ◮ negative, e.g. −2x5 1 dominates if x1 large enough w.r.t. x2 ◮ positive, e.g. 2x2 2 dominates if x2 small enough (not zero) x2

and an even smaller x1. Extending to multivariate case?

◮ reduce to univariate, setting all variables but one to 0 ◮ consider monomial of highest/lowest total degree (if unique) ◮ ordering? lexicographic?

slide-16
SLIDE 16

4/12

Subtropical method: towards the multivariate case

Polynomial −2x5

1 + x2 1x2 − 3x2 1 − x3 2 + 2x2 2 can be ◮ negative, e.g. −2x5 1 dominates if x1 large enough w.r.t. x2 ◮ positive, e.g. 2x2 2 dominates if x2 small enough (not zero) x2

and an even smaller x1. Extending to multivariate case?

◮ reduce to univariate, setting all variables but one to 0 ◮ consider monomial of highest/lowest total degree (if unique) ◮ ordering? lexicographic?

Contribution

monotonic total preorders on the exponent vectors Strictly max. monomials (w.r.t. these preorders) can dominate, for suitable (positive) values of variables.

slide-17
SLIDE 17

5/12

Subtropical method: towards the multivariate case (2)

A reminder of the original method

Strictly max. monomials (w.r.t. monotonic total preorders on the exponent vectors) can dominate, for suitable (positive) values of variables.

slide-18
SLIDE 18

5/12

Subtropical method: towards the multivariate case (2)

A reminder of the original method

Strictly max. monomials (w.r.t. monotonic total preorders on the exponent vectors) can dominate, for suitable (positive) values of variables. Equivalent to consider the vertices of the Newton polytope, i.e. the set of exponent vectors.

slide-19
SLIDE 19

5/12

Subtropical method: towards the multivariate case (2)

A reminder of the original method

Strictly max. monomials (w.r.t. monotonic total preorders on the exponent vectors) can dominate, for suitable (positive) values of variables. Equivalent to consider the vertices of the Newton polytope, i.e. the set of exponent vectors.

f = −2x5

1+x2 1x2−3x2 1−x3 2+2x2 2

slide-20
SLIDE 20

5/12

Subtropical method: towards the multivariate case (2)

A reminder of the original method

Strictly max. monomials (w.r.t. monotonic total preorders on the exponent vectors) can dominate, for suitable (positive) values of variables. Equivalent to consider the vertices of the Newton polytope, i.e. the set of exponent vectors.

f = −2x5

1+x2 1x2−3x2 1−x3 2+2x2 2

(5, 0) (2, 1) (2, 0) (0, 3) (0, 2)

slide-21
SLIDE 21

5/12

Subtropical method: towards the multivariate case (2)

A reminder of the original method

Strictly max. monomials (w.r.t. monotonic total preorders on the exponent vectors) can dominate, for suitable (positive) values of variables. Equivalent to consider the vertices of the Newton polytope, i.e. the set of exponent vectors.

◮ −2x5

1, −3x2 1, −x3 2 and 2x2 2

correspond to vertices f = −2x5

1+x2 1x2−3x2 1−x3 2+2x2 2

(5, 0) (2, 1) (2, 0) (0, 3) (0, 2)

slide-22
SLIDE 22

5/12

Subtropical method: towards the multivariate case (2)

A reminder of the original method

Strictly max. monomials (w.r.t. monotonic total preorders on the exponent vectors) can dominate, for suitable (positive) values of variables. Equivalent to consider the vertices of the Newton polytope, i.e. the set of exponent vectors.

◮ −2x5

1, −3x2 1, −x3 2 and 2x2 2

correspond to vertices

◮ These monomials can dominate for

suitable values of variables f = −2x5

1+x2 1x2−3x2 1−x3 2+2x2 2

(5, 0) (2, 1) (2, 0) (0, 3) (0, 2)

slide-23
SLIDE 23

5/12

Subtropical method: towards the multivariate case (2)

A reminder of the original method

Strictly max. monomials (w.r.t. monotonic total preorders on the exponent vectors) can dominate, for suitable (positive) values of variables. Equivalent to consider the vertices of the Newton polytope, i.e. the set of exponent vectors.

◮ −2x5

1, −3x2 1, −x3 2 and 2x2 2

correspond to vertices

◮ These monomials can dominate for

suitable values of variables

◮ Normal vector of separating plane

provides witnesses f = −2x5

1+x2 1x2−3x2 1−x3 2+2x2 2

(5, 0) (2, 1) (2, 0) (0, 3) (0, 2) (−3, −2)

slide-24
SLIDE 24

5/12

Subtropical method: towards the multivariate case (2)

A reminder of the original method

Strictly max. monomials (w.r.t. monotonic total preorders on the exponent vectors) can dominate, for suitable (positive) values of variables. Equivalent to consider the vertices of the Newton polytope, i.e. the set of exponent vectors.

◮ −2x5

1, −3x2 1, −x3 2 and 2x2 2

correspond to vertices

◮ These monomials can dominate for

suitable values of variables

◮ Normal vector of separating plane

provides witnesses

◮ E.g. f > 0 for x1 = t−3, x2 = t−2

with t sufficiently large f = −2x5

1+x2 1x2−3x2 1−x3 2+2x2 2

(5, 0) (2, 1) (2, 0) (0, 3) (0, 2) (−3, −2)

slide-25
SLIDE 25

6/12

Subtropical method: from preorders to QF LRA SMT

f = −2x5

1 + x2 1x2 − 3x2 1 − x3 2 + 2x2 2

(5, 0) (2, 1) (2, 0) (0, 3) (0, 2) (−3, −2)

monotonic total preorders correspond to normal vectors

◮ (x1, x2) (x′

1, x′ 2) iff −3x1 − 2x2 ≤ −3x′ 1 − 2x′ 2

◮ (5, 0) ≺ (2, 1) ≺ (2, 0) ≈ (0, 3) ≺ (0, 2)

To QF LRA SMT?

◮ S+ = {(2, 1), (0, 2)}, S− = {(5, 0), (2, 0), (0, 3)}

f > 0 ← →

  • (p1,p2)∈S−

p1n1 +p2n2 +c < 0∧

  • (p1,p2)∈S+

p1n1 +p2n2 +c > 0

◮ linear constraints on real variables, n1, n2, c

slide-26
SLIDE 26

7/12

Several polynomials

One polynomial:

f1 = −2x5

1 + x2 1x2

−3x2

1 − x3 2 + 2x2 2

slide-27
SLIDE 27

7/12

Several polynomials

One polynomial:

◮ build the Newton polytope

f1 = −2x5

1 + x2 1x2

−3x2

1 − x3 2 + 2x2 2

slide-28
SLIDE 28

7/12

Several polynomials

One polynomial:

◮ build the Newton polytope ◮ find a suitable vertex

f1 = −2x5

1 + x2 1x2

−3x2

1 − x3 2 + 2x2 2 (0, 2)

slide-29
SLIDE 29

7/12

Several polynomials

One polynomial:

◮ build the Newton polytope ◮ find a suitable vertex ◮ normal vector to separating

plane provides witness

f1 = −2x5

1 + x2 1x2

−3x2

1 − x3 2 + 2x2 2 (0, 2) (−3, −2)

f1 > 0 if x1 = t−3, x2 = t−2 (t sufficiently large)

slide-30
SLIDE 30

7/12

Several polynomials

One polynomial:

◮ build the Newton polytope ◮ find a suitable vertex ◮ normal vector to separating

plane provides witness Several polynomials:

f1 = −2x5

1 + x2 1x2

−3x2

1 − x3 2 + 2x2 2

f2 = 1 − x1x2 −5x1 − 6x2 f3 = x1x2 −x5

1x2 2 + x1x4 2

slide-31
SLIDE 31

7/12

Several polynomials

One polynomial:

◮ build the Newton polytope ◮ find a suitable vertex ◮ normal vector to separating

plane provides witness Several polynomials:

◮ build the Newton polytopes

f1 = −2x5

1 + x2 1x2

−3x2

1 − x3 2 + 2x2 2

f2 = 1 − x1x2 −5x1 − 6x2 f3 = x1x2 −x5

1x2 2 + x1x4 2

slide-32
SLIDE 32

7/12

Several polynomials

One polynomial:

◮ build the Newton polytope ◮ find a suitable vertex ◮ normal vector to separating

plane provides witness Several polynomials:

◮ build the Newton polytopes ◮ find suitable vertices

f1 = −2x5

1 + x2 1x2

−3x2

1 − x3 2 + 2x2 2

f2 = 1 − x1x2 −5x1 − 6x2 f3 = x1x2 −x5

1x2 2 + x1x4 2 (0, 2) (0, 0) (1, 1)

slide-33
SLIDE 33

7/12

Several polynomials

One polynomial:

◮ build the Newton polytope ◮ find a suitable vertex ◮ normal vector to separating

plane provides witness Several polynomials:

◮ build the Newton polytopes ◮ find suitable vertices ◮ normal vector to separating

plane provides witness

f1 = −2x5

1 + x2 1x2

−3x2

1 − x3 2 + 2x2 2

f2 = 1 − x1x2 −5x1 − 6x2 f3 = x1x2 −x5

1x2 2 + x1x4 2 (0, 2) (−3, −2) (0, 0) (1, 1)

f1 > 0 if x1 = t−3, x2 = t−2 (t sufficiently large) f2 > 0 if x1 = t−3, x2 = t−2 (t sufficiently large) f3 > 0 if x1 = t−3, x2 = t−2 (t sufficiently large)

slide-34
SLIDE 34

7/12

Several polynomials

One polynomial:

◮ build the Newton polytope ◮ find a suitable vertex ◮ normal vector to separating

plane provides witness Several polynomials:

◮ build the Newton polytopes ◮ find suitable vertices ◮ normal vector to separating

plane provides witness

f1 = −2x5

1 + x2 1x2

−3x2

1 − x3 2 + 2x2 2

f2 = 1 − x1x2 −5x1 − 6x2 f3 = x1x2 −x5

1x2 2 + x1x4 2 (0, 2) (−3, −2) (0, 0) (1, 1)

f1 > 0 if x1 = t−3, x2 = t−2 (t sufficiently large) f2 > 0 if x1 = t−3, x2 = t−2 (t sufficiently large) f3 > 0 if x1 = t−3, x2 = t−2 (t sufficiently large)

common normal vector ensures existence of global solution

slide-35
SLIDE 35

7/12

Several polynomials

One polynomial:

◮ build the Newton polytope ◮ find a suitable vertex ◮ normal vector to separating

plane provides witness Several polynomials:

◮ build the Newton polytopes ◮ find suitable vertices ◮ normal vector to separating

plane provides witness

f1 = −2x5

1 + x2 1x2

−3x2

1 − x3 2 + 2x2 2

f2 = 1 − x1x2 −5x1 − 6x2 f3 = x1x2 −x5

1x2 2 + x1x4 2 (0, 2) (−3, −2) (0, 0) (1, 1)

f1 > 0 if x1 = t−3, x2 = t−2 (t sufficiently large) f2 > 0 if x1 = t−3, x2 = t−2 (t sufficiently large) f3 > 0 if x1 = t−3, x2 = t−2 (t sufficiently large)

common normal vector ensures existence of global solution n polynomial constraints? Conjunction of n QF LRA problems sharing only variables to describe normal vector

slide-36
SLIDE 36

8/12

From positive to arbitrary solution

◮ Up to now: i fi > 0 with all i xi > 0

x y f(x, y) > 0

slide-37
SLIDE 37

8/12

From positive to arbitrary solution

◮ Up to now: i fi > 0 with all i xi > 0 ◮ Removing the condition ∧i xi > 0?

x y f(x, y) > 0

slide-38
SLIDE 38

8/12

From positive to arbitrary solution

◮ Up to now: i fi > 0 with all i xi > 0 ◮ Removing the condition ∧i xi > 0? ◮ Just consider every hyper-quadrant

x y f(x, y) > 0

slide-39
SLIDE 39

8/12

From positive to arbitrary solution

◮ Up to now: i fi > 0 with all i xi > 0 ◮ Removing the condition ∧i xi > 0? ◮ Just consider every hyper-quadrant

x y f(x, y) > 0

slide-40
SLIDE 40

8/12

From positive to arbitrary solution

◮ Up to now: i fi > 0 with all i xi > 0 ◮ Removing the condition ∧i xi > 0? ◮ Just consider every hyper-quadrant

x y f(x, y) > 0 becomes x′ = −x y f(−x′, y) > 0

slide-41
SLIDE 41

8/12

From positive to arbitrary solution

◮ Up to now: i fi > 0 with all i xi > 0 ◮ Removing the condition ∧i xi > 0? ◮ Just consider every hyper-quadrant ◮ This can be encoded into the QF LRA SMT problem;

no need to check 2n formulas x y f(x, y) > 0 becomes x′ = −x y f(−x′, y) > 0

slide-42
SLIDE 42

9/12

Experimental results

◮ STROPSAT integrated in veriT (not the SMT-COMP version) ◮ Tested on SMT-LIB/QF NRA on suitable problems,

i.e. 4917/11601 files: 3265 sat, 106 unknown, 1546 unsat

◮ CVC4 used to handle linear solving ◮ 2500s timeout, 20GB

On 1546 unsat-labeled formulas: 200 unsat by LRA, cumulative time to fail on the 1346 others: 18.45s, max 0.1s Shows satisfiability for 2403 problems, including 15 “unknown” problems (and 9 where Z3 fails)

slide-43
SLIDE 43

10/12

Experimental results

0.01 0.1 1 10 100 1000 0.01 0.1 1 10 100 1000 STROPSAT Z3

When STROPSAT does not fail

◮ time comparable to Z3 ◮ sometimes succeeds alone ◮ if timeouts, Z3 too

0.01 0.1 1 10 100 1000 0.01 0.1 1 10 100 1000 STROPSAT Z3

STROPSAT is quick to fail

slide-44
SLIDE 44

11/12

Conclusion

◮ A heuristic, providing quick solutions, or failing quickly ◮ Good results for many SMT benchmarks ◮ Not sensitive to the number of variables; actually, gets

“better” when the number of variables grows

◮ Investigate its use in context where getting models is

paramount, i.e. testing phase of raSAT loop

◮ What can we do along these lines to help complete decision

procedures?

◮ Better understand when the method works

slide-45
SLIDE 45

12/12

Advertisement

Symbolic Computation and Satisfiability Checking http://www.sc-square.org/