<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Experience with Heuristics, Benchmarks &amp; Standards for Cylindrical Algebraic Decomposition</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Matthew England</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>James H. Davenporty</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Coventry University Faculty of Engineering</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Environment</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Computing</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Coventry</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>U.K. Email: Matthew.England@coventry.ac.uk</string-name>
        </contrib>
      </contrib-group>
      <abstract>
        <p>-In the paper which inspired the SC2 project, [E. A´ bra´ham, Building Bridges between Symbolic Computation and Satisfiability Checking, Proc. ISSAC '15, pp. 1-6, ACM, 2015] the author identified the use of sophisticated heuristics as a technique that the Satisfiability Checking community excels in and from which it is likely the Symbolic Computation community could learn and prosper. To start this learning process we summarise our experience with heuristic development for the computer algebra algorithm Cylindrical Algebraic Decomposition. We also propose and discuss standards and benchmarks as another area where Symbolic Computation could prosper from Satisfiability Checking expertise, noting that these have been identified as initial actions for the new SC2 community in the CSA project, as described in [E. A´ bra´ham et al., SC2: Satisfiability Checking meets Symbolic Computation (Project Paper), Intelligent Computer Mathematics (LNCS 9761), pp. 28-43, Springer, 2015].</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>I. INTRODUCTION</title>
      <p>
        This article is inspired by the SC2 project1, a new initiative
to forge a joint community from the existing fields of Symbolic
Computation and Satisfiability Checking. For further details
on the project we refer the reader to:
[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] which introduced the two fields, describes some
of the challenges and opportunities from working
together, and outlines planned project actions; and
[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] the accompanying paper to an invited talk at
ISSAC 2015 which inspired the creation of the new
project and community.
      </p>
      <p>
        Within [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] the author outlines the strengths and weaknesses of
the two communities, writing in the introduction:
“Symbolic Computation is strong in providing
powerful procedures for sets (conjunctions) of arithmetic
constraints, but it does not exploit the achievements
in SMT solving for efficiently handling logical
fragments, using heuristics and learning to speed-up the
search for satisfying solutions.”
By heuristic the we mean a practical method to make a choice
which is not guaranteed to be optimal. Although Computer
Algebra Systems prize correctness and exact solutions there
is still much scope for the use of heuristics and statistical
methods in symbolic computation algorithms: both for tuning
how individual algorithm are run and for selecting a particular
algorithm to use in the first place. In regards to the latter point,
we note that the solve procedures in Computer Algebra
Systems are really meta-algorithms: algorithms to select specific
procedures to use based on problem parameters. Although
the individual procedures are usually well documented within
the scientific literature we are not aware of any publications
describing these meta-algorithms.
      </p>
      <p>
        Another topic where Symbolic Computation might benefit
from experience in Satisfiability Checking is standards and
benchmarks. Competitions based on these form an integral
part of the Satisfiability Checking community, and may have
contributed to the remarkable progress made in practical
algorithms. The lack of a comparable focus for the Symbolic
Computation community was acknowledged in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. However,
recent experiments have suggested the benchmarks for
nonlinear real arithmetic are insufficient and the development of
new standards and benchmarks for the joint community has
been identified as a key SC2 project action in [2, Section 3.3].
      </p>
      <p>In the present paper we outline our experience of these
issues for a single Symbolic Computation algorithm,
Cylindrical Algebraic Decomposition (CAD). The aim of the paper is
to instigate the learning process from the Satisfiability
Checking community by illustrating the current use of heuristics,
benchmarks and standards in (at least one area of) Symbolic
Computation and posing some questions. We start with a
summary of the necessary background on CAD in Section II,
then survey work with heuristics in CAD in Section III and
our experience with standards and benchmarks in Section IV.
We finish with conclusions and questions in Section V.</p>
      <p>II.</p>
    </sec>
    <sec id="sec-2">
      <title>CYLINDRICAL ALGEBRAIC DECOMPOSITION</title>
      <sec id="sec-2-1">
        <title>A. Definition</title>
        <p>A Cylindrical Algebraic Decomposition (CAD) is a
decomposition of Rn into cells (connected subsets). By algebraic
we mean semi-algebraic: i.e. each cell can be described with
a finite sequence of polynomial constraints. Finally, the cells
are arranged cylindrically, meaning the projections of any
pair, with respect to the variable ordering in which the CAD
was created, are either equal or disjoint. We assume variables
labelled according to their ordering (so the projections
considered are (x1; : : : ; x`) ! (x1; : : : ; xk) for k &lt; `) with the
highest ordered variable present said to be the main variable.</p>
        <p>Hence CADs can be represented in a tree like format branching
on the semi-algebraic conditions involving increasing main
variable, as in the example below (with the branching from
right to left; all p indicating the positive root; and the tuples
Copyright c by the paper's authors. Copying permitted for private and academic purposes.
on the left sample points of the cells).
8( 2; 0)
&gt;
&gt;
&gt;
&gt;
&gt;
&gt;&gt;&gt;8( 1; 1)
&gt;&gt;&gt;&lt;
&gt;&gt; ( 1; 0)
&gt;
&gt;&gt;&gt;:( 1; 1)
&gt;
&gt;
&gt;
&gt;
&gt;
&gt;&gt;&gt;8(0; 2)
&gt;
&gt;&gt;
&gt;&gt;
&gt;&gt;&gt;&lt;&gt;&gt;&gt;&lt;(0; 1)</p>
        <p>(0; 0)
&gt;&gt;&gt;&gt;(0; 1)
&gt;&gt;
&gt;&gt;
&gt;&gt;&gt;:(0; 2)
&gt;
&gt;
&gt;
&gt;
&gt;
&gt;
&gt;&gt;&gt;8(1; 1)
&gt;&gt;&gt;&lt;
&gt;&gt; (1; 0)
&gt;
&gt;&gt;&gt;:(1; 1)
&gt;
&gt;
&gt;
&gt;
&gt;
&gt;
:&gt;(2; 0)
y &lt; 0
y = 0
0 &lt; y
p
p
y &lt; x2 + 1
y = x2 + 1
p x2 + 1 &lt; y &lt; p
y = +p x2 + 1
p x2 + 1 &lt; y
y &lt; 0
y = 0
0 &lt; y
x &lt;
x =
1
1
A CAD is produced to be invariant for input; originally
signinvariant for a set of input polynomials (so on each cell each
polynomial is positive, zero or negative). The example above
is a sign invariant CAD for the polynomial x2 +y2 1 defining
the unit circle. More recently CADs have been produced
truthinvariant for input Boolean-valued polynomial formulae. A
sign-invariant CAD for the polynomials in a formula is also
truth-invariant for the formula; but we can often achieve
truthinvariance with far less cells. For example suppose we need a
CAD truth-invariant for the formula
x2 + y2
1 = 0 ^ (x
1)2 + y2
1 = 0:
A sign-invariant CAD would require 55 cells (with the full
dimensional ones shown on the left of Figure 1). However, a
truth-invariant CAD would need only 7 cells: 2 of which are
full dimension (as on the right of Figure 1) and 5 more to
decompose the line x = 21 at the points of intersection.</p>
      </sec>
      <sec id="sec-2-2">
        <title>B. Computation</title>
        <p>CAD construction usually involves two phases. The first
projection, applies operators recursively on polynomials,
starting with the input. Each time the operator produces a set
with one less variable which together define the projection
polynomials. These are used in the second phase, lifting, to
Fig. 1. Example visualising sign and truth-invariant CADs
build CADs of increasing dimension. First a CAD of R1 is
built by splitting on the real roots of the univariate polynomials
(those in x1 only). Next, a CAD of R2 is built by repeating
the process over each cell in R1 with the bivariate polynomials
in (x1; x2) evaluated at a sample point of the cell in R1; and
the process is repeated until a CAD of Rn is produced. We
call the cells where a polynomial vanishes sections and those
regions in-between sectors, which together form the stack over
the cell. In each lift we extrapolate the conclusions drawn from
working at a sample point to the whole cell requiring validity
theorems for the projection operator used.</p>
        <p>CAD cells are represented by at least a sample point (as
in the left of the example above), and an index: a list of
positive integers with each integer indicating the section or
stack each variable is within (in reference to the ordered roots
of the projection polynomials). Some implementations will
also encode the full algebraic description within each cell.</p>
        <p>
          CAD was originally introduced by Collins for quantifier
elimination (QE) in real closed fields [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. Although CAD
construction has complexity doubly exponential in the number of
variables [
          <xref ref-type="bibr" rid="ref26">26</xref>
          ], applications range from parametric optimisation
[
          <xref ref-type="bibr" rid="ref34">34</xref>
          ] and epidemic modelling [
          <xref ref-type="bibr" rid="ref16 ref66">16</xref>
          ], to reasoning with
multivalued functions [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ] and the derivation of optimal numerical
schemes [33]. There have been many improvements to Collins’
original approach most notably refinements to the projection
operators [50] [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ], [53]; early termination of lifting [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ]
[62]; and symbolic-numeric schemes [58], [42]. Some recent
advances include dealing with multiple formulae [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ], [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]; local
projection [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ], [60]; and decompositions via complex space
[
          <xref ref-type="bibr" rid="ref21">21</xref>
          ], [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. For a more detailed introduction to CAD see e.g. [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ].
        </p>
        <p>III.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>HEURISTIC USE FOR CAD</title>
      <sec id="sec-3-1">
        <title>A. Choosing the variable ordering</title>
        <p>The most well known choice required for CAD is that
of the variable ordering, which the cylindricity is defined
with respect to. This determines the order in which variables
are eliminated during projection and the subspaces through
which CADs are built incrementally during lifting. When using
CAD for QE we must project variables in the order they are
quantified, but we are free to project the other variables in any
order (and to change the order within quantifier blocks).</p>
        <p>
          The variable ordering used can have a great effect on the
output produced. For example, let f := (x 1)(y2 + 1) 1
and consider the minimal sign-invariant CAD in each variable
ordering, as visualised in Figure 2. In each case we project
down with the left figure projecting x first and the right y.
In this toy example the “wrong” choice more than doubles
the number of cells, while numerous experiments have shown
that for larger examples the choice can determine whether a
problem is tractable (see for example the experimental results
in [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]). At the extreme end of this observation, [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ] defined
a class of examples where changing variable ordering would
change the number of cells required from constant to doubly
exponential in the number of variables.
        </p>
        <p>Several heuristics have been developed to choose the variable
ordering, including:</p>
        <p>Brown: Use the following criteria, starting with the first
and breaking ties with successive ones:
(1) Eliminate variable if lowest overall degree.
(2) Eliminate variable if lowest (maximum) total
degree in terms in which it occurs.
(3) Eliminate variable if smallest number of terms
contains it.</p>
        <p>
          Suggested by Brown in [13, Section 5.2].
sotd: For all admissible orderings, calculate the
projection set and choose the one with smallest sum of
total degrees for each of the monomials in each
of the polynomials [
          <xref ref-type="bibr" rid="ref27">27</xref>
          ]. Performs well but more
costly than Brown. A greedy alternative is to
allocate one variable of the ordering at a time by
projecting each unallocated variable and choosing
the one which increases the sotd least.
ndrr: As with sotd construct the full projection set
and choose the ordering whose set has the least
number of distinct real roots of the univariate
polynomials within [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]. Even more costly than
sotd, but sensitive to the real geometry and
shown to assist with examples where the sotd
heuristic failed.
        </p>
        <p>The papers cited each contain experimental results
demonstrating their worth. In [39] the results of an experiment comparing
the 3 on a data set of over 7000 examples were reported. The
experiments showed Brown selecting the best ordering (as
measured by lowest cell count) more often than the others.
However a key finding was that there were substantial subsets
of examples for which each heuristic did best. Further, when
calculating the saving made by the heuristics (compared to the
average cell count of the different orderings) the authors of [39]
found that sotd actually made a greater saving for quantified
problems on average (i.e. while Brown was superior on
more examples, sotd was superior on examples with greater
savings on offer). Together, this meant that recommending one
heuristic at the expense of all others was not possible.</p>
        <p>If the minimal cell count is a priority then one further
approach, suggested in [64] is to compute the full dimensional
cells for each possible ordering and pick the ordering with the
minimum to derive a full CAD. Computing full dimensional
cells avoids any work with algebraic numbers and so is not
as costly as may be thought, although it does require more
computation than ndrr. It was noted in [64] that the
fulldimensional cell calculations could be done in parallel with the
first to finish extended to a full CAD and the rest discarded.</p>
      </sec>
      <sec id="sec-3-2">
        <title>B. Choices with equational constraints</title>
        <p>
          1) Equational constraints: There are several ways in which
we can modify CAD constriction to achieve truth-invariance
(rather than sign-invariance) including refining sign-invariant
CAD and truncating lifting once the truth-value is determined.
A particularly fruitful approach is to take advantage of the
Fig. 2. CADs under different variable orderings
Booloean structure of a formula through the identification of
Equational Constraints (ECs): polynomial equations logically
implied by a formula. Reduced projection operators (using a
subset of the usual polynomials) have been proven valid for use
when an EC is present with corresponding main variable [51],
[52]. Results in [
          <xref ref-type="bibr" rid="ref29">29</xref>
          ], [31] suggest that the double exponent
in the complexity bound decreases by 1 for each EC used,
although this is restricted to primitive ECs meaning the classic
lower-bound examples of [
          <xref ref-type="bibr" rid="ref26">26</xref>
          ], [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ] are not violated [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ].
        </p>
        <p>
          These reduced operators can only use one EC for each
projection, so when there are multiple we must make a
designation. Note that ECs need not appear explicitly as atoms
(formula with no logical connectives) in the input formula, but
could instead be implicit. For example, the resultant of any two
ECs in the same main variable is itself an EC (not containing
that variable) [52]. Propagating ECs in this way allows for the
maximal use of the reduced operators. However, it can require
multiple choices of which EC to designate at each projection.
Section 4 of [
          <xref ref-type="bibr" rid="ref29">29</xref>
          ] described such an example where the wrong
designation could make add tens of thousands to the cell count
of the final output, making it more than 15 times bigger.
        </p>
        <p>
          2) Making the designation: In [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] the authors experimented
in using the sotd and ndrr measures on this question (the
Brown heuristic was not applicable since it acted only on the
input polynomials). In general they were useful in
identifying the optimal designation, although both could be misled.
As described above these heuristics essentially complete the
projection stage of the algorithm for each ordering, which
although minimal in comparison to the lifting stage, is likely
far more computation than would normally be undertaken by a
heuristic. This becomes an issue when the number of choices
grows. Further, for these experiments a fixed variable ordering
was used, and the question of addressing the two choices
together (when the number of possibilities multiplies) has not
been addressed.
        </p>
        <p>
          3) Designation in TTICAD: In [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ], [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] a truth-table
invariant CAD (TTICAD) is defined as a CAD on whose cells
the truth-table for a set of formulae is invariant. A new
operator was presented which takes advantage of ECs present
in the separate formulae (with [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] developing the theory in the
case where all had an EC and [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] extending to the general
case). The operator essentially recognises when to consider
the interaction of polynomials from different formulae. If an
individual formula has multiple ECs then, as above, we must
choose just one to designate for each projection.
        </p>
      </sec>
      <sec id="sec-3-3">
        <title>C. Choices for CAD by Regular Chains</title>
        <p>
          Recently an alternative CAD computational scheme has
been proposed where, instead of projection and lifting, we: first
cylindrically decompose complex space according to whether
polynomials are zero or not using the theory of triangular
decomposition by regular chains; and then refine to a CAD of
real space. This was first proposed in [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ] with an incremental
version described in [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ] and an extension to TTICAD in [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ].
All versions are implemented within the RegularChains
Library2 with a summary in [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ].
        </p>
        <p>Most of the heuristics outlined earlier in this section are not
directly applicable to the CAD by Regular Chains computation
2www.regularchains.org
scheme (as there is no “cheap” projection phase to derive
information from). We outline some of the new heuristics
developed for the choices this scheme involves.</p>
        <p>
          1) Variable order in TTICAD by Regular Chains: This
