<!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>New Opportunities for the Formal Proof of Computational Real Geometry? (Extended Abstract)</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Erika Ábrahám</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>James H. Davenport</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Matthew England</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Gereon Kremer</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Zak Tonks</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Coventry University</institution>
          ,
          <country country="UK">UK</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>RWTH Aachen University</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>University of Bath</institution>
          ,
          <country country="UK">UK</country>
        </aff>
      </contrib-group>
      <fpage>178</fpage>
      <lpage>188</lpage>
      <abstract>
        <p>The purpose of this paper is to explore the question “to what extent could we produce formal, machineverifiable, proofs in real algebraic geometry?” The question has been asked before but as yet the leading algorithms for answering such questions have not been formalised. We present the thesis that a new algorithm for ascertaining satisfiability of formulae over the reals via Cylindrical Algebraic Coverings [Ábrahám, Davenport, England, Kremer, Deciding the Consistency of Non-Linear Real Arithmetic Constraints with a Conflict Driver Search Using Cylindrical Algebraic Coverings , 2020] might provide a trace and outputs that allow the results to be more susceptible to machine verification than those of competing algorithms.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Setting</title>
      <p>An algebraic proposition is one built up from expressions of the form (1, . . . , ) = 0 (where
the  are polynomials with integer coeficients) joined together by the logical connectives</p>
      <sec id="sec-1-1">
        <title>Problem 1 (Quantifier Elimination).</title>
        <sec id="sec-1-1-1">
          <title>Consider a quantified proposition</title>
          <p>11 . . .  (1, . . . , , 1, . . . , ),
where  ∈ ℒ and  ∈ {∃, ∀}. Does there exist a quantifier-free equivalent semi-algebraic
proposition (1, . . . , ) and if so, can we compute it?
Notation 3. The structure of (1) induces a partial order to the variables, which we make total,
and take from first to last as 1, . . . , , 1, . . . , .</p>
          <p>
            The first algorithm to solve Problem 1 was by Tarski [
            <xref ref-type="bibr" rid="ref20">20</xref>
            ], although its complexity meant it
was infeasible for implementation. It has since been shown that Problem 1 is doubly-exponential
(in  + ) in the worst case [
            <xref ref-type="bibr" rid="ref12 ref6">6, 12</xref>
            ], but more generally it is doubly-exponential in the number
of times the sequence of  changes from ∃ to ∀ or vice versa [
            <xref ref-type="bibr" rid="ref3">3</xref>
            ].
          </p>
          <p>An important special case of Problem 2 is the following.</p>
        </sec>
      </sec>
      <sec id="sec-1-2">
        <title>Problem 2 (Satisfiability).</title>
        <sec id="sec-1-2-1">
          <title>Given a fully existentially quantified proposition</title>
          <p>(1)
∃1∃2 · · · ∃  (1, . . . , ),
(2)
where  ∈ ℒ, does there exist a solution? I.e. is this true (SAT) or false (UNSAT)?</p>
          <p>Solving this is equivalent to SMT in “Quantifier-Free Non-linear Real Arithmetic” ( QF_NRA) in
the Satisfiability Modulo Theories (SMT) community.</p>
          <p>
            By [
            <xref ref-type="bibr" rid="ref3">3</xref>
            ] Problem (2) is soluble in time singly-exponential in , but the authors know of no
implementation of this. There are two implemented algorithmic approaches for addressing
Problem 2.
          </p>
          <p>
            Cylindrical Algebraic Decomposition (CAD) was introduced by Collins in [
            <xref ref-type="bibr" rid="ref9">9</xref>
            ]. While [
            <xref ref-type="bibr" rid="ref18">18</xref>
            ]
has a more eficient computation, it may explicitly state that the decomposition is not
complete. Now, [
            <xref ref-type="bibr" rid="ref16">16</xref>
            ] (justified recently in [
            <xref ref-type="bibr" rid="ref19">19</xref>
            ]) is both eficient and always complete.
