Comparing Different Projection Operators in the Cylindrical - - PowerPoint PPT Presentation

comparing different projection operators in the
SMART_READER_LITE
LIVE PREVIEW

Comparing Different Projection Operators in the Cylindrical - - PowerPoint PPT Presentation

Comparing Different Projection Operators in the CAD for SMT Solving Comparing Different Projection Operators in the Cylindrical Algebraic Decomposition for SMT Solving Tarik Viehmann, Gereon Kremer , Erika brahm SC 2 Workshop July 29th Tarik


slide-1
SLIDE 1

Comparing Different Projection Operators in the Cylindrical Algebraic Decomposition for SMT Solving

Tarik Viehmann, Gereon Kremer, Erika Ábrahám

SC2 Workshop July 29th

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 0/17 Comparing Different Projection Operators in the CAD for SMT Solving Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 1/17

slide-2
SLIDE 2

1

Preliminaries

2

CAD

3

Experiments Projections SMT solving Incompleteness of McCallum / Brown Effects of squarefree basis

4

Conclusion

Comparing Different Projection Operators in the CAD for SMT Solving

Outline

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 2/17

slide-3
SLIDE 3

Definition (Nonlinear arithmetic)

Boolean combinations of polynomial constraints over reals

Comparing Different Projection Operators in the CAD for SMT Solving

Nonlinear arithmetic QF_NRA

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 3/17

slide-4
SLIDE 4

Definition (Nonlinear arithmetic)

Boolean combinations of polynomial constraints over reals

Example ∃x, y. x2 + y2 − 4 ≤ 0 ∧ (x2 − y + 0.5 < 0 ∨ x2 + 5 · y + 5 < 0)

Comparing Different Projection Operators in the CAD for SMT Solving

Nonlinear arithmetic QF_NRA

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 3/17

slide-5
SLIDE 5

ϕ

SAT solver Theory solver

theory constraints SAT + model

  • r

UNSAT + reason

SAT or UNSAT

Comparing Different Projection Operators in the CAD for SMT Solving

SMT Solving

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 4/17

slide-6
SLIDE 6

∃x, y. x2 + y2 − 4 ≤ 0 ∧ (x2 − y + 0.5 < 0 ∨ x2 + 5 · y + 5 < 0) x y

Comparing Different Projection Operators in the CAD for SMT Solving

Cylindrical Algebraic Decomposition

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 5/17

slide-7
SLIDE 7

∃x, y. x2 + y2 − 4 ≤ 0 ∧ (x2 − y + 0.5 < 0 ∨ x2 + 5 · y + 5 < 0) x y

◮ Where are solutions?

→ Sign-invariant regions

Comparing Different Projection Operators in the CAD for SMT Solving

Cylindrical Algebraic Decomposition

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 5/17

slide-8
SLIDE 8

∃x, y. x2 + y2 − 4 ≤ 0 ∧ (x2 − y + 0.5 < 0 ∨ x2 + 5 · y + 5 < 0) x y

◮ Where are solutions?

→ Sign-invariant regions

Comparing Different Projection Operators in the CAD for SMT Solving

Cylindrical Algebraic Decomposition

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 5/17

slide-9
SLIDE 9

∃x, y. x2 + y2 − 4 ≤ 0 ∧ (x2 − y + 0.5 < 0 ∨ x2 + 5 · y + 5 < 0) x y

◮ Where are solutions?

→ Sign-invariant regions

◮ What would a human do?

Comparing Different Projection Operators in the CAD for SMT Solving

Cylindrical Algebraic Decomposition

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 5/17

slide-10
SLIDE 10

∃x, y. x2 + y2 − 4 ≤ 0 ∧ (x2 − y + 0.5 < 0 ∨ x2 + 5 · y + 5 < 0) x y

◮ Where are solutions?

→ Sign-invariant regions

◮ What would a human do?

Comparing Different Projection Operators in the CAD for SMT Solving

Cylindrical Algebraic Decomposition

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 5/17

slide-11
SLIDE 11

∃x, y. x2 + y2 − 4 ≤ 0 ∧ (x2 − y + 0.5 < 0 ∨ x2 + 5 · y + 5 < 0) x y

◮ Where are solutions?

→ Sign-invariant regions

◮ What would a human do?

Comparing Different Projection Operators in the CAD for SMT Solving