problem was considered in [30]. Two existing heuristics were
compared: that of Brown introduced in Section III-A and
another, denoted Triangular, already in use for other algorithms
in the RegularChains Library. Triangular chooses first the
variable with lowest degree occurring in the input; then breaks
ties by choosing variables for which leading coefficients have
lowest total degree; and finally sum of degrees in input. In
addition the heuristics sotd and ndrr discussed above were
used (even though the sets of projection polynomials built were
not explicitly used later). The experiments found sotd to
make the best choices, but due to its higher costs the Triangular
heuristic was the most efficient choice overall. However, as
with the experiments discussed in Section III-A, the example
set could be subdivided into groups where different
heuristics were dominant. Further experimentation and illustrative
examples in [30] led to the development of a new heuristic
(composed from parts of the others) tailored to the variable
ordering choice for TTICAD by Regular Chains [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ].
        </p>
        <p>
          2) Constraint order in TTICAD by Regular Chains: The
latest CAD algorithm within the RegularChains Library
[
          <xref ref-type="bibr" rid="ref20">20</xref>
          ] processes constraints incrementally when building the
complex cylindrical decomposition and thus are sensitive to
the order in which constraints are considered. Further, in the
case of TTICAD we have the extra question of what order to
consider the formulae in. These issues were studied in [
          <xref ref-type="bibr" rid="ref28">28</xref>
          ]