Virtual Term Substitution (VTS) was introduced by Weispfenning in [
            <xref ref-type="bibr" rid="ref22">22</xref>
            ], and many
developments are gathered in [
            <xref ref-type="bibr" rid="ref14 ref15">14, 15</xref>
            ]. However, it is currently limited to polynomials of degree
at most three.
          </p>
          <p>
            One notes that implementations of either CAD and VTS may have marked diferences, even if
the general concept relative to the respective algorithm is essentially the same. This is especially
true of CAD, where notable examples of divergences from more standard implementations
include the Maple RegularChains Library which constructs first a CAD in complex space
before refinement to one in real space [
            <xref ref-type="bibr" rid="ref7">7</xref>
            ]; and SMT-RAT, which acts incrementally on constraints
[
            <xref ref-type="bibr" rid="ref10">10</xref>
            ].
          </p>
          <p>A subtle variant of Problem 2 is the following.</p>
          <p>
            Problem 3 (Proven Satisfiability). Given a fully existentially quantified proposition (2), where
 ∈ ℒ, produce a computer-verifiable proof of SAT or UNSAT.
If the answer is SAT, all the major algorithms (certainly those discussed below as well as their
hybrids) can actually compute witnesses for , so the computer-verifiable proof of SAT is
relatively easy. The challenge is the UNSAT case. The main body of prior work on this problem
is by Cohen and Mahboubi [
            <xref ref-type="bibr" rid="ref17 ref8">17, 8</xref>
            ]. In the first an attempt was made to formalise CAD but to
the best of our knowledge this was not completed. In the latter QE is verified but only with an
algorithm which falls into the “efective in name only” category.
          </p>
          <p>
            Thesis and plan of this article
The authors of the present paper have developed a new algorithm for tackling Problem 2 in
[
            <xref ref-type="bibr" rid="ref1">1</xref>
            ] which ofers computational advantages over CAD. The algorithm is based around the new
idea of Cylindrical Algebraic Coverings and so we refer to it here as CAC. The present article is
essentially a position paper where we present our thesis, that the UNSAT results produced by
CAC may be far more susceptible to formal proof than those of the traditional tools, to the formal
proof community to garner interest and insight into whether it may be followed. Note that we
are not claiming that the CAC algorithm is easy to verify: rather that the result of running CAC
on a given example is easier to verify.
          </p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>2. Cylindrical Algebraic Coverings</title>
      <p>
        We recently presented a new algorithm for determining the satisfiability of conjunctions of
non-linear polynomial constraints over the reals [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], which can be used to solve Problem 2. The
algorithm is based around the technology of CAD but does not build a decomposition of R.
Instead, overlapping cells are generated, until we have a covering of the sample space. Sample
points are constructed incrementally, either until a satisfying sample is found or suficient
samples have been sampled to conclude unsatisfiability. The choice of samples is guided by both
the input constraints and previous conflicts (combinations of constraints and samples found to
be unsatisfiable).
      </p>
      <p>
        The key idea behind our new approach is to start with a partial sample; demonstrate that it
cannot be extended to a full sample; and from the reasons for that rule out a larger space around
the partial sample, which build up incrementally into a covering of the space. The cells are still
arranged in cylinders and have semi-algebraic descriptions and thus we call the data structure
produced a Cylindrical Algebraic Covering (CAC). Unlike CAD, which starts with projection to
generate algebraic information, the algorithm described in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] starts with “guessing” a sample
point dimension-wise, starting in the lowest dimension and iteratively extending it to higher
dimensions. Either we “guessed” right and find a satisfying sample or we face a partial sample
that cannot be extended to a full solution and use it to guide the projection (and thus the cell
construction).
      </p>
      <p>The generalisation of the unsatisfying sample to a wider interval is based upon CAD