Cylindrical Algebraic Decomposition

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 5/17

slide-12
SLIDE 12

∃x, y. x2 + y2 − 4 ≤ 0 ∧ (x2 − y + 0.5 < 0 ∨ x2 + 5 · y + 5 < 0) x y

◮ Where are solutions?

→ Sign-invariant regions

◮ What would a human do? ◮ What would CAD do?

Comparing Different Projection Operators in the CAD for SMT Solving

Cylindrical Algebraic Decomposition

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 5/17

slide-13
SLIDE 13

∃x, y. x2 + y2 − 4 ≤ 0 ∧ (x2 − y + 0.5 < 0 ∨ x2 + 5 · y + 5 < 0) x y

◮ Where are solutions?

→ Sign-invariant regions

◮ What would a human do? ◮ What would CAD do?

◮ First dimension x Comparing Different Projection Operators in the CAD for SMT Solving

Cylindrical Algebraic Decomposition

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 5/17

slide-14
SLIDE 14

∃x, y. x2 + y2 − 4 ≤ 0 ∧ (x2 − y + 0.5 < 0 ∨ x2 + 5 · y + 5 < 0) x y

◮ Where are solutions?

→ Sign-invariant regions

◮ What would a human do? ◮ What would CAD do?

◮ First dimension x Comparing Different Projection Operators in the CAD for SMT Solving

Cylindrical Algebraic Decomposition

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 5/17

slide-15
SLIDE 15

∃x, y. x2 + y2 − 4 ≤ 0 ∧ (x2 − y + 0.5 < 0 ∨ x2 + 5 · y + 5 < 0) x y

◮ Where are solutions?

→ Sign-invariant regions

◮ What would a human do? ◮ What would CAD do?

◮ First dimension x Comparing Different Projection Operators in the CAD for SMT Solving

Cylindrical Algebraic Decomposition

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 5/17

slide-16
SLIDE 16

∃x, y. x2 + y2 − 4 ≤ 0 ∧ (x2 − y + 0.5 < 0 ∨ x2 + 5 · y + 5 < 0) x y

◮ Where are solutions?

→ Sign-invariant regions

◮ What would a human do? ◮ What would CAD do?

◮ First dimension x Comparing Different Projection Operators in the CAD for SMT Solving

Cylindrical Algebraic Decomposition

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 5/17

slide-17
SLIDE 17

∃x, y. x2 + y2 − 4 ≤ 0 ∧ (x2 − y + 0.5 < 0 ∨ x2 + 5 · y + 5 < 0) x y

◮ Where are solutions?

→ Sign-invariant regions

◮ What would a human do? ◮ What would CAD do?

◮ First dimension x ◮ Second dimension y Comparing Different Projection Operators in the CAD for SMT Solving

Cylindrical Algebraic Decomposition

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 5/17

slide-18
SLIDE 18

∃x, y. x2 + y2 − 4 ≤ 0 ∧ (x2 − y + 0.5 < 0 ∨ x2 + 5 · y + 5 < 0) x y

◮ Where are solutions?

→ Sign-invariant regions

◮ What would a human do? ◮ What would CAD do?

◮ First dimension x ◮ Second dimension y Comparing Different Projection Operators in the CAD for SMT Solving

Cylindrical Algebraic Decomposition

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 5/17

slide-19
SLIDE 19

∃x, y. x2 + y2 − 4 ≤ 0 ∧ (x2 − y + 0.5 < 0 ∨ x2 + 5 · y + 5 < 0) x y

◮ Where are solutions?

→ Sign-invariant regions

◮ What would a human do? ◮ What would CAD do?

◮ First dimension x ◮ Second dimension y ◮ Test sample points Comparing Different Projection Operators in the CAD for SMT Solving

Cylindrical Algebraic Decomposition

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 5/17

slide-20
SLIDE 20

∃x, y. x2 + y2 − 4 ≤ 0 ∧ (x2 − y + 0.5 < 0 ∨ x2 + 5 · y + 5 < 0) x y

◮ Where are solutions?

→ Sign-invariant regions

◮ What would a human do? ◮ What would CAD do?

◮ First dimension x ◮ Second dimension y ◮ Test sample points Comparing Different Projection Operators in the CAD for SMT Solving

Cylindrical Algebraic Decomposition

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 5/17

slide-21
SLIDE 21