which considered the following example.
        </p>
        <p>Assume the ordering x</p>
        <p>y and consider
f1 := x2 + y2</p>
        <p>1;
f2 := 2y2
f3 := (x</p>
        <p>x;
5)2 + (y
1)2</p>
        <p>1;
1 := f1 = 0 ^ f2 = 0;
2 := f3 = 0:
The polynomials are graphed within the plots of Figure 3. If
we want to study the truth of 1 and 2 (or say a parent
formula 1 _ 2) we need a TTICAD to take advantage of the
ECs. There are two possible orders for the formulae and two
possible to consider the constraints within 1. Hence 4 possible
ways we could calculate a TTICAD by Regular Chains. Below
we show how many cells are produced by proceeding in the
orders indicated, with the two dimensional cells shown in
Figure 3.</p>
        <p>1 !
1 !
2 !
2 !
2 and f1 ! f2: 37 cells.
2 and f2 ! f1: 81 cells.
1 and f1 ! f2: 25 cells.</p>
        <p>1 and f2 ! f1: 43 cells.</p>
        <p>
          No previously discussed heuristic was applicable to this
problem. For choosing which EC to process first in a given
formula an argument could be made for measuring a set
of polynomials shown to be rendered sign-invariant by the
algorithm (leading to Heuristic 1 in [
          <xref ref-type="bibr" rid="ref28">28</xref>
          ]). The only heuristic
derived for the other choices was to measure the sum of
degrees of the polynomials in the complex cylindrical
decomposition created. As with the ndrr and full dimensional cells
heuristics above; this requires more computation than is ideal
(although it is the real root refinement that makes up the bulk
of the CAD by Regular Chains computation time).
        </p>
      </sec>
      <sec id="sec-3-4">
        <title>D. Gro¨bner Basis preconditioning</title>
        <p>
          A Gro¨bner Basis G is a particular generating set of an
ideal I defined with respect to a monomial ordering [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]. One
definition is that the ideal generated by the leading terms of I
is generated by the leading terms of G. Gro¨bner Bases (GB)
are used extensively to study ideals and the polynomials that
define them as they allow properties such as dimension and
number of zeros to be easily deduced. Although like CAD
the calculation of GB is doubly exponential in the worst case
[48], GB computation is now mostly trivial for any problem
on which CAD construction is tractable.
        </p>
        <p>
          It was first observed in [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ] that replacing a conjunction of
polynomial equalities in a CAD problem by their GB (logically
equivalent) could be useful for the CAD computation. Of
the ten test problems studied: 6 were improved by the GB
preconditioning (speed-up varying from 2- to 1700-fold); 1
problem resulted in a 10-fold slow-down; 1 timed out when
GB preconditioning was applied, but would complete without;
and 2 were intractable both for CAD construction alone and the
GB preconditioning step. The problem was revisited in [66].
As expected, there had been a big decrease in the computation
timings, especially for the GB. However, it was still the case
that 2 of the problems were hindered by GB preconditioning.
        </p>
        <p>The key conclusion is that GB preconditioning will on
average benefit CAD (sometimes very significantly) but could
on occasion hinder it (to the point of making a tractable CAD
problem intractable). We are yet to understand why this occurs,
but the authors of [66] did develop a metric to predict when it
will. They defined the Total Number of Indeterminates (TNoI)
of a set of polynomials A as</p>
        <p>TNoI(A) =</p>
        <p>X NoI(a)
a2A
where NoI(a) is the number of indeterminates in a polynomial
a. The heuristic is to build a CAD for the preconditioned
polynomials only if the TNoI decreased. For most of their
test problems the heuristic made the correct choice, but there
were examples to the contrary.</p>
      </sec>
      <sec id="sec-3-5">
        <title>E. Use of machine learning</title>
        <p>Finally, we note recent experiments using machine
learning, specifically support vector machines (see for example
[56]), to make choices for CAD construction:</p>
        <p>In [40] the authors used an SVM to choose
between the three heuristics for CAD variable ordering
outlined in Section III-A. Simple problem features
were selected (e.g. degrees, proportion of monomials
containing each variable) and parameter optimisation
was applied to maximise Matthews’ Correlation
Coefficient [47]. Over 7000 examples were studied, and
over the 1721 reserved for the test set the machine
learned choice was found to outperform each heuristic
individually on average.</p>
        <p>In [38] the authors used an SVM to predict when
it will be useful to precondition a CAD problem
with GB (see Section III-D). The features used were
from both the original input and the GB: so the
study was answering the question should we use this
GB rather than should we compute it (relevant since
the GB computation was trivial for the problem set
involved). The machine learned choice outperformed
both using GB universally, and the human defined
TNoI heuristic.</p>
        <p>We also note that a recent paper [45] applied a support vector
machine (seeded with the problem features from [40]) to
suggest the order in which QE should be performed on
subformulae of a non-prenex formula. Experimental results on
more than 2,000 non-trivial examples showed that machine
learning was doing better than the human derived heuristics,
following appropriate parameter optimisation.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>IV. STANDARDS AND BENCHMARKS</title>
      <sec id="sec-4-1">
        <title>A. History of benchmarking in computer algebra</title>
        <p>The Computer Algebra community has occasionally
recognised the importance of benchmarks. The PoSSo and FRISCO
projects aimed to do this for polynomials systems and
symbolic-numeric problems respectively in the 1990s. PoSSO,
with which the second author was involved, collected a series
of benchmark examples for GB, and a descendant of these
can still be found online3. However, this does not appear
to be maintained; and the polynomials are not stored in a
machine-readable form. Polynomials from this list still crop
up in various papers, but there is no systematic reference,
and it is not clear whether people are really referring to the
same example. Several of the examples are families, which
is good but means that a benchmark has to contain specific
instances. The PoSSo project did its best to do “level playing
field” comparisons, but at the time different implementations
ran on different hardware / operating systems meaning this
was not really achievable. The environment is much simpler
these days, and it would be feasible to organise true contests.</p>
        <p>
          The topic of benchmarking in computer algebra has most
recently been taken up by the SymbolicData Project4 [
          <xref ref-type="bibr" rid="ref35">35</xref>
          ]
which is beginning to build a database of examples in XML
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>3http://www-sop.inria.fr/saga/POL/ 4www.symbolicdata.org</title>
      <p>format (although currently not with any suitable for CAD).
The software described in [36] was built to translate problems
in that database into executable code for various computer
algebra systems. The authors of [36] discuss the peculiarities of
computer algebra that make benchmarking particularly difficult
including the fact that results of computations need not be
unique and that the evaluation of the correctness of an output
may not be trivial (or may be the subject of research itself).</p>
      <p>A final point to note is that while SAT / SMT-solvers have
only a few clear possible answers (e.g. sat, unsat, unknown)
in computer algebra there is also the quality of the result to
consider (e.g., size of quantifier-free formula produced). With
CAD the output size is usually correlated to computation time,
but this is not always the case with other algorithms.</p>
      <sec id="sec-5-1">
        <title>B. The present authors’ recent experience with CAD</title>
        <p>In our work we have taken various approaches to
experimenting with CAD:
1 (a) Test new results on examples previously used to evaluate</p>
        <p>CAD algorithms.</p>
        <p>
          For example, the experiments in [66] started with the 10
examples in [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ] while [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ] and [63] focussed on classic
examples from [44] and [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ]. The latter were derived from
applications of CAD while the former seem to be a collection
of geometric problems invented by the authors. Other papers
that have contributed such test problems include [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ], [49]
[
          <xref ref-type="bibr" rid="ref11">11</xref>
          ], [
          <xref ref-type="bibr" rid="ref27">27</xref>
          ]. We wonder whether historic repetition within the
literature is alone a strong enough reason to be benchmark?
        </p>
        <p>
          In [65], [61] an attempt was made to gather together all