technology, i.e. we know the truth of a constraint can only change when we cross the real roots
of certain projection polynomials calculated with tools such as coeficients, discriminants and
resultants. Intuitively, each sample  ×  violating a constraint with polynomial  can be
generalised to a cell in a -sign-invariant CAD. So when all extensions of  have been excluded
(the th dimension is fully covered by excluding intervals) then we project all the covering cells
to dimension − 1 and exclude their intersection from further search. The conflict generalisation
guides the algorithm to sample away from the reasons of previous conflicts, which should allow
for a satisfying sample to be found quicker if one exists. In the UNSAT case: a covering where
every cell is UNSAT could use less cells than an entire decomposition.</p>
      <p>
        See [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] for full details of the algorithm including worked examples and details of experimental
results. The CAC based algorithm has similarities with the incremental variant of CAD, the
NLSAT method of Jovanović and de Moura [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], and the NuCAD algorithm of Brown [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] but the
examples in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] demonstrate its unique advantages. In the present paper we aim to demonstrate
another potential advantage: the increased susceptibility to formal verification of its output.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. Examples</title>
      <p>3.1. Example 1
3.1.1. CAD:
Consider  := (2 + 2 &lt; 1) ∧ (( − 4)2 + 2 &lt; 1). The circles are graphed on the left of
Figure 1 and we see they do not intersect and thus  must be UNSAT.</p>
      <p>To solve Problem 2, the CAD algorithm would do the following:
(a) partitions the -axis at1 − 1, 1, 2, 3, 5;
(b) constructs 27 cells and associated sample points in R2 (see Table 1);
(c) deduces that no sample points have both 2 + 2 &lt; 1 and ( − 4)2 + 2 &lt; 1 true at once;
1 = ± 1 are the extremal points of the first circle, and  = 3, 5 of the second. The  = 2 is because the circles
(boundaries of the discs) in  have common zeros at  = 2,  = ± √− 3: of course these zeros are not real, but
have a real -component.
(d) and therefore (since the polynomials are sign-invariant in the cells) concludes that no
cells have both true anywhere over them;
(e) and because the union of cells is R2, the statement must be nowhere true.</p>
      <p>
        Step (c) is analogous to verifying SAT, and, due to the cylindrical nature of the decomposition,
(e) is relatively easy. The problem is verifying (d). Its truth depends on the fine details of the
CAD algorithm used.
3.1.2. NuCAD:
3.1.3. VTS:
In this case NuCAD would construct much the same open cells as CAD, except that it avoids
the spurious  = 2 problem. These cells are counted as “#N” in Table 1: there are nine of them.
The verification proceeds largely as for CAD, except that step (e) is less trivial in general.
Virtual Term Substitution would consider a variety of possible values  for . In the
implementation of [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ], the set of  starts with −∞ , then various other trivial (i.e. immediately
yielding false) values, and the first non-trivial one is 1 RootOf (2 + 1 − 2, ) +  . Virtually
substituting this into  yields
2 &lt; 1 ∧
⏟guar⏞d
      </p>
      <p>true