∃x, y. x2 + y2 − 4 ≤ 0 ∧ (x2 − y + 0.5 < 0 ∨ x2 + 5 · y + 5 < 0) x y

◮ Where are solutions?

→ Sign-invariant regions

◮ What would a human do? ◮ What would CAD do?

◮ First dimension x ◮ Second dimension y ◮ Test sample points Comparing Different Projection Operators in the CAD for SMT Solving

Cylindrical Algebraic Decomposition

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 5/17

slide-22
SLIDE 22

∃x, y. x2 + y2 − 4 ≤ 0 ∧ (x2 − y + 0.5 < 0 ∨ x2 + 5 · y + 5 < 0) x y

◮ Where are solutions?

→ Sign-invariant regions

◮ What would a human do? ◮ What would CAD do?

◮ First dimension x ◮ Second dimension y ◮ Test sample points Comparing Different Projection Operators in the CAD for SMT Solving

Cylindrical Algebraic Decomposition

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 5/17

slide-23
SLIDE 23

∃x, y. x2 + y2 − 4 ≤ 0 ∧ (x2 − y + 0.5 < 0 ∨ x2 + 5 · y + 5 < 0) x y

◮ Where are solutions?

→ Sign-invariant regions

◮ What would a human do? ◮ What would CAD do?

◮ First dimension x ◮ Second dimension y ◮ Test sample points Comparing Different Projection Operators in the CAD for SMT Solving

Cylindrical Algebraic Decomposition

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 5/17

slide-24
SLIDE 24

Pn ⊆ Z[x1, . . . , xn] Pn−1 ⊆ Z[x1, . . . , xn−1] . . . P1 ⊆ Z[x1] project project project

Comparing Different Projection Operators in the CAD for SMT Solving

Cylindrical Algebraic Decomposition

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 6/17

slide-25
SLIDE 25

Pn ⊆ Z[x1, . . . , xn] Pn−1 ⊆ Z[x1, . . . , xn−1] . . . P1 ⊆ Z[x1] project project project Zn ⊆ Zn−1 × R . . . Z2 ⊆ Z1 × R Z1 ⊆ R roots(P1) roots(P2 at Z1) roots(P3 at Z2) roots(Pn at Zn−1)

Comparing Different Projection Operators in the CAD for SMT Solving

Cylindrical Algebraic Decomposition

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 6/17

slide-26
SLIDE 26

Pn ⊆ Z[x1, . . . , xn] Pn−1 ⊆ Z[x1, . . . , xn−1] . . . P1 ⊆ Z[x1] project project project Zn ⊆ Zn−1 × R . . . Z2 ⊆ Z1 × R Z1 ⊆ R roots(P1) roots(P2 at Z1) roots(P3 at Z2) roots(Pn at Zn−1) Projection

Comparing Different Projection Operators in the CAD for SMT Solving

Cylindrical Algebraic Decomposition

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 6/17

slide-27
SLIDE 27

We consider:

◮ Collins ◮ Hong ◮ McCallum ◮ Brown

Comparing Different Projection Operators in the CAD for SMT Solving

Projection Operators

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 7/17

slide-28
SLIDE 28

We consider:

◮ Collins ◮ Hong ◮ McCallum ◮ Brown

Not considered:

◮ Lazard ◮ Seidl & Sturm ◮ Strzebo´

nski

◮ Brown & Košta ◮ ...

Comparing Different Projection Operators in the CAD for SMT Solving

Projection Operators

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 7/17

slide-29
SLIDE 29

Definition (Collins’ operator [Collins75]) proj1

C :=

  • p∈P

 coeffs(p) ∪

  • r∈RED(p)

PSC(r, r′)   proj2

C :=

  • p,q∈P
  • rp∈RED(p)

rq∈RED(q)

PSC(rp, rq) projC := proj1

C ∪ proj2 C

Comparing Different Projection Operators in the CAD for SMT Solving

Collins & Hong

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 8/17

slide-30
SLIDE 30

Definition (Hong’s operator [Hong90]) proj1

C :=

  • p∈P

 coeffs(p) ∪

  • r∈RED(p)

PSC(r, r′)   proj2

H :=

  • p,q∈P
  • rp∈RED(p)

PSC(rp, q) projH := proj1

C ∪ proj2 H

Comparing Different Projection Operators in the CAD for SMT Solving