those test examples in the literature for CAD, along with
references of their first appearance in the literature and encodings
for some computer algebra systems.
1 (b) Supplement existing examples with modified versions
suitable for demonstrating the feature in question.
In [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ], [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] the new TTICAD algorithm that was the subject of
the paper offered an improvement on the state of the art for
examples consisting of multiple formulae; or a single formulae
in disjunctive normal form. Such examples had not been the
topic of any CAD papers before and no existing examples were
capable of demonstrating the savings on offer. The experiments
produced in these papers were made of up two sets:
Formulae produced to describe the branch cuts of
multivalued functions in a proposed simplification
formula [30], with CAD to be applied so that the
complex domain could be decomposed into regions
where the functions were univariate, and thus the
formula applicable or not.
        </p>
        <p>Formulae produced by adapting the logical connectors
in previous examples from the literature in [65] so that
conjunctions became disjunctions.</p>
        <p>Clearly the former set is of great interest as they represent
a real example for the algorithms; but they all conform to a
single structure and so are arguably too uniform to alone draw
broad conclusions from. The second set were produced to be
somehow close to the accepted test examples of the literature,
but whether this is any better than inventing a new examples
from scratch is debatable.
in [38]. Thus while the nlsat dataset is an excellent starting
point it needs to be expanded to be less uniform.</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>2 Derive new sets of random examples</title>
      <p>
        A recent experiment using machine learning [40], [38] (see
Section III-E) exposed a shortcoming in the above techniques.
To train the SVMs hundreds of examples are required (with
hundreds more then needed for validation and testing). The
dataset from the literature in [65] contained not nearly enough
examples and while the datasets discussed in the next section
were sufficient for the first experiment in [40] they proved
too uniform for [38]. We were left with no choice but to
generate large quantities of new examples, which we did using
the random polynomial generator in MAPLE. We had applied
this technique also in [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ], [30] receiving positive feedback
from reviewers for the technique; but the initial reviews of
[38] were all negative on the use of random data. It seems the
appropriateness of this technique varies with the community
(conference) in question. We opine that had we used data from
the example bank of MetiTarski examples discussed in the next
section then reviewers may have praised the focus on examples
from a real application; even though MetiTarski themselves
derive examples for benchmarks using random polynomials.
      </p>
      <sec id="sec-6-1">
        <title>C. Sources of large benchmarks sets</title>
        <p>
          We note some other sources of large sets of benchmark
problems that represent real applications of CAD:
MetiTarski5 [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ], [54] is an automatic theorem prover
designed to prove theorems involving real-valued
special functions (such as log, exp, sin, cos and sqrt). In
general this theory is undeciadable but MetiTarski is
able to solve many problems by applying real
polynomial bounds and then using real quantifier elimination
tools like CAD. Applications of MetiTarski in turn
derive examples for CAD.
        </p>
        <p>The NRA (non-linear real arithmetic) category of the
SMT-LIB library6 which according to [43] consists
mostly of problems originating from attempts to prove
termination of term-rewrite systems.</p>
        <p>These two data sets where included in the nlsat
Benchmark Set7 produced to evaluate the work in [43]. This also
included verification conditions from the Keymaera [55] and
parametrized generalizations of the problem from [37].
Together this dataset had many thousands of problems. However,
we note that the problems come from a small number of classes
and may have some hidden uniformity.</p>
        <p>As mentioned above, the nlsat dataset was unsuitable to
use for our machine learning experiment in [38]. Every single
problem within that had more than one equality was aided
by GB preconditioning, in fact a great many simply had a
GB containing only 1 indicating the problem had no solution.
Previous experiments on small example sets suggested GB
preconditioning sometimes harms CAD computation and this
was verified by analysis of a large randomly generated dataset</p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>5https://www.cl.cam.ac.uk/ lp15/papers/Arith 6http://smtlib.cs.uiowa.edu/ 7http://cs.nyu.edu/ dejan/nonlinear/</title>
      <p>We finish this section by noting one possible source of
examples for the future.</p>
      <p>The Todai Robot Project8 [46] is a Japanese AI project
that aims to have an artificial intelligence pass the
entrance examination for the University of Tokyo by
2021. A majority of questions on the Mathematics
exam can be resolved by real quantifier elimination
with a variety of techniques employed [41]. A key
difficulty is that the natural language processing of
the question derives a formula of far greater
complexity than the human derived equivalent. This process
derives a large bank of examples of CAD problems,
as discussed in [45] for example. The authors of [45]
told us there are plans to make this data set public.</p>
    </sec>
    <sec id="sec-8">
      <title>CONCLUSIONS AND QUESTIONS</title>
      <p>After surveying the work in Section III we see that several
approaches to the creation of heuristics have been taken:
ranging from human identified algebraic features, justified by
mathematical arguments and observations to different extents;
to machine learned choices using a support vector machine. We
are interested to hear how these compare with the heuristics
used in SAT-solvers and what lessons can be learned.</p>
      <p>We can identify at least two areas where CAD is in need
of further heuristic development.</p>
      <p>
        How best to take decisions in tandem: The work
