QEPCAD B: a system for computing with semi-algebraic sets via cylindrical algebraic decomposition

  • Authors:
  • Christopher W. Brown

  • Affiliations:
  • United States Naval Academy, Annapolis, MD

  • Venue:
  • ACM SIGSAM Bulletin
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

QEPCAD B2 is a system for computing with semi-algebraic sets. a semi-algebraic set is a subset of ℝn that can be defined as the set of points satisfying a boolean formula combining polynomial equalities and inequalities in the variables x1,...,xn. So, for example, the upper-right quadrant of the unit disk is a semi-algebraic set, since it has the defining formula[see pdf for formula]Many important problems in mathematics, science and engineering boil down to questions about semi-algebraic sets. QEPCAD B allows its users to compute with semi-algebraic sets specified by defining formulae. Computation is exact and symbolic, results being returned in the same language of defining formulae. The basic operations the system supports are formula simplification and quantifier eliminationQuantifier Elimination: Adding quantifiers to a defining formula is, in a sense, asking a question. For example, ∃x[x2+bx+c=0] is the question "when does x2+bx+c have a real root?" The well-known answer "when b2−4c≥0" is an equivalent formula from which the quantified variable has been eliminated. Quantifier elimination algorithms, which produce such equivalent formulae, can be seen as providing "answers" to "questions" about semi-algebraic sets.Formula Simplification: Many procedures in mathematics, performed both manually and mechanically, produce "answers" in the form of defining formulae. These defining formulae are often not particularly nice characterizations of the sets they define--hence the need for formula simplification. For example, QEPCAD B determines that the formulaF:=1+b2−c2≥b∧−c(b2−c2)3+3b2c(b2−c2)∨b2−c2bunder the assumption b 0 ∧ c 0 ∧ 1 b + c ∧ b c ∧ c b is equivalent to F′ := c2 − bc − 1 0. Obviously, F′ was a considerably better characterization for subsequent computations in the application from which this arose.Cylindrical Algebraic Decomposition (CAD): A CAD is essentially a data-structure providing an explicit representation of a semi-algebraic set. This representation is expensive to compute, but it contains so much information about the set it represents that quantifier elimination and simplification are easily accomplished, which is why CAD is the basis for these operations in QEPCAD B. A little insight into what CAD is and how it is used is provided by the following figures, produced by QEPCAD B, which show the CAD representation for the formula F from the simplification example, followed by the CAD representing F restricted by the given assumptions, followed by the simplified CAD representation of the same set, which is what was used to provide the simplified output formula F′.This exhibit focuses on using QEPCAD B as a problem-solving tool. Examples trace problems from the application areas from which they arise, through the initial formulation of quantifier elimination or formula simplification problems, through refining problem formulations to take advantage of QEPCAD B's strengths and avoid its weaknesses. Limitations of the system and tradeoffs versus other tools are also discussed.