2⏟+2⏞&lt;1 ⏟
∧ ︀( −  &lt; − 2 ∨ (︀  = 2 ∧ 2 &lt; 1)︀ ,
(− 4)2+⏞2&lt;1
(3)
where the guard is there to make sure that the substitution makes sense, and “−  &lt; − 2” is the
simplification of ( − 4)2 + (︁ 1 RootOf (2 + 1 − 2, ) +  )︁ 2 &lt; 1. In all there are 41 VTS test
points, of which 21 are initial ones used in , and of the remaining 20 on , there are 7 distinct
ones (used on similar intermediate formulae). They are depicted in a manner intelligible as
semi-algebraic sets (to compare with CAD) in Table 2. It is important to note that this is only
a certain portrayal, considering VTS does not in itself operate geometrically. We have fewer
substitutions of exact values for  (what would be analogous to computing “sections” in CAD).</p>
      <p>Speaking generally, VTS is an algebraic approach on formulae as opposed to geometry.
Amongst the formulae produced in ,  = 2 appears, but other atomic formulae are all strict
relations, such that this is the only substitution of an “exact” value. All of the generated test
points are substituted in order to deduce UNSAT, as we form a disjunction of formulae all
equivalent to false.
3.1.4. Human:</p>
      <p>2 + 2 &lt; 1 ⇒ 2 &lt; 1 ⇒  &lt; 1
with the two right most statements clearly incompatible.
3.1.5. CAC:
Of course no human prover would likely proceed in any of the above ways. A human produced
argument may be along the lines of</p>
      <p>( − 4)2 + 2 &lt; 1 ⇒ ( − 4)2 &lt; 1 ⇒  − 4 ∈ (− 1, 1) ⇒  − 4 &gt; − 1 ⇒  &gt; 3
from the algorithm output.
3.2. Example 2</p>
      <p>out with it the whole of (−∞ , 3).</p>
      <p>
        Cylindrical Algebraic Covering proceeds by choosing a variety of sample  values, then recursing
on  (and any subsequent variables if there were any. In this example [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] proceeds as follows,
but we note that the theoretical algorithm allows a great deal of choice in computation path.
 = − 1: This would require 2 &lt; 0 which is unsatisfiable. However, we can deduce nothing
about the neighbouring values of , as − 1 is a root of the discriminant of 2 + 2 − 1.
root of this resultant is − 1, so (−∞ , − 1) is ruled out along with  = − 2.
 &lt; − 1: We sample  = − 2 and find this is also impossible for the same reason. The nearest
 &gt; − 1: We sample  = 0. Here  ∈ (− 1, 1) can not be ruled out by 2 + 2 &lt; 1 (obviously),
but ( − 4)2 + 2 &lt; 1 rules out this value of  immediately, and the generalisation rules
 ≥ 3: We sample  = 4. This trivially conflicts with 2 + 2 &lt; 1, which rules out (1, ∞).
Hence the whole of R is ruled out for , and we may conclude UNSAT.
      </p>
      <p>While this is not quite as simple as the human proof above, it is much closer to it. If we pruned
the reasoning, it would be that  ∈ (−∞</p>
      <p>, 3) is infeasible because of ( −
 ∈ (1, ∞) because of 2 + 2 &lt; 1. This argument of unsatisfiability can be reconstructed
4)2 + 2 &lt; 1, and
Consider  := (2 + 2 &lt; 1) ∧
︁( (︀  −
3 )︀ 2
2
+ (︀  −
2</p>
      <p>
        ︁)
3 )︀ 2 &lt; 1 . The circles are graphed on the
right of Figure 1 and we see they again do not intersect and thus  must be UNSAT.
To solve Problem 2, the CAD algorithm behaves similarly to Example 1: the two circles have
critical points (roots of the discriminant) at  = − 1,  = 1 and  = 21 ,  = 52 respectively. This
time the resultant of the two circles has no real roots. Because the circles overlap the cylinders
above the -axis are more decomposed and we have 41 cells, 13 of which are open. There is no
room for the full details here but they can be found in Table 4 of [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] (an extended version of the
present paper).
3.2.2. NuCAD:
In this case NuCAD does substantially better than CAD, and in fact creates the same number of
cells as in Example 3.1. These cells are counted as “#N” in [2, Table 2], where “New” means that,
as we move from −∞ to ∞, that number of new cells are created. The verification proceeds
largely as for CAD, except that step (e) is less trivial in general. [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] discusses a concept of “level”
for NuCADs, but even with this the process of verifying that our NuCAD covers the whole of
R2 is less trivial for the cylinder above ( 12 , 1).
3.2.3. VTS:
VTS this time receives non-false formulae owing to substitutions of test points in  from both
circles. Virtual substitution can substitute roots directly from multivariate polynomials.
      </p>
      <p>
        Table 3 depicts the geometry in  that VTS finds relevant. Again, there are fewer substitutions
than CAD, and all test points are substituted to receive UNSAT.
3.2.4. CAC:
Our implementation of the Cylindrical Algebraic Covering algorithm operates on this example
as follows.
 = − 1: Similarly to the previous example, this would require 2 &lt; 0 and again we can not
deduce anything around this value, as − 1 is a root of the discriminant of 2 + 2 − 1.
 &lt; − 1: As in the first example we sample  = − 2 and again find it to be unsatisfiable due to
2 &lt; − 3, excluding the whole interval (−∞ , − 1).
− 1 &lt; : We have now excluded (−∞ , − 1] and sample  = 0. While 2 &lt; 1 is still satisfiable,
the second constraint evaluates to ( − 3/2)2 &lt; − 54 which is directly conflicting. The
depiction excludes the interval (−∞ , 21 ).
12 &lt; : We sample  = 1 and obtain a direct conflict with 2 &lt; 0. As with the first sample
( = − 1) we only exclude the point interval [
        <xref ref-type="bibr" rid="ref1 ref1">1, 1</xref>
        ].
12 &lt;  &lt; 1: To take care of this interval we sample  = 34 which finally needs both constraints
to realize that no value for  is feasible. The depiction excludes exactly the interval ( 12 , 1).
      </p>
      <p>Note that the point 12 remains uncovered.
 = 12 : We now check the remaining point  = 12 which directly conflicts with the second
constraint.
1 &lt; : We continue with  = 2, which is a direct conflict with the first constraint due to
2 &lt; − 3, excluding (1, ∞) and thereby completing the covering of the -axis.
After pruning, the reasoning consists of the following components:
1:  ̸∈ (−∞ , 1 ) because of the second constraint,</p>
      <p>
        2
2:  ̸= 21 because of the second constraint,
3:  ̸∈ ( 21 , 1) because of both constraints,
4:  ̸= 1 because of the first constraint and
5:  ̸∈ (1, ∞) because of the first constraint.
3.2.5. Human:
There is no trivial human proof this time like in Example 1. If we proceed as there we find
conditions on  which are compatible and can only conclude that  ∈ ( 12 , 1). Manipulation
of these restrictions into the constraints would find a small range of potential -axis over
that -interval where both constraints could possibly be satisfied. In other words there is no
“quick win”. The fact they cannot be satisfied together would require an understanding of the
geometry and the completeness of the sample points. There are two obvious proof approaches.
Both require to know that at one point, say  = 1, the two constraints are not simultaneously
satisfied. We use  to indicate points where geometric reasoning would seem to be necessary.
solutions here.
2. Let  be a value in [
        <xref ref-type="bibr" rid="ref1">32 , 1</xref>
        ]. Then we need  to have
1. The resultant of the two circles  is 182 − 27 + 445 , whose roots are not real, and a
fortiori not in [
        <xref ref-type="bibr" rid="ref1 ref12">12 , 1</xref>
        ], so the two curves do not cross over [
        <xref ref-type="bibr" rid="ref1 ref21">21 , 1</xref>
        ], and hence there are no
Similarly we need  to have
We can square (5):
2 &lt; 1 −  2. So
Hence
Then we have
 &gt;
+
      </p>
      <p>
        1
3
2
√︂
since it is an inequality of positive numbers, which also implies we can square (4):
again an inequality of positive numbers, and so either 1 − ( −
94 &gt; 0. This is not true when  = 1, and the roots of this quadratic (which is essentially
the resultant) are not in [
        <xref ref-type="bibr" rid="ref1 ref12">12 , 1</xref>
        ] (in fact they are not real). Hence the inequality is nowhere
32 )2 &gt;  2, or 1 − 2 2 + 3 −
The first approach requires less geometric reasoning, and furthermore that reasoning is
essentially uniform — “curves can only cross at roots of the resultant”. It is in fact very similar to line
3 of the CAC proof. So here CAC has essentially produced one of the possible human proofs.
      </p>
    </sec>
    <sec id="sec-4">
      <title>4. Conclusion</title>
      <p>For general quantifier elimination (Problem 1), we have two standard implemented methods in
the literature: CAD and VTS. Both require a completeness result to accept their results, which
is currently beyond the reach of formal proof. In other words, not least does one require a proof
of correctness of the implementation of a VTS or CAD program, but a proof that the algorithms
themselves provide a suficient selection of substitution points to deduce unsatisfiability.</p>
      <p>For the purely existential version (Problem 2), where SAT is easy to verify, but UNSAT is
hard, we have a third method: CAC. At least in easy cases, its execution induces proofs much
closer to something akin to a human proof. The trace of the algorithm and its output seem to
often allow for verifiable results without reliance on a verified completeness result for the entire
algorithm. We acknowledge that no verification based on CAC’s trace or output has yet been
conducted — we publish this paper to highlight the opportunity to the verification community
and encourage their input. Is it possible to regard CAC as a tactic that can guide an automatic
theorem prover?</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Ábrahám</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Davenport</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>England</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kremer</surname>
          </string-name>
          , G.:
          <article-title>Deciding the Consistency of NonLinear Real Arithmetic Constraints with a Conflict Driven Search Using Cylindrical Algebraic Coverings</article-title>
          . http://arxiv.org/abs/
          <year>2003</year>
          .05633 (
          <year>2020</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Ábrahám</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          et al.:
          <article-title>New Opportunities for the Formal Proof of Computational Real Geometry? (Extended Version of the present paper</article-title>
          .) http://arxiv.org/abs/
          <year>2004</year>
          .04034 (
          <year>2020</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Basu</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>New results on quantifier elimination over real closed fields and applications to constraint databases</article-title>
          .
          <source>J. ACM</source>
          <volume>46</volume>
          ,
          <fpage>537</fpage>
          -
          <lpage>555</lpage>
          (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Brown</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Open Non-uniform Cylindrical Algebraic Decompositions</article-title>
          .
          <source>In: Proc. ISSAC</source>
          <year>2015</year>
          . pp.
          <fpage>85</fpage>
          -
          <lpage>92</lpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Brown</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Projection and Quantifier Elimination Using Non-uniform Cylindrical Algebraic Decomposition</article-title>
          .
          <source>In: Proc. ISSAC</source>
          <year>2017</year>
          . pp.
          <fpage>53</fpage>
          -
          <lpage>60</lpage>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Brown</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Davenport</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>The Complexity of Quantifier Elimination and Cylindrical Algebraic Decomposition</article-title>
          . In: Brown, C. (ed.)
          <source>Proc. ISSAC</source>
          <year>2007</year>
          . pp.
          <fpage>54</fpage>
          -
          <lpage>60</lpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Chen</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Moreno</surname>
            <given-names>Maza</given-names>
          </string-name>
          ,
          <string-name>
            <surname>M.:</surname>
          </string-name>
          <article-title>An Incremental Algorithm for Computing Cylindrical Algebraic Decompositions</article-title>
          . In: Feng,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Lee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.s.</given-names>
            ,
            <surname>Sato</surname>
          </string-name>
          ,
          <string-name>
            <surname>Y</surname>
          </string-name>
          . (eds.) Computer Mathematics, pp.
          <fpage>199</fpage>
          -
          <lpage>221</lpage>
          . Springer Berlin Heidelberg (
          <year>2014</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Cohen</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mahboubi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Formal Proofs in Real Algebraic Geometry: From Ordered Fields to Quantifier Elimination</article-title>
          .
          <source>Logical Methods in Computer Science</source>
          <volume>8</volume>
          ,
          <fpage>1</fpage>
          -
          <lpage>40</lpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9] Collins,
          <string-name>
            <surname>G.</surname>
          </string-name>
          :
          <article-title>Quantifier Elimination for Real Closed Fields by Cylindrical Algebraic Decomposition</article-title>
          .
          <source>In: Proc. 2nd. GI Conference Automata Theory &amp; Formal Languages</source>
          . pp.
          <fpage>134</fpage>
          -
          <lpage>183</lpage>
          (
          <year>1975</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Corzilius</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Loup</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Junges</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ábrahám</surname>
          </string-name>
          , E.:
          <article-title>SMT-RAT: An SMT-Compliant Nonlinear Real Arithmetic Toolbox</article-title>
          .
          <source>Proc. SAT</source>
          <year>2012</year>
          pp.
          <fpage>442</fpage>
          -
          <lpage>448</lpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Coste</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Roy</surname>
            ,
            <given-names>M.F.</given-names>
          </string-name>
          :
          <article-title>Thom's Lemma, the Coding of Real Algebraic Numbers and the Computation of the Topology of Semi-Algebraic Sets</article-title>
          .
          <source>J. Symbolic Comp</source>
          .
          <volume>5</volume>
          ,
          <fpage>121</fpage>
          -
          <lpage>129</lpage>
          (
          <year>1988</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Davenport</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heintz</surname>
          </string-name>
          , J.:
          <article-title>Real Quantifier Elimination is Doubly Exponential</article-title>
          .
          <source>J. Symbolic Comp</source>
          .
          <volume>5</volume>
          ,
          <fpage>29</fpage>
          -
          <lpage>35</lpage>
          (
          <year>1988</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Jovanović</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>de Moura</surname>
          </string-name>
          , L.:
          <article-title>Solving Non-Linear Arithmetic</article-title>
          .
          <source>In: Proc. IJCAR</source>
          <year>2012</year>
          . pp.
          <fpage>339</fpage>
          -
          <lpage>354</lpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Košta</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>New concepts for real quantifier elimination by virtual substitution</article-title>
          .
          <source>Ph.D. thesis, Universität des Saarlandes</source>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Košta</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sturm</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dolzmann</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Better answers to real questions</article-title>
          .
          <source>J. Symbolic Comp</source>
          .
          <volume>74</volume>
          ,
          <fpage>255</fpage>
          -
          <lpage>275</lpage>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Lazard</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>An Improved Projection Operator for Cylindrical Algebraic Decomposition</article-title>
          . In: Bajaj,
          <string-name>
            <surname>C</surname>
          </string-name>
          . (ed.)
          <source>Proc. Algebraic Geometry and its Applications</source>
          . pp.
          <fpage>467</fpage>
          -
          <lpage>476</lpage>
          (
          <year>1994</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>Mahboubi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Implementing the cylindrical algebraic decomposition within the Coq system</article-title>
          .
          <source>Math. Struct. in Comp. Science</source>
          <volume>17</volume>
          ,
          <fpage>99</fpage>
          -
          <lpage>127</lpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>McCallum</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>An Improved Projection Operation for Cylindrical Algebraic Decomposition</article-title>
          .
          <source>Ph.D. thesis</source>
          , University of Wisconsin-Madison Computer Science (
          <year>1984</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>McCallum</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Parusiński</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paunescu</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Validity proof of Lazard's method for CAD construction</article-title>
          .
          <source>J. Symbolic Comp</source>
          .
          <volume>92</volume>
          ,
          <fpage>52</fpage>
          -
          <lpage>69</lpage>
          (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <surname>Tarski</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>A Decision Method for Elementary Algebra and Geometry</article-title>
          . 2nd ed.,
          <source>Univ. Cal</source>
          . Press, (
          <year>1951</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <surname>Tonks</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          :
          <article-title>A Poly-algorithmic Quantifier Elimination Package in Maple</article-title>
          .
          <source>In Maple in Mathematics Education and Research</source>
          <year>2019</year>
          pp.
          <fpage>171</fpage>
          -
          <lpage>186</lpage>
          (
          <year>2020</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <surname>Weispfenning</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          :
          <article-title>The Complexity of Linear Problems in Fields</article-title>
          .
          <source>J. Symbolic Comp. 5</source>
          ,
          <fpage>3</fpage>
          -
          <lpage>27</lpage>
          (
          <year>1988</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>