surveyed all considered choices to be made for CAD
in isolation (assuming other choices had already been
fixed). Of course, in reality this may not be the case.
We must decide which decisions to prioritise; how
heuristics can be combined; and how the combinatorial
blow-up of decisions can be contained. Does the
SATsolving community have experience in similar issues?
There are many implementations of CAD including: the
dedicated command line program Qepcad [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]; Mathematica [58],
[59], where CAD is not available directly but is used as
a subroutine for quantifier elimination; the Redlog
package for REDUCE [57]; and 3 different MAPLE libraries
the RegularChains Library (see Section III-C; SyNRAC
[67] (now part of the Todai Robot project) and our own
ProjectionCAD module [32].
      </p>
      <p>How to choose between different implementations?
Each implementation includes unique pieces of theory
and features and excels on different examples.
Ideally, we would have a single implementation which
encompasses all recent advances. A more manageable
step may be an overarching MAPLE command to
choose between the 3 packages there. SMT-solvers
are designed to use a variety of different theory solvers
and how they choose between these may offer valuable
lessons here.</p>
      <p>Surveying Section IV raises a number of questions about
how benchmark sets should be produced:</p>
    </sec>
    <sec id="sec-9">
      <title>8http://21robot.org</title>
      <p>How best to generate large numbers of examples
which are not internally uniform?
How important is it that the benchmarks come from
current applications?
How important is it that the benchmarks have
historically been used in the literature?
Are randomly generated examples a fairer way to
evaluate the software, or irrelevant as too far removed
from applications?
The SAT / SMT community posses a unified, large and
growing set of benchmarks in the SMT-LIB library and so we
may be able to extrapolate lessons from this. However, as noted
above, this library may be too uniform [38], and comments
from the anonymous referees suggest that this and other critics
are already a topic of discussion in the SMT community.</p>
      <sec id="sec-9-1">
        <title>Acknowledgements</title>
        <p>Thanks to our collaborators on the work surveyed here:
Russell Bradford, James Bridge, Changbo Chen, Zongyan
Huang, Scott McCallum, Marc Moreno Maza, Lawrence
Paulson, and David Wilson. Thanks also to the anonymous referees
for their comments which improved the paper.</p>
        <p>Most of the work surveyed here was supported by EPSRC
grant EP/J003247/1. The authors are now supported by EU
H2020-FETOPEN-2016-2017-CSA project SC2 (712689).</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>E.</surname>
          </string-name>
          <article-title>A´bra´ham. Building bridges between symbolic computation and satisfiability checking</article-title>
          .
          <source>In Proceedings of the 2015 International Symposium on Symbolic and Algebraic Computation</source>
          ,
          <source>ISSAC '15</source>
          , pages
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          . ACM,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>E.</surname>
          </string-name>
          <article-title>A´braha´m, J</article-title>
          .
          <string-name>
            <surname>Abbott</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Becker</surname>
            ,
            <given-names>A.M.</given-names>
          </string-name>
          <string-name>
            <surname>Bigatti</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Brain</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Buchberger</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Cimatti</surname>
            ,
            <given-names>J.H.</given-names>
          </string-name>
          <string-name>
            <surname>Davenport</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>England</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Fontaine</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Forrest</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Griggio</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Kroening</surname>
            ,
            <given-names>W.M.</given-names>
          </string-name>
          <string-name>
            <surname>Seiler</surname>
            , and
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Sturm</surname>
          </string-name>
          . SC2:
          <article-title>Satisfiability checking meets symbolic computation</article-title>
          . In M. Kohlhase,
          <string-name>
            <given-names>M.</given-names>
            <surname>Johansson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Miller</surname>
          </string-name>
          , L. de Moura, and F. Tompa, editors,
          <source>Intelligent Computer Mathematics: Proceedings CICM</source>
          <year>2016</year>
          , LNCS
          <volume>9791</volume>
          , pages
          <fpage>28</fpage>
          -
          <lpage>43</lpage>
          . Springer International Publishing,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>B.</given-names>
            <surname>Akbarpour</surname>
          </string-name>
          and
          <string-name>
            <given-names>L.C.</given-names>
            <surname>Paulson. MetiTarski</surname>
          </string-name>
          :
          <article-title>An automatic theorem prover for real-valued special functions</article-title>
          .
          <source>Journal of Automated Reasoning</source>
          ,
          <volume>44</volume>
          (
          <issue>3</issue>
          ):
          <fpage>175</fpage>
          -
          <lpage>205</lpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>D.</given-names>
            <surname>Arnon</surname>
          </string-name>
          , G.E. Collins, and
          <string-name>
            <given-names>S.</given-names>
            <surname>McCallum</surname>
          </string-name>
          .
          <article-title>Cylindrical algebraic decomposition I: The basic algorithm</article-title>
          .
          <source>SIAM Journal of Computing</source>
          ,
          <volume>13</volume>
          :
          <fpage>865</fpage>
          -
          <lpage>877</lpage>
          ,
          <year>1984</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>D.S.</given-names>
            <surname>Arnon</surname>
          </string-name>
          .
          <article-title>A cluster-based cylindrical algebraic decomposition algorithm</article-title>
          .
          <source>Journal of Symbolic Computation</source>
          ,
          <volume>5</volume>
          (
          <issue>1</issue>
          -2):
          <fpage>189</fpage>
          -
          <lpage>212</lpage>
          ,
          <year>1988</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>R.</given-names>
            <surname>Bradford</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.H.</given-names>
            <surname>Davenport</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>England</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. Moreno</given-names>
            <surname>Maza</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Wilson</surname>
          </string-name>
          .
          <article-title>Truth table invariant cylindrical algebraic decomposition by regular chains</article-title>
          . In V.P. Gerdt,
          <string-name>
            <given-names>W.</given-names>
            <surname>Koepf</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.M.</given-names>
            <surname>Seiler</surname>
          </string-name>
          , and E.V. Vorozhtsov, editors,
          <source>Computer Algebra in Scientific Computing, LNCS 8660</source>
          , pages
          <fpage>44</fpage>
          -
          <lpage>58</lpage>
          . Springer International Publishing,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>R.</given-names>
            <surname>Bradford</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.H.</given-names>
            <surname>Davenport</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>England</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>McCallum</surname>
          </string-name>
          ,
          <string-name>
            <given-names>and D.</given-names>
            <surname>Wilson</surname>
          </string-name>
          .
          <article-title>Cylindrical algebraic decompositions for boolean combinations</article-title>
          .
          <source>In Proceedings of the 38th International Symposium on Symbolic and Algebraic Computation</source>
          ,
          <source>ISSAC '13</source>
          , pages
          <fpage>125</fpage>
          -
          <lpage>132</lpage>
          . ACM,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>R.</given-names>
            <surname>Bradford</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.H.</given-names>
            <surname>Davenport</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>England</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>McCallum</surname>
          </string-name>
          ,
          <string-name>
            <given-names>and D.</given-names>
            <surname>Wilson</surname>
          </string-name>
          .
          <article-title>Truth table invariant cylindrical algebraic decomposition</article-title>
          .
          <source>Journal of Symbolic Computation</source>
          ,
          <volume>76</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>35</lpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>R.</given-names>
            <surname>Bradford</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.H.</given-names>
            <surname>Davenport</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>England</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Wilson</surname>
          </string-name>
          .
          <article-title>Optimising problem formulations for cylindrical algebraic decomposition</article-title>
          . In J. Carette,
          <string-name>
            <given-names>D.</given-names>
            <surname>Aspinall</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Lange</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Sojka</surname>
          </string-name>
          , and W. Windsteiger, editors,
          <source>Intelligent Computer Mathematics</source>
          , LNCS
          <volume>7961</volume>
          , pages
          <fpage>19</fpage>
          -
          <lpage>34</lpage>
          . Springer Berlin Heidelberg,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>C.W.</given-names>
            <surname>Brown</surname>
          </string-name>
          .
          <article-title>Improved projection for cylindrical algebraic decomposition</article-title>
          .
          <source>Journal of Symbolic Computation</source>
          ,
          <volume>32</volume>
          (
          <issue>5</issue>
          ):
          <fpage>447</fpage>
          -
          <lpage>465</lpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>C.W.</given-names>
            <surname>Brown</surname>
          </string-name>
          .
          <article-title>Simple CAD construction and its applications</article-title>
          .
          <source>Journal of Symbolic Computation</source>
          ,
          <volume>31</volume>
          (
          <issue>5</issue>
          ):
          <fpage>521</fpage>
          -
          <lpage>547</lpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>C.W. Brown.</surname>
          </string-name>
          <article-title>An overview of QEPCAD B: a tool for real quantifier elimination and formula simplification</article-title>
          .
          <source>Journal of Japan Society for Symbolic and Algebraic Computation</source>
          ,
          <volume>10</volume>
          (
          <issue>1</issue>
          ):
          <fpage>13</fpage>
          -
          <lpage>22</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>C.W.</given-names>
            <surname>Brown</surname>
          </string-name>
          .
          <article-title>Companion to the tutorial: Cylindrical algebraic decomposition</article-title>
          , presented at ISSAC '
          <volume>04</volume>
          . http://www.usna.edu/Users/cs/wcbrown/ research/ISSAC04/handout.pdf,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>C.W.</given-names>
            <surname>Brown</surname>
          </string-name>
          .
          <article-title>Constructing a single open cell in a cylindrical algebraic decomposition</article-title>
          .
          <source>In Proceedings of the 38th International Symposium on Symbolic and Algebraic Computation</source>
          ,
          <source>ISSAC '13</source>
          , pages
          <fpage>133</fpage>
          -
          <lpage>140</lpage>
          . ACM,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>C.W.</given-names>
            <surname>Brown</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.H.</given-names>
            <surname>Davenport</surname>
          </string-name>
          .
          <article-title>The complexity of quantifier elimination and cylindrical algebraic decomposition</article-title>
          .
          <source>In Proceedings of the 2007 International Symposium on Symbolic and Algebraic Computation</source>
          ,
          <source>ISSAC '07</source>
          , pages
          <fpage>54</fpage>
          -
          <lpage>60</lpage>
          . ACM,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>C.W.</given-names>
            <surname>Brown</surname>
          </string-name>
          , M. El
          <string-name>
            <surname>Kahoui</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Novotni</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Weber</surname>
          </string-name>
          .
          <article-title>Algorithmic methods for investigating equilibria in epidemic modelling</article-title>
          .
          <source>Journal of Symbolic Computation</source>
          ,
          <volume>41</volume>
          :
          <fpage>1157</fpage>
          -
          <lpage>1173</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>B.</given-names>
            <surname>Buchberger</surname>
          </string-name>
          . Bruno Buchberger's
          <source>PhD thesis</source>
          (
          <year>1965</year>
          )
          <article-title>: An algorithm for finding the basis elements of the residue class ring of a zero dimensional polynomial ideal</article-title>
          .
          <source>Journal of Symbolic Computation</source>
          ,
          <volume>41</volume>
          (
          <issue>3-4</issue>
          ):
          <fpage>475</fpage>
          -
          <lpage>511</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>B.</given-names>
            <surname>Buchberger</surname>
          </string-name>
          and
          <string-name>
            <given-names>H.</given-names>
            <surname>Hong</surname>
          </string-name>
          .
          <article-title>Speeding up quantifier elimination by Gro¨bner bases</article-title>
          .
          <source>Technical report</source>
          ,
          <fpage>91</fpage>
          -
          <lpage>06</lpage>
          . RISC, Johannes Kepler University,
          <year>1991</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>C.</given-names>
            <surname>Chen</surname>
          </string-name>
          and
          <string-name>
            <given-names>M. Moreno</given-names>
            <surname>Maza</surname>
          </string-name>
          .
          <article-title>Cylindrical algebraic decomposition in the RegularChains library</article-title>
          . In H. Hong and C. Yap, editors,
          <source>Mathematical Software - ICMS</source>
          <year>2014</year>
          , LNCS
          <volume>8592</volume>
          , pages
          <fpage>425</fpage>
          -
          <lpage>433</lpage>
          . Springer Heidelberg,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>C.</given-names>
            <surname>Chen</surname>
          </string-name>
          and
          <string-name>
            <given-names>M. Moreno</given-names>
            <surname>Maza</surname>
          </string-name>
          .
          <article-title>An incremental algorithm for computing cylindrical algebraic decompositions</article-title>
          . In R. Feng,
          <string-name>
            <given-names>W.</given-names>
            <surname>Lee</surname>
          </string-name>
          , and Y. Sato, editors,
          <source>Computer Mathematics</source>
          , pages
          <fpage>199</fpage>
          -
          <lpage>221</lpage>
          . Springer Berlin Heidelberg,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>C.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. Moreno</given-names>
            <surname>Maza</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Xia</surname>
          </string-name>
          , and
          <string-name>
            <given-names>L.</given-names>
            <surname>Yang</surname>
          </string-name>
          .
          <article-title>Computing cylindrical algebraic decomposition via triangular decomposition</article-title>
          .
          <source>In Proceedings of the 2009 International Symposium on Symbolic and Algebraic Computation</source>
          ,
          <source>ISSAC '09</source>
          , pages
          <fpage>95</fpage>
          -
          <lpage>102</lpage>
          . ACM,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>G.E.</given-names>
            <surname>Collins</surname>
          </string-name>
          and
          <string-name>
            <given-names>H.</given-names>
            <surname>Hong</surname>
          </string-name>
          .
          <article-title>Partial cylindrical algebraic decomposition for quantifier elimination</article-title>
          .
          <source>Journal of Symbolic Computation</source>
          ,
          <volume>12</volume>
          :
          <fpage>299</fpage>
          -
          <lpage>328</lpage>
          ,
          <year>1991</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>J.H.</given-names>
            <surname>Davenport</surname>
          </string-name>
          . A “
          <string-name>
            <surname>Piano-Movers</surname>
          </string-name>
          ”
          <article-title>Problem</article-title>
          .
          <source>SIGSAM Bull.</source>
          ,
          <volume>20</volume>
          (
          <issue>1- 2</issue>
          ):
          <fpage>15</fpage>
          -
          <lpage>17</lpage>
          ,
          <year>1986</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>J.H.</given-names>
            <surname>Davenport</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Bradford</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>England</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Wilson</surname>
          </string-name>
          .
          <article-title>Program verification in the presence of complex numbers, functions with branch cuts etc</article-title>
          .
          <source>In 14th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing, SYNASC '12</source>
          , pages
          <fpage>83</fpage>
          -
          <lpage>88</lpage>
          . IEEE,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>J.H.</given-names>
            <surname>Davenport</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>England</surname>
          </string-name>
          .
          <article-title>Need polynomial systems be doubly exponential</article-title>
          ? In G.
          <string-name>
            <surname>-M. Greuel</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Koch</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Paule</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <surname>A</surname>
          </string-name>
          . Sommese, editors,
          <source>Mathematical Software - Proceedings of ICMS</source>
          <year>2016</year>
          , LNCS
          <volume>9725</volume>
          , pages
          <fpage>157</fpage>
          -
          <lpage>164</lpage>
          . Springer International Publishing,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>J.H.</given-names>
            <surname>Davenport</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Heintz</surname>
          </string-name>
          .
          <article-title>Real quantifier elimination is doubly exponential</article-title>
          .
          <source>Journal of Symbolic Computation</source>
          ,
          <volume>5</volume>
          (
          <issue>1</issue>
          -2):
          <fpage>29</fpage>
          -
          <lpage>35</lpage>
          ,
          <year>1988</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>A.</given-names>
            <surname>Dolzmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Seidl</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Sturm</surname>
          </string-name>
          .
          <article-title>Efficient projection orders for CAD</article-title>
          .
          <source>In Proceedings of the 2004 International Symposium on Symbolic and Algebraic Computation</source>
          ,
          <source>ISSAC '04</source>
          , pages
          <fpage>111</fpage>
          -
          <lpage>118</lpage>
          . ACM,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>M.</given-names>
            <surname>England</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Bradford</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.H.</given-names>
            <surname>Davenport</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. Moreno</given-names>
            <surname>Maza</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Wilson</surname>
          </string-name>
          .
          <article-title>Problem formulation for truth-table invariant cylindrical algebraic decomposition by incremental triangular decomposition</article-title>
          . In S.M.
          <string-name>
            <surname>Watt</surname>
            ,
            <given-names>J.H.</given-names>
          </string-name>
          <string-name>
            <surname>Davenport</surname>
            ,
            <given-names>A.P.</given-names>
          </string-name>
          <string-name>
            <surname>Sexton</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Sojka</surname>
          </string-name>
          , and J. Urban, editors,
          <source>Intelligent Computer Mathematics</source>
          , LNCS
          <volume>8543</volume>
          , pages
          <fpage>45</fpage>
          -
          <lpage>60</lpage>
          . Springer International,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>M.</given-names>
            <surname>England</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Bradford</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.H.</given-names>
            <surname>Davenport</surname>
          </string-name>
          .
          <article-title>Improving the use of equational constraints in cylindrical algebraic decomposition</article-title>
          .
          <source>In Proceedings of the 2015 International Symposium on Symbolic and Algebraic Computation</source>
          ,
          <source>ISSAC '15</source>
          , pages
          <fpage>165</fpage>
          -
          <lpage>172</lpage>
          . ACM,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          <string-name>
            <given-names>M.</given-names>
            <surname>England</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Bradford</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.H.</given-names>
            <surname>Davenport</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Wilson</surname>
          </string-name>
          .
          <article-title>Choosing a variable ordering for truth-table invariant cylindrical algebraic decomposition by incremental triangular decomposition</article-title>
          . In H. Hong and C. Yap, editors,
          <source>Mathematical Software - ICMS</source>
          <year>2014</year>
          , LNCS
          <volume>8592</volume>
          , pages
          <fpage>450</fpage>
          -
          <lpage>457</lpage>
          . Springer Heidelberg,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          <string-name>
            <given-names>M.</given-names>
            <surname>England</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.H.</given-names>
            <surname>Davenport</surname>
          </string-name>
          .
          <article-title>The complexity of cylindrical algebraic decomposition with respect to polynomial degree</article-title>
          . To appear
          <source>In: Proceedings CASC 2016</source>
          (Springer LNCS),
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          <string-name>
            <given-names>M.</given-names>
            <surname>England</surname>
          </string-name>
          , D. Wilson,
          <string-name>
            <given-names>R.</given-names>
            <surname>Bradford</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.H.</given-names>
            <surname>Davenport</surname>
          </string-name>
          .
          <article-title>Using the Regular Chains Library to build cylindrical algebraic decompositions by projecting and lifting</article-title>
          . In H. Hong and C. Yap, editors,
          <source>Mathematical Software - ICMS</source>
          <year>2014</year>
          , LNCS
          <volume>8592</volume>
          , pages
          <fpage>458</fpage>
          -
          <lpage>465</lpage>
          . Springer Heidelberg,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          <source>In Proceedings of the 39th International Symposium on Symbolic and Algebraic Computation</source>
          ,
          <source>ISSAC '14</source>
          , pages
          <fpage>162</fpage>
          -
          <lpage>169</lpage>
          . ACM,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          [34]
          <string-name>
            <given-names>I.A.</given-names>
            <surname>Fotiou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.A.</given-names>
            <surname>Parrilo</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Morari</surname>
          </string-name>
          .
          <article-title>Nonlinear parametric optimization using cylindrical algebraic decomposition</article-title>
          .
          <source>In Decision and Control</source>
          ,
          <source>2005 European Control Conference. CDC-ECC '05.</source>
          , pages
          <fpage>3735</fpage>
          -
          <lpage>3740</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          <source>[35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45]</source>
          [46]
          <string-name>
            <given-names>H.G.</given-names>
            <surname>Graebe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Nareike</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Johanning</surname>
          </string-name>
          .
          <article-title>The SymbolicData project: Towards a computer algebra social network</article-title>
          . In M. England,
          <string-name>
            <given-names>J.H.</given-names>
            <surname>Davenport</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Kohlhase</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kohlhase</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Libbrecht</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Neuper</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Quaresma</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.P.</given-names>
            <surname>Sexton</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Sojka</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Urban</surname>
          </string-name>
          , and S.M. Watt, editors,
          <source>Joint Proceedings of the MathUI</source>
          ,
          <article-title>OpenMath and ThEdu Workshops and Work in Progress track at CICM, number</article-title>
          1186
          <source>in CEUR Workshop Proceedings</source>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref36">
        <mixed-citation>
          <source>ACM Communications in Computer Algebra</source>
          ,
          <volume>49</volume>
          (
          <issue>1</issue>
          ):
          <fpage>1</fpage>
          -
          <lpage>9</lpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref37">
        <mixed-citation>
          <string-name>
            <given-names>H.</given-names>
            <surname>Hong</surname>
          </string-name>
          .
          <article-title>Comparison of several decision algorithms for the existential theory of the reals</article-title>
          .
          <source>Technical report</source>
          , RISC, Linz,
          <year>1991</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref38">
        <mixed-citation>
          <string-name>
            <given-names>Z.</given-names>
            <surname>Huang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>England</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.H.</given-names>
            <surname>Davenport</surname>
          </string-name>
          , and
          <string-name>
            <surname>L. Paulson.</surname>
          </string-name>
          <article-title>Using machine learning to decide when to precondition cylindrical algebraic decomposition with Groebner bases</article-title>
          .
          <source>In 18th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing, SYNASC '16. Preprint: Arxiv</source>
          <volume>1608</volume>
          .04219. IEEE,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref39">
        <mixed-citation>
          <source>ACM Communications in Computer Algebra</source>
          ,
          <volume>48</volume>
          (
          <issue>3</issue>
          ):
          <fpage>121</fpage>
          -
          <lpage>123</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref40">
        <mixed-citation>
          <string-name>
            <given-names>Z.</given-names>
            <surname>Huang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>England</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Wilson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.H.</given-names>
            <surname>Davenport</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Paulson</surname>
          </string-name>
          , and
          <string-name>
            <surname>J. Bridge.</surname>
          </string-name>
          <article-title>Applying machine learning to the problem of choosing a heuristic to select the variable ordering for cylindrical algebraic decomposition</article-title>
          . In S.M.
          <string-name>
            <surname>Watt</surname>
            ,
            <given-names>J.H.</given-names>
          </string-name>
          <string-name>
            <surname>Davenport</surname>
            ,
            <given-names>A.P.</given-names>
          </string-name>
          <string-name>
            <surname>Sexton</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Sojka</surname>
          </string-name>
          , and J. Urban, editors,
          <source>Intelligent Computer Mathematics</source>
          , LNAI
          <volume>8543</volume>
          , pages
          <fpage>92</fpage>
          -
          <lpage>107</lpage>
          . Springer International,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref41">
        <mixed-citation>
          <source>In Proceedings of the 10th International Workshop on Automated Deduction in Geometry, ADG '14</source>
          , pages
          <fpage>75</fpage>
          -
          <lpage>84</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref42">
        <mixed-citation>
          <string-name>
            <given-names>H.</given-names>
            <surname>Iwane</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Yanami</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Anai</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.</given-names>
            <surname>Yokoyama</surname>
          </string-name>
          .
          <article-title>An effective implementation of a symbolic-numeric cylindrical algebraic decomposition for quantifier elimination</article-title>
          .
          <source>In Proceedings of the 2009 conference on Symbolic Numeric Computation, SNC '09</source>
          , pages
          <fpage>55</fpage>
          -
          <lpage>64</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref43">
        <mixed-citation>
          <string-name>
            <given-names>D.</given-names>
            <surname>Jovanovic</surname>
          </string-name>
          and L. de Moura.
          <article-title>Solving non-linear arithmetic</article-title>
          . In B.
          <string-name>
            <surname>Gramlich</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Miller</surname>
          </string-name>
          , and U. Sattler, editors,
          <source>Automated Reasoning: 6th International Joint Conference (IJCAR)</source>
          ,
          <source>LNCS 7364</source>
          , pages
          <fpage>339</fpage>
          -
          <lpage>354</lpage>
          . Springer,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref44">
        <mixed-citation>
          <string-name>
            <given-names>W.</given-names>
            <surname>Kahan</surname>
          </string-name>
          .
          <article-title>Branch cuts for complex elementary functions</article-title>
          . In A. Iserles and
          <string-name>
            <surname>M.J.D</surname>
          </string-name>
          . Powell, editors,
          <source>Proceedings The State of Art in Numerical Analysis</source>
          , pages
          <fpage>165</fpage>
          -
          <lpage>211</lpage>
          . Clarendon Press,
          <year>1987</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref45">
        <mixed-citation>
          <string-name>
            <given-names>M.</given-names>
            <surname>Kobayashi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Iwane</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Matsuzaki</surname>
          </string-name>
          , and
          <string-name>
            <given-names>H.</given-names>
            <surname>Anai</surname>
          </string-name>
          .
          <article-title>Efficient subformula orders for real quantifier elimination of non-prenex formulas</article-title>
          . In S.I. Kotsireas,
          <string-name>
            <given-names>M.S.</given-names>
            <surname>Rump</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          K.C. Yap, editors,
          <source>Mathematical Aspects of Computer and Information Sciences (MACIS '15)</source>
          ,
          <source>LNCS 9582</source>
          , pages
          <fpage>236</fpage>
          -
          <lpage>251</lpage>
          . Springer International Publishing,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref46">
        <mixed-citation>
          <string-name>
            <given-names>T.</given-names>
            <surname>Matsuzaki</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Iwane</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Anai</surname>
          </string-name>
          , and
          <string-name>
            <given-names>N.</given-names>
            <surname>Arai</surname>
          </string-name>
          .
          <article-title>The most uncreative examinee: A first step toward wide coverage natural language math problem solving</article-title>
          . In C.E. Brodley and P. Stone, editors,
          <source>Proceedings of 28th Conference on Artificial Intelligence</source>
          ,
          <source>AAAI '14</source>
          , pages
          <fpage>1098</fpage>
          -
          <lpage>1104</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref47">
        <mixed-citation>
          AAAI Press,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref48">
        <mixed-citation>
          <string-name>
            <given-names>B.W.</given-names>
            <surname>Matthews</surname>
          </string-name>
          .
          <article-title>Comparison of the predicted and observed secondary structure of T4 phage lysozyme</article-title>
          .
          <source>Biochimica et Biophysica Acta (BBA)- Protein Structure</source>
          ,
          <volume>405</volume>
          (
          <issue>2</issue>
          ):
          <fpage>442</fpage>
          -
          <lpage>451</lpage>
          ,
          <year>1975</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref49">
        <mixed-citation>
          <string-name>
            <given-names>E.W.</given-names>
            <surname>Mayr</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.R.</given-names>
            <surname>Meyer</surname>
          </string-name>
          .
          <article-title>The complexity of the word problems for commutative semigroups and polynomial ideals</article-title>
          .
          <source>Advances in Mathematics</source>
          ,
          <volume>46</volume>
          (
          <issue>3</issue>
          ):
          <fpage>305</fpage>
          -
          <lpage>329</lpage>
          ,
          <year>1982</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref50">
        <mixed-citation>
          <string-name>
            <given-names>S.</given-names>
            <surname>McCallum</surname>
          </string-name>
          .
          <article-title>An improved projection operation for cylindrical algebraic decomposition of three-dimensional space</article-title>
          .
          <source>Journal of Symbolic Computation</source>
          ,
          <volume>5</volume>
          (
          <issue>1</issue>
          -2):
          <fpage>141</fpage>
          -
          <lpage>161</lpage>
          ,
          <year>1988</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref51">
        <mixed-citation>
          <string-name>
            <given-names>S.</given-names>
            <surname>McCallum</surname>
          </string-name>
          .
          <article-title>An improved projection operation for cylindrical algebraic decomposition</article-title>
          .
          <source>In B. Caviness and J</source>
          . Johnson, editors,
          <source>Quantifier Elimination and Cylindrical Algebraic Decomposition, Texts &amp; Monographs in Symbolic Computation</source>
          , pages
          <fpage>242</fpage>
          -
          <lpage>268</lpage>
          . SpringerVerlag,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref52">
        <mixed-citation>
          <string-name>
            <given-names>S.</given-names>
            <surname>McCallum</surname>
          </string-name>
          .
          <article-title>On projection in CAD-based quantifier elimination with equational constraint</article-title>
          .
          <source>In Proceedings of the 1999 International Symposium on Symbolic and Algebraic Computation</source>
          ,
          <source>ISSAC '99</source>
          , pages
          <fpage>145</fpage>
          -
          <lpage>149</lpage>
          . ACM,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref53">
        <mixed-citation>
          <string-name>
            <given-names>S.</given-names>
            <surname>McCallum</surname>
          </string-name>
          .
          <article-title>On propagation of equational constraints in CADbased quantifier elimination</article-title>
          .
          <source>In Proceedings of the 2001 International Symposium on Symbolic and Algebraic Computation</source>
          ,
          <source>ISSAC '01</source>
          , pages
          <fpage>223</fpage>
          -
          <lpage>231</lpage>
          . ACM,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref54">
        <mixed-citation>
          <string-name>
            <given-names>S.</given-names>
            <surname>McCallum</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          <article-title>Parusi n´iski, and</article-title>
          <string-name>
            <given-names>L.</given-names>
            <surname>Paunescu</surname>
          </string-name>
          .
          <article-title>Validity proof of Lazard's method for CAD construction</article-title>
          .
          <source>Preprint: Arxiv</source>
          <volume>1607</volume>
          :
          <fpage>00264</fpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref55">
        <mixed-citation>
          <string-name>
            <given-names>L.C.</given-names>
            <surname>Paulson</surname>
          </string-name>
          . Metitarski:
          <article-title>Past and future</article-title>
          . In L. Beringer and
          <string-name>
            <surname>A</surname>
          </string-name>
          . Felty, editors,
          <source>Interactive Theorem Proving, LNCS 7406</source>
          , pages
          <fpage>1</fpage>
          -
          <lpage>10</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref56">
        <mixed-citation>
          <string-name>
            <surname>Springer</surname>
          </string-name>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref57">
        <mixed-citation>
          <string-name>
            <given-names>A.</given-names>
            <surname>Platzer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.D.</given-names>
            <surname>Quesel</surname>
          </string-name>
          , and
          <string-name>
            <surname>P.</surname>
          </string-name>
          <article-title>R u¨mmer. Real world verification</article-title>
          . In R.A. Schmidt, editor,
          <source>Automated Deduction (CADE-22)</source>
          ,
          <source>LNCS 5663</source>
          , pages
          <fpage>485</fpage>
          -
          <lpage>501</lpage>
          . Springer Berlin Heidelberg,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref58">
        <mixed-citation>
          <string-name>
            <surname>B.</surname>
          </string-name>
          <article-title>Sch o¨lkopf, K. Tsuda, and</article-title>
          <string-name>
            <given-names>J.-P.</given-names>
            <surname>Vert</surname>
          </string-name>
          .
          <article-title>Kernel methods in computational biology</article-title>
          . MIT Press,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref59">
        <mixed-citation>
          <string-name>
            <given-names>A.</given-names>
            <surname>Seidl</surname>
          </string-name>
          and
          <string-name>
            <given-names>T.</given-names>
            <surname>Sturm</surname>
          </string-name>
          .
          <article-title>A generic projection operator for partial cylindrical algebraic decomposition</article-title>
          .
          <source>In Proceedings of the 2003 International Symposium on Symbolic and Algebraic Computation</source>
          ,
          <source>ISSAC '03</source>
          , pages
          <fpage>240</fpage>
          -
          <lpage>247</lpage>
          . ACM,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref60">
        <mixed-citation>
          <string-name>
            <given-names>A.</given-names>
            <surname>Strzebon</surname>
          </string-name>
          <article-title>´ ski. Cylindrical algebraic decomposition using validated numerics</article-title>
          .
          <source>Journal of Symbolic Computation</source>
          ,
          <volume>41</volume>
          (
          <issue>9</issue>
          ):
          <fpage>1021</fpage>
          -
          <lpage>1038</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref61">
        <mixed-citation>
          <string-name>
            <given-names>A.</given-names>
            <surname>Strzebon</surname>
          </string-name>
          <article-title>´ ski. Computation with semialgebraic sets represented by cylindrical algebraic formulas</article-title>
          .
          <source>In Proceedings of the 2010 International Symposium on Symbolic and Algebraic Computation</source>
          ,
          <source>ISSAC '10</source>
          , pages
          <fpage>61</fpage>
          -
          <lpage>68</lpage>
          . ACM,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref62">
        <mixed-citation>
          <string-name>
            <given-names>A.</given-names>
            <surname>Strzebon</surname>
          </string-name>
          <article-title>´ ski. Cylindrical algebraic decomposition using local projections</article-title>
          .
          <source>In Proceedings of the 39th International Symposium on Symbolic and Algebraic Computation</source>
          ,
          <source>ISSAC '14</source>
          , pages
          <fpage>389</fpage>
          -
          <lpage>396</lpage>
          . ACM,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref63">
        <mixed-citation>
          <string-name>
            <given-names>D.</given-names>
            <surname>Wilson</surname>
          </string-name>
          .
          <article-title>Real geometry and connectedness via triangular description: Cad example bank</article-title>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref64">
        <mixed-citation>
          <string-name>
            <given-names>D.</given-names>
            <surname>Wilson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Bradford</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.H.</given-names>
            <surname>Davenport</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>England</surname>
          </string-name>
          .
          <article-title>Cylindrical algebraic sub-decompositions</article-title>
          .
          <source>Mathematics in Computer Science</source>
          ,
          <volume>8</volume>
          :
          <fpage>263</fpage>
          -
          <lpage>288</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref65">
        <mixed-citation>
          <string-name>
            <given-names>D.</given-names>
            <surname>Wilson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.H.</given-names>
            <surname>Davenport</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>England</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Bradford</surname>
          </string-name>
          .
          <article-title>A “piano movers” problem reformulated</article-title>
          .
          <source>In 15th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing, SYNASC '13</source>
          , pages
          <fpage>53</fpage>
          -
          <lpage>60</lpage>
          . IEEE,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref66">
        <mixed-citation>
          <source>In 16th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing, SYNASC '14</source>
          , pages
          <fpage>53</fpage>
          -
          <lpage>60</lpage>
          . IEEE,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref67">
        <mixed-citation>
          <string-name>
            <surname>D.J. Wilson</surname>
            ,
            <given-names>R.J.</given-names>
          </string-name>
          <string-name>
            <surname>Bradford</surname>
            , and
            <given-names>J.H.</given-names>
          </string-name>
          <string-name>
            <surname>Davenport</surname>
          </string-name>
          .
          <article-title>A repository for CAD examples</article-title>
          .
          <source>ACM Communications in Computer Algebra</source>
          ,
          <volume>46</volume>
          (
          <issue>3</issue>
          ):
          <fpage>67</fpage>
          -
          <lpage>69</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref68">
        <mixed-citation>
          <string-name>
            <surname>D.J. Wilson</surname>
            ,
            <given-names>R.J.</given-names>
          </string-name>
          <string-name>
            <surname>Bradford</surname>
            , and
            <given-names>J.H.</given-names>
          </string-name>
          <string-name>
            <surname>Davenport</surname>
          </string-name>
          .
          <article-title>Speeding up cylindrical algebraic decomposition by Gr o¨bner bases</article-title>
          . In J. Jeuring,
          <string-name>
            <given-names>J.A.</given-names>
            <surname>Campbell</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Carette</surname>
          </string-name>
          , G. Reis,
          <string-name>
            <given-names>P.</given-names>
            <surname>Sojka</surname>
          </string-name>
          , M. Wenzel, and V. Sorge, editors,
          <source>Intelligent Computer Mathematics</source>
          , LNCS
          <volume>7362</volume>
          , pages
          <fpage>280</fpage>
          -
          <lpage>294</lpage>
          . Springer,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref69">
        <mixed-citation>
          <string-name>
            <given-names>H.</given-names>
            <surname>Yanami</surname>
          </string-name>
          and
          <string-name>
            <given-names>H.</given-names>
            <surname>Anai</surname>
          </string-name>
          .
          <article-title>Development of SyNRAC</article-title>
          .
          <source>In Proceedings of the 6th international conference on Computational Science: Part II.</source>
        </mixed-citation>
      </ref>
      <ref id="ref70">
        <mixed-citation>
          <source>(LNCS vol 3992)</source>
          ,
          <source>ICCS '06</source>
          , pages
          <fpage>462</fpage>
          -
          <lpage>469</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>