Collins & Hong

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 8/17

slide-31
SLIDE 31

Definition (McCallum’s operator [McCallum84])

Let P be a squarefree basis.

proj1

M :=

  • p∈P

{disc(p)} ∪ coeffs(p) proj2

M :=

  • p,q∈P

{res(p, q)} projM := proj1

M ∪ proj2 M

Incomplete!

Comparing Different Projection Operators in the CAD for SMT Solving

McCallum & Brown

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 9/17

slide-32
SLIDE 32

Definition (Brown’s operator [Brown01])

Let P be a squarefree basis.

proj1

B :=

  • p∈P

{disc(p)} ∪ {lcf(p)} proj2

M :=

  • p,q∈P

{res(p, q)} projB := proj1

B ∪ proj2 M

Incomplete!

Comparing Different Projection Operators in the CAD for SMT Solving

McCallum & Brown

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 9/17

slide-33
SLIDE 33

◮ SMT-RAT

◮ Projections: CAD only ◮ SMT solving: SAT + VS + CAD Comparing Different Projection Operators in the CAD for SMT Solving

Experiments

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 10/17

slide-34
SLIDE 34

◮ SMT-RAT

◮ Projections: CAD only ◮ SMT solving: SAT + VS + CAD ◮

No squarefree basis, no delineating polynomials (McCallum), no additional points (Brown)

But: fully incremental, early abort

Comparing Different Projection Operators in the CAD for SMT Solving

Experiments

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 10/17

slide-35
SLIDE 35

◮ SMT-RAT

◮ Projections: CAD only ◮ SMT solving: SAT + VS + CAD ◮

No squarefree basis, no delineating polynomials (McCallum), no additional points (Brown)

But: fully incremental, early abort

◮ QF_NRA from SMT-COMP 2014 ◮ Timeout 60s

Comparing Different Projection Operators in the CAD for SMT Solving

Experiments

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 10/17

slide-36
SLIDE 36

◮ SMT-RAT

◮ Projections: CAD only ◮ SMT solving: SAT + VS + CAD ◮

No squarefree basis, no delineating polynomials (McCallum), no additional points (Brown)

But: fully incremental, early abort

◮ QF_NRA from SMT-COMP 2014 ◮ Timeout 60s ◮ Analyzed:

◮ Different projection operators ◮ Different projection orders Comparing Different Projection Operators in the CAD for SMT Solving

Experiments

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 10/17

slide-37
SLIDE 37

◮ SMT-RAT

◮ Projections: CAD only ◮ SMT solving: SAT + VS + CAD ◮

No squarefree basis, no delineating polynomials (McCallum), no additional points (Brown)

But: fully incremental, early abort

◮ QF_NRA from SMT-COMP 2014 ◮ Timeout 60s ◮ Analyzed:

◮ Different projection operators ◮ Different projection orders

◮ Not analyzed yet:

◮ Different variable orderings ◮ Different lifting orders Comparing Different Projection Operators in the CAD for SMT Solving

Experiments

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 10/17

slide-38
SLIDE 38

◮ Project all polynomials, ignore boolean structure ◮ 5698 benchmarks such that all projections terminated

Comparing Different Projection Operators in the CAD for SMT Solving

Projection sizes

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 11/17

slide-39
SLIDE 39

◮ Project all polynomials, ignore boolean structure ◮ 5698 benchmarks such that all projections terminated ◮ On average 6.4 polynomials of degree 5.2 (total degree 6.1) ◮ Rarely more than 5 variables

Comparing Different Projection Operators in the CAD for SMT Solving

Projection sizes

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 11/17

slide-40
SLIDE 40

◮ Project all polynomials, ignore boolean structure ◮ 5698 benchmarks such that all projections terminated ◮ On average 6.4 polynomials of degree 5.2 (total degree 6.1) ◮ Rarely more than 5 variables

Level 1 Level 2 Level 3 Level 4 Collins

10.9 / 7.8

Hong

8.6 / 7.8

McCallum

6.1 / 6.7

Brown

5.3 / 6.7

Comparing Different Projection Operators in the CAD for SMT Solving

Projection sizes

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 11/17

slide-41
SLIDE 41

◮ Project all polynomials, ignore boolean structure ◮ 5698 benchmarks such that all projections terminated ◮ On average 6.4 polynomials of degree 5.2 (total degree 6.1) ◮ Rarely more than 5 variables

Level 1 Level 2 Level 3 Level 4 Collins

10.9 / 7.8 783.1 / 26.4

Hong

8.6 / 7.8 158.8 / 26.2

McCallum

6.1 / 6.7 16.7 / 13.3

Brown

5.3 / 6.7 11.6 / 13.5

Comparing Different Projection Operators in the CAD for SMT Solving

Projection sizes

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 11/17

slide-42
SLIDE 42

◮ Project all polynomials, ignore boolean structure ◮ 5698 benchmarks such that all projections terminated ◮ On average 6.4 polynomials of degree 5.2 (total degree 6.1) ◮ Rarely more than 5 variables

Level 1 Level 2 Level 3 Level 4 Collins

10.9 / 7.8 783.1 / 26.4 117.0 / 11.9

Hong

8.6 / 7.8 158.8 / 26.2 20.2 / 11.7

McCallum

6.1 / 6.7 16.7 / 13.3 5.1 / 5.3

Brown

5.3 / 6.7 11.6 / 13.5 4.7 / 5.1

Comparing Different Projection Operators in the CAD for SMT Solving

Projection sizes

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 11/17

slide-43
SLIDE 43

◮ Project all polynomials, ignore boolean structure ◮ 5698 benchmarks such that all projections terminated ◮ On average 6.4 polynomials of degree 5.2 (total degree 6.1) ◮ Rarely more than 5 variables

Level 1 Level 2 Level 3 Level 4 Collins

10.9 / 7.8 783.1 / 26.4 117.0 / 11.9 15.6 / 5.3

Hong

8.6 / 7.8 158.8 / 26.2 20.2 / 11.7 10.3 / 5.1

McCallum

6.1 / 6.7 16.7 / 13.3 5.1 / 5.3 7.9 / 3.8

Brown

5.3 / 6.7 11.6 / 13.5 4.7 / 5.1 5.5 / 3.5

Comparing Different Projection Operators in the CAD for SMT Solving

Projection sizes

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 11/17

slide-44
SLIDE 44

◮ Project all polynomials, ignore boolean structure ◮ 5698 benchmarks such that all projections terminated ◮ On average 6.4 polynomials of degree 5.2 (total degree 6.1) ◮ Rarely more than 5 variables

Level 1 Level 2 Level 3 Level 4 Collins

10.9 / 7.8 783.1 / 26.4 117.0 / 11.9 15.6 / 5.3

Hong

8.6 / 7.8 158.8 / 26.2 20.2 / 11.7 10.3 / 5.1

McCallum

6.1 / 6.7 16.7 / 13.3 5.1 / 5.3 7.9 / 3.8

Brown

5.3 / 6.7 11.6 / 13.5 4.7 / 5.1 5.5 / 3.5

◮ Theory: projB ⊆ projM ⊆ projH ⊆ projC

Comparing Different Projection Operators in the CAD for SMT Solving

Projection sizes

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 11/17

slide-45
SLIDE 45

◮ Project all polynomials, ignore boolean structure ◮ 5698 benchmarks such that all projections terminated ◮ On average 6.4 polynomials of degree 5.2 (total degree 6.1) ◮ Rarely more than 5 variables

Level 1 Level 2 Level 3 Level 4 Collins

10.9 / 7.8 783.1 / 26.4 117.0 / 11.9 15.6 / 5.3

Hong

8.6 / 7.8 158.8 / 26.2 20.2 / 11.7 10.3 / 5.1

McCallum

6.1 / 6.7 16.7 / 13.3 5.1 / 5.3 7.9 / 3.8

Brown

5.3 / 6.7 11.6 / 13.5 4.7 / 5.1 5.5 / 3.5

◮ Theory: projB ⊆ projM ⊆ projH ⊆ projC ◮ Hong may be viable if incompleteness of McCallum is an issue

Comparing Different Projection Operators in the CAD for SMT Solving

Projection sizes

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 11/17

slide-46
SLIDE 46

◮ 5698 benchmarks from before ◮ Incremental calls from SAT module ◮ Incremental projection, early abort if satisfying solution is found

Comparing Different Projection Operators in the CAD for SMT Solving

SMT solving performance

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 12/17

slide-47
SLIDE 47

◮ 5698 benchmarks from before ◮ Incremental calls from SAT module ◮ Incremental projection, early abort if satisfying solution is found ◮ ⇒ Size of projection may not be that crucial

Comparing Different Projection Operators in the CAD for SMT Solving

SMT solving performance

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 12/17

slide-48
SLIDE 48

◮ 5698 benchmarks from before ◮ Incremental calls from SAT module ◮ Incremental projection, early abort if satisfying solution is found ◮ ⇒ Size of projection may not be that crucial

Operator Solved Timeout Collins

5041 657

Hong

5125 573

McCallum

5284 414

Brown

5299 399

Comparing Different Projection Operators in the CAD for SMT Solving

SMT solving performance

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 12/17

slide-49
SLIDE 49

◮ Similar behaviour, but some outliers in both directions

Comparing Different Projection Operators in the CAD for SMT Solving

McCallum vs. Brown

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 13/17

slide-50
SLIDE 50

◮ Similar behaviour, but some outliers in both directions ◮ Make behaviour different

Comparing Different Projection Operators in the CAD for SMT Solving

McCallum vs. Brown

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 13/17

slide-51
SLIDE 51

◮ Similar behaviour, but some outliers in both directions ◮ Make behaviour different ◮ Modify Brown: Consider resultants last for projection

Comparing Different Projection Operators in the CAD for SMT Solving

McCallum vs. Brown

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 13/17

slide-52
SLIDE 52

◮ Similar behaviour, but some outliers in both directions ◮ Make behaviour different ◮ Modify Brown: Consider resultants last for projection

20 40 60 20 40 60 TO TO

runtime of McCallum runtime of Brown

Comparing Different Projection Operators in the CAD for SMT Solving

McCallum vs. Brown

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 13/17

slide-53
SLIDE 53

◮ McCallum and Brown are incomplete ◮ Is this a problem in practice?

Comparing Different Projection Operators in the CAD for SMT Solving

Incompleteness of McCallum / Brown

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 14/17

slide-54
SLIDE 54

◮ McCallum and Brown are incomplete ◮ Is this a problem in practice? ◮ 510 out of 5889 benchmarks (may be fixed by delineating polynomials or additional points)

Comparing Different Projection Operators in the CAD for SMT Solving

Incompleteness of McCallum / Brown

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 14/17

slide-55
SLIDE 55

◮ McCallum and Brown are incomplete ◮ Is this a problem in practice? ◮ 510 out of 5889 benchmarks (may be fixed by delineating polynomials or additional points) ◮ 353 were found to be satisfiable ◮ 157 were found to be unsatisfiable

Comparing Different Projection Operators in the CAD for SMT Solving

Incompleteness of McCallum / Brown

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 14/17

slide-56
SLIDE 56

◮ McCallum and Brown are incomplete ◮ Is this a problem in practice? ◮ 510 out of 5889 benchmarks (may be fixed by delineating polynomials or additional points) ◮ 353 were found to be satisfiable ◮ 157 were found to be unsatisfiable ◮ All are correct!

Comparing Different Projection Operators in the CAD for SMT Solving

Incompleteness of McCallum / Brown

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 14/17

slide-57
SLIDE 57

◮ McCallum and Brown are incomplete ◮ Is this a problem in practice? ◮ 510 out of 5889 benchmarks (may be fixed by delineating polynomials or additional points) ◮ 353 were found to be satisfiable ◮ 157 were found to be unsatisfiable ◮ All are correct! ◮ ⇒ not a pressing issue on our SMT benchmarks

Comparing Different Projection Operators in the CAD for SMT Solving

Incompleteness of McCallum / Brown

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 14/17

slide-58
SLIDE 58

◮ McCallum / Brown require Pk to be a squarefree basis ◮ Difficult to compute ignored until now

Comparing Different Projection Operators in the CAD for SMT Solving

Effects of squarefree basis

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 15/17

slide-59
SLIDE 59

◮ McCallum / Brown require Pk to be a squarefree basis ◮ Difficult to compute ignored until now ◮ Using CoCoALib

Comparing Different Projection Operators in the CAD for SMT Solving

Effects of squarefree basis

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 15/17

slide-60
SLIDE 60

◮ McCallum / Brown require Pk to be a squarefree basis ◮ Difficult to compute ignored until now ◮ Using CoCoALib ◮ Overall solving is about 10% slower ◮ But less timeouts! McCallum: 889 → 739, Brown: 842 → 739 ◮ McCallum closes in on Brown!

Comparing Different Projection Operators in the CAD for SMT Solving

Effects of squarefree basis

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 15/17

slide-61
SLIDE 61

◮ McCallum / Brown require Pk to be a squarefree basis ◮ Difficult to compute ignored until now ◮ Using CoCoALib ◮ Overall solving is about 10% slower ◮ But less timeouts! McCallum: 889 → 739, Brown: 842 → 739 ◮ McCallum closes in on Brown! ◮ ⇒ usually detrimental, sometimes essential

required for correctness!

Comparing Different Projection Operators in the CAD for SMT Solving

Effects of squarefree basis

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 15/17

slide-62
SLIDE 62

◮ Overall trend matches theoretical expectation ◮ Individual examples may vary wildly ◮ ⇒ Portfolio?

Comparing Different Projection Operators in the CAD for SMT Solving

Conclusion

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 16/17

slide-63
SLIDE 63

◮ Overall trend matches theoretical expectation ◮ Individual examples may vary wildly ◮ ⇒ Portfolio? ◮ Incompleteness is not a pressing issue (for us) ◮ Computing squarefree basis is rather expensive

Comparing Different Projection Operators in the CAD for SMT Solving

Conclusion

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 16/17

slide-64
SLIDE 64

◮ Overall trend matches theoretical expectation ◮ Individual examples may vary wildly ◮ ⇒ Portfolio? ◮ Incompleteness is not a pressing issue (for us) ◮ Computing squarefree basis is rather expensive ◮ Adapt variable ordering? ◮ Effects of delineating polynomials and additional points?

Comparing Different Projection Operators in the CAD for SMT Solving

Conclusion

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 16/17

slide-65
SLIDE 65

Chistopher W. Brown, Improved projection for cylindrical algebraic decomposition, JSC 32 (2001). George E. Collins, Quantifier elimination for real closed fields by cylindrical algebraic decompostion, ATFL ’75. Hoon Hong, An improvement of the projection operator in cylindrical algebraic decomposition, ISSAC ’90. Scott McCallum, An improved projection operation for cylindrical algebraic decomposition, Ph.D. thesis, 1984.

Comparing Different Projection Operators in the CAD for SMT Solving

References

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 17/17

slide-66
SLIDE 66

Definition (Polynomials) p = m

i=0 ai · xi n in main variable xn and ai ∈ R[x1, ..., xn−1].

Definition (Simple properties) coeffs(p) := {a0, ..., am} lcf(p) := am redk(p) :=

m−k

  • i=0

ai · xi

n

red(p) := {redk(p) | k = 0 . . . m}

Comparing Different Projection Operators in the CAD for SMT Solving

Notation

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 18/17

slide-67
SLIDE 67

Syl(p, q) := ak · · · a0 ak · · · a0 ... ... ak · · · a0 bl · · · b0 bl · · · b0 ... ... bl · · · b0                             l k

Comparing Different Projection Operators in the CAD for SMT Solving

Building blocks

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 19/17

slide-68
SLIDE 68

Mj(p, q) := ak · · · a0 ak · · · a0 ... ... ak · · · a0 bl · · · b0 bl · · · b0 ... ... bl · · · b0                             l − j k − j

Comparing Different Projection Operators in the CAD for SMT Solving

Building blocks

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 19/17

slide-69
SLIDE 69

Mj(p, q) := ak · · · a0 ak · · · a0 ... ... ak · · · a0 bl · · · b0 bl · · · b0 ... ... bl · · · b0                             l − j k − j

Definition (Principal subresultant coefficients) psci(p, q) := det(Mi) PSC(p, q) := {psci | i = 0 . . . min(k, l)}

Comparing Different Projection Operators in the CAD for SMT Solving

Building blocks

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 19/17

slide-70
SLIDE 70

Definition (Resultant) res(p, q) := det(Syl(p, q)) p, q have a common root ⇔ res(p, q) has a root x y Definition (Discriminant) disc(p) := res(p, p′) p has a multiple root ⇔ disc(p) has a root x y

Comparing Different Projection Operators in the CAD for SMT Solving

Building blocks

Tarik Viehmann, Gereon Kremer, Erika Ábrahám | SC2 Workshop | July 29th 20/17