Thought Experiment Given ϕ = ∃ x 1 ( ψ ) Temporarily and only in our minds (not in any algorithm) fix ( v 1 , . . . , v k ) := ( a 1 , . . . , a l ) ∈ R k such that ψ becomes univariate in x 1 . Left hand sides of atomic formulas in ψ become univariate polynomials f ∈ R [ x 1 ] . ◮ Sets of satisfying values for x 1 in f ( x 1 ) R 0 are finite unions of intervals [ b 1 , b 2 ] , ( b 1 , b 2 ) , ( b 1 , b 2 ] , [ b 1 , b 2 ) , where b 1 , b 2 ∈ R ∪ {∞} . ◮ if b i ∈ R , then f ( b i ) = 0 ◮ Set of satisfying values for x 1 in ψ has the same form. ∧ is cut and ∨ is intersection of satisfying sets. Virtual Substitution · 13/42
Thought Experiment Given ϕ = ∃ x 1 ( ψ ) Temporarily and only in our minds (not in any algorithm) fix ( v 1 , . . . , v k ) := ( a 1 , . . . , a l ) ∈ R k such that ψ becomes univariate in x 1 . Left hand sides of atomic formulas in ψ become univariate polynomials f ∈ R [ x 1 ] . ◮ Sets of satisfying values for x 1 in f ( x 1 ) R 0 are finite unions of intervals [ b 1 , b 2 ] , ( b 1 , b 2 ) , ( b 1 , b 2 ] , [ b 1 , b 2 ) , where b 1 , b 2 ∈ R ∪ {∞} . ◮ if b i ∈ R , then f ( b i ) = 0 ◮ Set of satisfying values for x 1 in ψ has the same form. ∧ is cut and ∨ is intersection of satisfying sets. ◮ Idea: E = all b 2 or b 2 − ε and ∞ . Virtual Substitution · 13/42
Elimination Sets Given ϕ = ∃ x 1 ( ψ ) Supersets of the zeros of the left hand side terms f ∈ ( . . . ((( Z [ v 1 ])[ v 2 ]) . . . )[ v k ])[ x 1 ] can be computed symbolically and uniformly . Example f = a ( v 1 . . . , v k ) x 2 1 + b ( v 1 , . . . , v k ) x 1 + c ( v 1 , . . . , v k ) yields candidate solutions � for a � = 0 ∧ b 2 − 4 ac ≥ 0 � − b ± b 2 − 4 ac � / 2 a , − c / b for a = 0 ∧ b � = 0 . � �� � � �� � � �� � � �� � γ γ t t Virtual Substitution · 14/42
Elimination Sets Given ϕ = ∃ x 1 ( ψ ) Supersets of the zeros of the left hand side terms f ∈ ( . . . ((( Z [ v 1 ])[ v 2 ]) . . . )[ v k ])[ x 1 ] can be computed symbolically and uniformly . Example f = a ( v 1 . . . , v k ) x 2 1 + b ( v 1 , . . . , v k ) x 1 + c ( v 1 , . . . , v k ) yields candidate solutions � for a � = 0 ∧ b 2 − 4 ac ≥ 0 � − b ± b 2 − 4 ac � / 2 a , − c / b for a = 0 ∧ b � = 0 . � �� � � �� � � �� � � �� � γ γ t t An elimination set E for x 1 and ψ is a finite set of pairs ( γ, t ) such that � R | = ∃ x 1 ( ψ ) ← → γ ∧ ψ [ x 1 / / t ] . ( γ, t ) ∈ E Virtual Substitution · 14/42
Virtual Substitution � Given ϕ = ∃ x 1 ( ψ ) and E such that R | = ∃ x 1 ( ψ ) ← → γ ∧ ψ [ x 1 / / t ] . ( γ, t ) ∈ E Remaining Problem t contain / , √· , ∞ , ε , . . . , which are not in our language L . Solution: Virtual Substitution [ x / / t ] : atomic formulas → quantifier-free formulas Virtual Substitution · 15/42
Virtual Substitution � Given ϕ = ∃ x 1 ( ψ ) and E such that R | = ∃ x 1 ( ψ ) ← → γ ∧ ψ [ x 1 / / t ] . ( γ, t ) ∈ E Remaining Problem t contain / , √· , ∞ , ε , . . . , which are not in our language L . Solution: Virtual Substitution [ x / / t ] : atomic formulas → quantifier-free formulas And beyond degree 2? ◮ Method generalizes to arbitrary degrees (in principle long known). ◮ first implementation will be available this year (PhD thesis by M. Košta). ◮ For higher degrees, t will be way more abstract. Virtual Substitution · 15/42
Virtual Substitution � Given ϕ = ∃ x 1 ( ψ ) and E such that R | = ∃ x 1 ( ψ ) ← → γ ∧ ψ [ x 1 / / t ] . ( γ, t ) ∈ E Remaining Problem t contain / , √· , ∞ , ε , . . . , which are not in our language L . Solution: Virtual Substitution [ x / / t ] : atomic formulas → quantifier-free formulas And beyond degree 2? ◮ Method generalizes to arbitrary degrees (in principle long known). ◮ first implementation will be available this year (PhD thesis by M. Košta). ◮ For higher degrees, t will be way more abstract. Important In practice, good simplification of quantifier-free (intermediate) results is crucial! Virtual Substitution · 15/42
Virtual Substitution by Example g ∗ f ∈ Z [ y ][ x ] , f i , g i , i ∈ Z [ y ] Conventions: Quotients � ≡ f 1 � f 1 x + f 0 ≤ 0 �� x / / g 1 g 1 g 2 + f 0 ≤ 0 ≡ f 1 g 1 g 2 + f 0 g 2 2 ≤ 0 g 2 Virtual Substitution · 16/42
Virtual Substitution by Example g ∗ f ∈ Z [ y ][ x ] , f i , g i , i ∈ Z [ y ] Conventions: Quotients � ≡ f 1 � f 1 x + f 0 ≤ 0 �� x / / g 1 g 1 g 2 + f 0 ≤ 0 ≡ f 1 g 1 g 2 + f 0 g 2 2 ≤ 0 g 2 Formal solutions of quadratic equations √ g 3 ≡ g ∗ 1 + g ∗ � �� √ g 3 � g 1 + g 2 2 x / / f = 0 = 0 g ∗ g 4 4 Virtual Substitution · 16/42
Virtual Substitution by Example g ∗ f ∈ Z [ y ][ x ] , f i , g i , i ∈ Z [ y ] Conventions: Quotients � ≡ f 1 � f 1 x + f 0 ≤ 0 �� x / / g 1 g 1 g 2 + f 0 ≤ 0 ≡ f 1 g 1 g 2 + f 0 g 2 2 ≤ 0 g 2 Formal solutions of quadratic equations √ g 3 ≡ g ∗ 1 + g ∗ � �� √ g 3 � g 1 + g 2 2 x / / f = 0 = 0 g ∗ g 4 4 √ g 3 g ∗ 1 + g ∗ 2 − g ∗ = 0 ≡ g ∗ 2 g 3 = 0 ∧ g ∗ 1 g ∗ 2 2 ≤ 0 g ∗ 1 2 4 Virtual Substitution · 16/42
Virtual Substitution by Example g ∗ f ∈ Z [ y ][ x ] , f i , g i , i ∈ Z [ y ] Conventions: Quotients � ≡ f 1 � f 1 x + f 0 ≤ 0 �� x / / g 1 g 1 g 2 + f 0 ≤ 0 ≡ f 1 g 1 g 2 + f 0 g 2 2 ≤ 0 g 2 Formal solutions of quadratic equations √ g 3 ≡ g ∗ 1 + g ∗ � �� √ g 3 � g 1 + g 2 2 x / / f = 0 = 0 g ∗ g 4 4 √ g 3 g ∗ 1 + g ∗ 2 − g ∗ = 0 ≡ g ∗ 2 g 3 = 0 ∧ g ∗ 1 g ∗ 2 2 ≤ 0 g ∗ 1 2 4 √ g 3 g ∗ 1 + g ∗ 2 − g ∗ 2 − g ∗ ≤ 0 ≡ ( g ∗ 2 g 3 ≥ 0 ∧ g ∗ 1 g ∗ 4 ≤ 0 ) ∨ ( g ∗ 2 g 3 ≤ 0 ∧ g ∗ 2 g ∗ 2 4 ≤ 0 ) g ∗ 1 2 1 2 4 Virtual Substitution · 16/42
Virtual Substitution by Example g ∗ f ∈ Z [ y ][ x ] , f i , g i , i ∈ Z [ y ] Conventions: Quotients � ≡ f 1 � f 1 x + f 0 ≤ 0 �� x / / g 1 g 2 + f 0 ≤ 0 ≡ f 1 g 1 g 2 + f 0 g 2 g 1 2 ≤ 0 g 2 Formal solutions of quadratic equations √ g 3 ≡ g ∗ 1 + g ∗ � �� √ g 3 � g 1 + g 2 2 x / / f = 0 = 0 g ∗ g 4 4 √ g 3 g ∗ 1 + g ∗ 2 − g ∗ = 0 ≡ g ∗ 2 g 3 = 0 ∧ g ∗ 1 g ∗ 2 2 ≤ 0 g ∗ 1 2 4 √ g 3 g ∗ 1 + g ∗ 2 − g ∗ 2 − g ∗ ≤ 0 ≡ ( g ∗ 2 g 3 ≥ 0 ∧ g ∗ 1 g ∗ 4 ≤ 0 ) ∨ ( g ∗ 2 g 3 ≤ 0 ∧ g ∗ 2 g ∗ 2 4 ≤ 0 ) g ∗ 1 2 1 2 4 Infinity ( f 2 x 2 + f 1 x + f 0 < 0 )[ x / / ∞ ] ≡ f 2 < 0 ∨ ( f 2 = 0 ∧ f 1 < 0 ) ∨ ( f 2 = 0 ∧ f 1 = 0 ∧ f 0 < 0 ) Virtual Substitution · 16/42
Virtual Substitution by Example g ∗ f ∈ Z [ y ][ x ] , f i , g i , i ∈ Z [ y ] Conventions: Quotients � ≡ f 1 � f 1 x + f 0 ≤ 0 �� x / / g 1 g 1 g 2 + f 0 ≤ 0 ≡ f 1 g 1 g 2 + f 0 g 2 2 ≤ 0 g 2 Formal solutions of quadratic equations √ g 3 ≡ g ∗ 1 + g ∗ � �� √ g 3 � g 1 + g 2 2 x / / f = 0 = 0 g ∗ g 4 4 √ g 3 g ∗ 1 + g ∗ 2 − g ∗ = 0 ≡ g ∗ 2 g 3 = 0 ∧ g ∗ 1 g ∗ 2 2 ≤ 0 g ∗ 1 2 4 √ g 3 g ∗ 1 + g ∗ 2 − g ∗ 2 − g ∗ ≤ 0 ≡ ( g ∗ 2 g 3 ≥ 0 ∧ g ∗ 1 g ∗ 4 ≤ 0 ) ∨ ( g ∗ 2 g 3 ≤ 0 ∧ g ∗ 2 g ∗ 2 4 ≤ 0 ) g ∗ 1 2 1 2 4 Infinity ( f 2 x 2 + f 1 x + f 0 < 0 )[ x / / ∞ ] ≡ f 2 < 0 ∨ ( f 2 = 0 ∧ f 1 < 0 ) ∨ ( f 2 = 0 ∧ f 1 = 0 ∧ f 0 < 0 ) Positive infinitesimals ( 3 x 2 + 6 x − 3 > 0 )[ x / / t − ε ] ≡ 3 t 2 + 6 t − 3 > 0 ∨ ( 3 t 2 + 6 t − 3 = 0 ∧ 6 t + 6 ≤ 0 ) Virtual Substitution · 16/42
Elimination of Several Existential Quantifiers by Block Back to the bigger picture � . . . ∀ ∗ ∃ ∗ ∀ ∗ ∃ ∗ ∃ x 1 ( ψ ) . . . ∀ ∗ ∃ ∗ ∀ ∗ ∃ ∗ γ ∧ ψ [ x 1 / / t ] � ( γ, t ) ∈ E Disjunction � is compatible with existential quantifiers ∃ ∗ : � � . . . ∀ ∗ ∃ ∗ ∀ ∗ ∃ ∗ . . . ∀ ∗ ∃ ∗ ∀ ∗ ∃ ∗ ( γ ∧ ψ [ x 1 / γ ∧ ψ [ x 1 / / t ] / t ]) � ( γ, t ) ∈ E ( γ, t ) ∈ E Virtual Substitution · 17/42
Elimination of Several Existential Quantifiers by Block Back to the bigger picture � . . . ∀ ∗ ∃ ∗ ∀ ∗ ∃ ∗ ∃ x 1 ( ψ ) . . . ∀ ∗ ∃ ∗ ∀ ∗ ∃ ∗ γ ∧ ψ [ x 1 / / t ] � ( γ, t ) ∈ E Disjunction � is compatible with existential quantifiers ∃ ∗ : � � . . . ∀ ∗ ∃ ∗ ∀ ∗ ∃ ∗ . . . ∀ ∗ ∃ ∗ ∀ ∗ ∃ ∗ ( γ ∧ ψ [ x 1 / γ ∧ ψ [ x 1 / / t ] / t ]) � ( γ, t ) ∈ E ( γ, t ) ∈ E Effect ◮ more local substitution of test points With the elimination of the next quantifiers ◮ even improves upper bound on asymptotic worst-case complexity Virtual Substitution · 17/42
Complexity of Virtual Substitution Upper bound on asymptotic worst-case complexity doubly exponential in the input word length (and thus optimal) More precisely doubly exponential in # quantifier alternations singly exponential in # quantifiers thanks to elimination by block polynomial in # parameters (= unquantified variables) polynomial in # atomic formulas particularly good for low degrees and many parameters For comparision: Cylindrical Algberaic Decomposition (CAD) [Collins 1973, Hong, Brown, . . . ] doubly exponential in the number of all variables For comparison: Asymptotically fast procedures [Renegar, Basu–Pollack–Roy, Grigoriev, . . . ] no practical relevance (so far) Virtual Substitution · 18/42
Variants of Quantifier Elimination Variants of Quantifier Elimination · 19/42
Extended Quantifier Elimination . . . . . . � ∃ x ϕ ← → γ ∧ ϕ [ t / / x ] ∃ x ϕ � γ ∧ ϕ [ t / / x ] Generalize to x = t ( γ, t ) ∈ E . . . . . . Simple example revisited � b 2 − 4 ac x = − b − a � = 0 ∧ b 2 − 4 ac ≥ 0 2 a ϕ ≡ ∃ x ( ax 2 + bx + c = 0 ) � x = − c a = 0 ∧ b � = 0 b a = 0 ∧ b = 0 ∧ c = 0 x = ∞ 1 Semantics (for fixed parameters) Whenever some left hand side condition holds, then ∃ x ϕ holds and the corresponding right hand side term is one sample solution. [M. Kosta, T.S., A. Dolzmann, J. Symb. Comput. 2016] For fixed choices of parameters, standard values can be efficiently computed for all ∞ i and ε i in a post-processing step. Variants of Quantifier Elimination · 20/42
Generic Quantifier Elimination Collect negated equations from the γ in a global theory Θ : E = { . . . , ( s � = 0 ∧ γ ′ , t ) , . . . ) Θ = { . . . , s � = 0 , . . . } , E = { . . . , ( γ ′ , t ) , . . . } � Semantics ϕ ′ is correct for all choices of parameters satisfying Θ : � → ( ϕ ′ ← Θ − → ϕ ) . Important observation exception set has a lower dimension than the parameter space Simple example revisited ϕ ≡ ∃ x ( ax 2 + bx + c = 0 ) ϕ ′ ≡ b 2 − 4 ac ≥ 0 Θ = { a � = 0 } , � Variants of Quantifier Elimination · 21/42
Software Software · 22/42
Redlog and Reduce Everything discussed here is available in our computer logic system Redlog: http://www.redlog.eu ◮ interactive system, QE and decision for many domains, normal forms, simplification, construction and decomposition of large formulas, . . . ◮ interfaces to Qepcad B, Gurobi, Mathematica, Z3, . . . ◮ more than 300 citations of applications in the literature: geometry, verification, chemistry, life sciences, physics and engineering, scientific computation, geometry and planning, . . . ◮ Redlog development since 1992 as part of the CAS Reduce [Hearn, 1968] ◮ Reduce/Redlog open-source (free-BSD) on Sourceforge since 12/2008 http://reduce-algebra.sourceforge.net ◮ 48,318 downloads since 12/2008 (7,496 in 2014), 500+ SVN commits per year Software · 23/42
Further Theories in Redlog Integers (AAECC 2007, CASC 2007, CASC 2009) ◮ Presburger Arithmetic ◮ weak quantifier elimination for the full linear theory ◮ weak quantifier elimination also for higher degrees (special cases) Mixed Real-Integer (Weispfenning at ISSAC 1999) ◮ experimental Complex Numbers (using Comprehensive Gröbner Bases) ◮ language of rings only Differential Algebras (CASC 2004) ◮ language of rings with unary differential operator ◮ computation in differentially closed field (A. Robinson, Blum) Software · 24/42
Further Theories in Redlog Padic Numbers (JSC 2000, ISSAC 1999, CASC 2001) ◮ linear formulas over p -adic fields for p prime ◮ optionally uniform in p ◮ used e.g. for solving parametric systems of congruences over the integers Terms (CASC 2002) ◮ Malcev-type term algebras (with functions instead of relations) Queues (C. Straßer at RWCA 2006) ◮ two-sided queues over the other theories (2-sorted) ◮ Implemented at present for queues of reals Propositional Formulas (CASC 2003, ISSAC 2010) ◮ generalization of SAT solving ◮ quantified propositional calculus, i.e., parametric QSAT (aka QBF) solving Software · 25/42
Some Other Software ◮ Qepcad B (Hong and Brown) is the reference implementation for cylindrical algebraic decomposition (CAD). ◮ The computer algebra system Mathematica has real QE: essentially CAD + virtual substitution for preprocessing. ◮ The computer algebra system Maple has been used in recent research on CAD (Davenport et al.) ◮ The computer algebra system Risa/Asir (originally by Fujitsu) has QE by virtual substitution (TS, 1996) ◮ Some prototypes in Japan based on comprehensive Gröbner bases (Sato et al.) or Sturm–Habicht sequences (Anai et al. in Matlab) ◮ Specialized implementations of CAD in SMT solvers (z3) ◮ Specialized implementations of virtual substitutions for SMT (SMT-RAT) Software · 26/42
Applications in Geometry and Verification Applications in Geometry and Verification · 27/42
Variant of the Steiner–Lehmus-Theorem [J. Autom. Reasoning 1998 – Joint work with A. Dolzmann, V. Weispfenning] The longer bisector goes to the shorter side h 1 ≡ u 2 ≥ 0 ∧ x 1 ≥ 0 C=(u1,u2) r 2 = 1 + x 2 1 = u 2 1 + ( u 2 − x 1 ) 2 ≡ h 2 M x 2 ≤ 0 ∧ r 2 = ( x 2 − x 1 ) 2 h 3 ≡ Y X h 4 ≡ u 1 x 2 + u 2 x 3 − x 2 x 3 = 0 W A=(−1,0) B=(1,0) x 4 ≤ 1 ∧ ( x 4 − 1 ) 2 = ( u 1 − 1 ) 2 + u 2 ≡ h 5 2 ( − 1 − u 1 ) 2 + u 2 2 < 2 2 ≡ h 7 V ( x 4 − x 5 ) 2 + x 2 6 = ( u 1 − x 5 ) 2 + ( u 2 − x 6 ) 2 ∧ u 1 x 6 − u 2 x 5 − u 2 + x 6 = 0 ≡ h 6 ( u 1 − x 3 ) 2 + u 2 2 < ( x 5 − 1 ) 2 + x 2 ≡ g 6 Applications in Geometry and Verification · 28/42
Variant of the Steiner–Lehmus-Theorem [J. Autom. Reasoning 1998 – Joint work with A. Dolzmann, V. Weispfenning] The longer bisector goes to the shorter side h 1 ≡ u 2 ≥ 0 ∧ x 1 ≥ 0 C=(u1,u2) r 2 = 1 + x 2 1 = u 2 1 + ( u 2 − x 1 ) 2 ≡ h 2 M x 2 ≤ 0 ∧ r 2 = ( x 2 − x 1 ) 2 h 3 ≡ Y X h 4 ≡ u 1 x 2 + u 2 x 3 − x 2 x 3 = 0 W A=(−1,0) B=(1,0) x 4 ≤ 1 ∧ ( x 4 − 1 ) 2 = ( u 1 − 1 ) 2 + u 2 ≡ h 5 2 ( − 1 − u 1 ) 2 + u 2 2 < 2 2 ≡ h 7 V ( x 4 − x 5 ) 2 + x 2 6 = ( u 1 − x 5 ) 2 + ( u 2 − x 6 ) 2 ∧ u 1 x 6 − u 2 x 5 − u 2 + x 6 = 0 ≡ h 6 ( u 1 − x 3 ) 2 + u 2 2 < ( x 5 − 1 ) 2 + x 2 ≡ g 6 � 7 � � ◮ ϕ ≡ ∀ x 6 ∀ x 5 ∀ x 4 ∀ x 3 ∀ x 2 ∀ x 1 ∀ r h i − → g i = 1 Applications in Geometry and Verification · 28/42
Variant of the Steiner–Lehmus-Theorem [J. Autom. Reasoning 1998 – Joint work with A. Dolzmann, V. Weispfenning] The longer bisector goes to the shorter side h 1 ≡ u 2 ≥ 0 ∧ x 1 ≥ 0 C=(u1,u2) r 2 = 1 + x 2 1 = u 2 1 + ( u 2 − x 1 ) 2 ≡ h 2 M x 2 ≤ 0 ∧ r 2 = ( x 2 − x 1 ) 2 h 3 ≡ Y X h 4 ≡ u 1 x 2 + u 2 x 3 − x 2 x 3 = 0 W A=(−1,0) B=(1,0) x 4 ≤ 1 ∧ ( x 4 − 1 ) 2 = ( u 1 − 1 ) 2 + u 2 ≡ h 5 2 ( − 1 − u 1 ) 2 + u 2 2 < 2 2 ≡ h 7 V ( x 4 − x 5 ) 2 + x 2 6 = ( u 1 − x 5 ) 2 + ( u 2 − x 6 ) 2 ∧ u 1 x 6 − u 2 x 5 − u 2 + x 6 = 0 ≡ h 6 ( u 1 − x 3 ) 2 + u 2 2 < ( x 5 − 1 ) 2 + x 2 ≡ g 6 � 7 � � ◮ ϕ ≡ ∀ x 6 ∀ x 5 ∀ x 4 ∀ x 3 ∀ x 2 ∀ x 1 ∀ r h i − → g i = 1 ◮ Generic QE (1.1 s): ϕ ′ 231 atomic formulas, Θ = { u 2 1 − 2 u 1 + u 2 2 − 3 � = 0 , u 1 � = 0 , u 2 � = 0 } . � �� � ( u 1 − 1 ) 2 + u 2 2 � = 4 Applications in Geometry and Verification · 28/42
Variant of the Steiner–Lehmus-Theorem [J. Autom. Reasoning 1998 – Joint work with A. Dolzmann, V. Weispfenning] The longer bisector goes to the shorter side h 1 ≡ u 2 ≥ 0 ∧ x 1 ≥ 0 C=(u1,u2) r 2 = 1 + x 2 1 = u 2 1 + ( u 2 − x 1 ) 2 ≡ h 2 M x 2 ≤ 0 ∧ r 2 = ( x 2 − x 1 ) 2 h 3 ≡ Y X h 4 ≡ u 1 x 2 + u 2 x 3 − x 2 x 3 = 0 W A=(−1,0) B=(1,0) x 4 ≤ 1 ∧ ( x 4 − 1 ) 2 = ( u 1 − 1 ) 2 + u 2 ≡ h 5 2 ( − 1 − u 1 ) 2 + u 2 2 < 2 2 ≡ h 7 V ( x 4 − x 5 ) 2 + x 2 6 = ( u 1 − x 5 ) 2 + ( u 2 − x 6 ) 2 ∧ u 1 x 6 − u 2 x 5 − u 2 + x 6 = 0 ≡ h 6 ( u 1 − x 3 ) 2 + u 2 2 < ( x 5 − 1 ) 2 + x 2 ≡ g 6 � 7 � � ◮ ϕ ≡ ∀ x 6 ∀ x 5 ∀ x 4 ∀ x 3 ∀ x 2 ∀ x 1 ∀ r h i − → g i = 1 ◮ Generic QE (1.1 s): ϕ ′ 231 atomic formulas, Θ = { u 2 1 − 2 u 1 + u 2 2 − 3 � = 0 , u 1 � = 0 , u 2 � = 0 } . � �� � ◮ CAD (0.9 s): ∀ u 1 ∀ u 2 ( � Θ − → ϕ ′ ) � ( u 1 − 1 ) 2 + u 2 2 � = 4 Applications in Geometry and Verification · 28/42
Collision Avoidance with Adaptive Cruise Control [ISSAC 2011 – Joint Work with A. Tiwari @SRI] System dynamics v f = a f ∈ [ − 5 , 2 ] ˙ velocity and accelleration of leading car ˙ v = a ∈ [ − 5 , 2 ] velocity and accelleration of rear car ˙ gap = v f − v ˙ a = − 3 a − 3 ( v − v f ) + ( gap − ( v + 10 )) control law for rear car Initial states and safe states Init ≡ gap = 10 ∧ a = 0 ∧ v f = c 1 ∧ v = c 2 Safe ≡ gap > 0 Applications in Geometry and Verification · 29/42
Collision Avoidance with Adaptive Cruise Control [ISSAC 2011 – Joint Work with A. Tiwari @SRI] System dynamics v f = a f ∈ [ − 5 , 2 ] ˙ velocity and accelleration of leading car ˙ v = a ∈ [ − 5 , 2 ] velocity and accelleration of rear car ˙ gap = v f − v ˙ a = − 3 a − 3 ( v − v f ) + ( gap − ( v + 10 )) control law for rear car Initial states and safe states Init ≡ gap = 10 ∧ a = 0 ∧ v f = c 1 ∧ v = c 2 Safe ≡ gap > 0 Certificate-based approach to find a set Inv such that 1. Init ⊆ Inv 2. Inv ⊆ Safe 3. System dynamics cannot cause the system to leave Inv. Applications in Geometry and Verification · 29/42
Collision Avoidance with Adaptive Cruise Control Linear ansatz Inv ≡ p ≥ 0 where p := c 3 v + c 4 v f + c 5 a + gap + c 6 Inv ′ ≡ − 5 ≤ a ≤ 2 ∧ − 5 ≤ a f ≤ 2 ∧ v ≥ 0 ∧ v f ≥ 0 Certificate as a formula ∃ c 3 ∃ c 4 ∃ c 5 ∃ c 6 ∀ v ∀ v f ∀ gap ∀ a ∀ a f ( ϕ 1 ∧ ϕ 2 ∧ ϕ 3 ) Init ∧ Inv ′ − where ϕ 1 ≡ → Inv Inv ∧ Inv ′ − ϕ 2 ≡ → Safe p = 0 ∧ Inv ′ − ≡ → ˙ p ≥ 0 ϕ 3 Applications in Geometry and Verification · 30/42
Collision Avoidance with Adaptive Cruise Control Linear ansatz Inv ≡ p ≥ 0 where p := c 3 v + c 4 v f + c 5 a + gap + c 6 Inv ′ ≡ − 5 ≤ a ≤ 2 ∧ − 5 ≤ a f ≤ 2 ∧ v ≥ 0 ∧ v f ≥ 0 Certificate as a formula ∃ c 3 ∃ c 4 ∃ c 5 ∃ c 6 ∀ v ∀ v f ∀ gap ∀ a ∀ a f ( ϕ 1 ∧ ϕ 2 ∧ ϕ 3 ) Init ∧ Inv ′ − where ϕ 1 ≡ → Inv Inv ∧ Inv ′ − ϕ 2 ≡ → Safe p = 0 ∧ Inv ′ − ≡ → ˙ p ≥ 0 ϕ 3 After 1 minute of computation: ◮ 584 disjuncts, 33365 atomic formulas, depth 13, some still containing ∃ c 5 ◮ first 33 disjuncts automatically simplify to c 2 2 − 30 c 2 − 75 ≤ 0 for c 1 > 0, c 2 > 0. ◮ ⇒ no collision for c 2 = v ≤ 32 Applications in Geometry and Verification · 30/42
Cylindrical Algebraic Decomposition (CAD) CAD for Satistfiability Checking · 31/42
From Sign Invariant Regions to CAD Cells ϕ ( f 1 , f 2 ) is a Boolean combination of constraints with left hand sides f 1 , f 2 and right hand sides 0. f 1 ( x , y ) = 2 y 2 − 2 x 3 − 3 x 2 f 1 ( A ) = − 1 < 0 f 1 ( B ) = 2 > 0 f 1 ( C ) = − 5 < 0 f 1 ( D ) = 0 CAD for Satistfiability Checking · 32/42
From Sign Invariant Regions to CAD Cells ϕ ( f 1 , f 2 ) is a Boolean combination of constraints with left hand sides f 1 , f 2 and right hand sides 0. f 1 ( x , y ) = 2 y 2 − 2 x 3 − 3 x 2 f 1 ( A ) = − 1 < 0 f 1 ( B ) = 2 > 0 f 1 ( C ) = − 5 < 0 f 1 ( D ) = 0 f 2 ( x , y ) = y 2 + x 2 − 1 CAD for Satistfiability Checking · 32/42
From Sign Invariant Regions to CAD Cells ϕ ( f 1 , f 2 ) is a Boolean combination of constraints with left hand sides f 1 , f 2 and right hand sides 0. f 1 ( x , y ) = 2 y 2 − 2 x 3 − 3 x 2 f 1 ( A ) = − 1 < 0 f 1 ( B ) = 2 > 0 f 1 ( C ) = − 5 < 0 f 1 ( D ) = 0 f 2 ( x , y ) = y 2 + x 2 − 1 CAD for Satistfiability Checking · 32/42
From Sign Invariant Regions to CAD Cells ϕ ( f 1 , f 2 ) is a Boolean combination of constraints with left hand sides f 1 , f 2 and right hand sides 0. f 1 ( x , y ) = 2 y 2 − 2 x 3 − 3 x 2 f 1 ( A ) = − 1 < 0 f 1 ( B ) = 2 > 0 f 1 ( C ) = − 5 < 0 f 1 ( D ) = 0 f 2 ( x , y ) = y 2 + x 2 − 1 g ( x ) = − 2 x 3 − 3 x 2 . . . projection polynomials CAD for Satistfiability Checking · 32/42
Projection and Base Phase (1) ϕ ( f 1 , f 2 ) ◮ projection operator computes projection set : Π( { f 1 ( x , y ) , f 2 ( x , y ) } ) = { g 1 ( x ) , . . . , g k ( x ) } CAD for Satistfiability Checking · 33/42
Projection and Base Phase (1) ϕ ( f 1 , f 2 ) ◮ projection operator computes projection set : Π( { f 1 ( x , y ) , f 2 ( x , y ) } ) = { g 1 ( x ) , . . . , g k ( x ) } ◮ Projections of critical points are among the zeros of g 1 , . . . , g k . CAD for Satistfiability Checking · 33/42
Projection and Base Phase (1) ϕ ( f 1 , f 2 ) ◮ projection operator computes projection set : Π( { f 1 ( x , y ) , f 2 ( x , y ) } ) = { g 1 ( x ) , . . . , g k ( x ) } ◮ Projections of critical points are among the zeros of g 1 , . . . , g k . ◮ The zeros of the g i are real algebraic numbers, e.g. � 2 = � x 2 − 2 , ] − 10 , 1 [ � − CAD for Satistfiability Checking · 33/42
Projection and Base Phase (1) ϕ ( f 1 , f 2 ) ◮ projection operator computes projection set : Π( { f 1 ( x , y ) , f 2 ( x , y ) } ) = { g 1 ( x ) , . . . , g k ( x ) } ◮ Projections of critical points are among the zeros of g 1 , . . . , g k . ◮ The zeros of the g i are real algebraic numbers, e.g. � 2 = � x 2 − 2 , ] − 10 , 1 [ � − ◮ Their computation is univariate computer algebra. CAD for Satistfiability Checking · 33/42
Projection and Base Phase (2) ϕ ( f 1 , f 2 ) ◮ Add points (anywhere) between the zeros as test points for the 1-dimensional cells. CAD for Satistfiability Checking · 34/42
Projection and Base Phase (2) ϕ ( f 1 , f 2 ) ◮ Add points (anywhere) between the zeros as test points for the 1-dimensional cells. ◮ This yields a decomposition of R 1 (the x -axis). CAD for Satistfiability Checking · 34/42
Projection and Base Phase (2) ϕ ( f 1 , f 2 ) ◮ Add points (anywhere) between the zeros as test points for the 1-dimensional cells. ◮ This yields a decomposition of R 1 (the x -axis). ◮ We want to lift this decomposition to R 2 . CAD for Satistfiability Checking · 34/42
Projection and Base Phase (2) ϕ ( f 1 , f 2 ) ◮ Add points (anywhere) between the zeros as test points for the 1-dimensional cells. ◮ This yields a decomposition of R 1 (the x -axis). ◮ We want to lift this decomposition to R 2 . ◮ By the way: How many cells will there be in R 2 ? CAD for Satistfiability Checking · 34/42
Extension Phase (Lifting) ϕ ( f 1 , f 2 ) For each test point t from the base phase: ◮ compute univariate f 1 ( t , y ) , f 2 ( t , y ) . with algebraic number coefficients. CAD for Satistfiability Checking · 35/42
Extension Phase (Lifting) ϕ ( f 1 , f 2 ) For each test point t from the base phase: ◮ compute univariate f 1 ( t , y ) , f 2 ( t , y ) . with algebraic number coefficients. ◮ compute zeros and points between zeros u 1 , . . . , u s . CAD for Satistfiability Checking · 35/42
Extension Phase (Lifting) ϕ ( f 1 , f 2 ) For each test point t from the base phase: ◮ compute univariate f 1 ( t , y ) , f 2 ( t , y ) . with algebraic number coefficients. ◮ compute zeros and points between zeros u 1 , . . . , u s . ◮ this yields test points ( t , u 1 ) , . . . , ( t , u s ) ∈ R 2 for the cylinder over t . CAD for Satistfiability Checking · 35/42
Example: a CAD as a “data structure” P 3 = { x 2 1 + x 2 2 + x 2 3 − 4 } P 2 = { x 2 2 + x 2 1 − 4 } P 1 = { x 1 + 2 , x 1 − 2 } C. W. Brown, U.S. Naval Academy 3
Example: a CAD as a “data structure” P 3 = { x 2 1 + x 2 2 + x 2 3 − 4 } P 2 = { x 2 2 + x 2 1 − 4 } P 1 = { x 1 + 2 , x 1 − 2 } C. W. Brown, U.S. Naval Academy 3
Example: a CAD as a “data structure” P 3 = { x 2 1 + x 2 2 + x 2 3 − 4 } P 2 = { x 2 2 + x 2 1 − 4 } P 1 = { x 1 + 2 , x 1 − 2 } C. W. Brown, U.S. Naval Academy 3
Example: a CAD as a “data structure” P 3 = { x 2 1 + x 2 2 + x 2 3 − 4 } P 2 = { x 2 2 + x 2 1 − 4 } P 1 = { x 1 + 2 , x 1 − 2 } C. W. Brown, U.S. Naval Academy 3
SAT-Checking ϕ ( f 1 , f 2 ) ◮ Finitely many test points � ( t 1 , u t 1 , 1 ) , . . . , ( t 1 , u t 1 , s 1 ) , T = . . . ( t r , u t r , 1 ) , . . . , ( t r , u t r , s r ) � . CAD for Satistfiability Checking · 36/42
SAT-Checking ϕ ( f 1 , f 2 ) ◮ Finitely many test points � ( t 1 , u t 1 , 1 ) , . . . , ( t 1 , u t 1 , s 1 ) , T = . . . ( t r , u t r , 1 ) , . . . , ( t r , u t r , s r ) � . ◮ R | = ∃ ϕ ( f 1 , f 2 ) iff ex. t ∈ T s.t. R , ( x , y ) = t | = ϕ ( f 1 , f 2 ) . CAD for Satistfiability Checking · 36/42
Complete Decision Procedure ◮ Finitely many test points � ( t 1 , u t 1 , 1 ) , . . . , ( t 1 , u t 1 , s 1 ) , T = . . . ( t r , u t r , 1 ) , . . . , ( t r , u t r , s r ) � . CAD as a Complete Decision Procedure · 37/42
Complete Decision Procedure ◮ Finitely many test points � ( t 1 , u t 1 , 1 ) , . . . , ( t 1 , u t 1 , s 1 ) , T = . . . ( t r , u t r , 1 ) , . . . , ( t r , u t r , s r ) � . ◮ ∀ x ∃ y ϕ ( f 1 , f 2 ) : “In each cylinder there is a cell such that . . . ” Satisfying t in each row of T ? CAD as a Complete Decision Procedure · 37/42
Complete Decision Procedure ◮ Finitely many test points � ( t 1 , u t 1 , 1 ) , . . . , ( t 1 , u t 1 , s 1 ) , T = . . . ( t r , u t r , 1 ) , . . . , ( t r , u t r , s r ) � . ◮ ∀ x ∃ y ϕ ( f 1 , f 2 ) : “In each cylinder there is a cell such that . . . ” Satisfying t in each row of T ? ◮ ∃ x ∀ y ϕ ( f 1 , f 2 ) : “There is a cylinder such that for each cell . . . ” A satisfying column of T ? CAD as a Complete Decision Procedure · 37/42
Complete Decision Procedure ◮ Finitely many test points � ( t 1 , u t 1 , 1 ) , . . . , ( t 1 , u t 1 , s 1 ) , T = . . . ( t r , u t r , 1 ) , . . . , ( t r , u t r , s r ) � . ◮ ∀ x ∃ y ϕ ( f 1 , f 2 ) : “In each cylinder there is a cell such that . . . ” Satisfying t in each row of T ? ◮ ∃ x ∀ y ϕ ( f 1 , f 2 ) : “There is a cylinder such that for each cell . . . ” A satisfying column of T ? ◮ The innermost variable y was projected first. CAD as a Complete Decision Procedure · 37/42
Some Remarks Before We Continue ◮ Given ϕ ( f 1 , f 2 ) essentially all the algorithmic work we have done is valid for arbitrary Boolean combinations ψ ( f 1 , f 2 ) of arbitrary constraints with left hand sides f 1 , f 2 (and right hand sides 0). CAD as a Complete Decision Procedure · 38/42
Some Remarks Before We Continue ◮ Given ϕ ( f 1 , f 2 ) essentially all the algorithmic work we have done is valid for arbitrary Boolean combinations ψ ( f 1 , f 2 ) of arbitrary constraints with left hand sides f 1 , f 2 (and right hand sides 0). ◮ Furthermore, even for arbitrary quantification QxQ ′ y (in that order). CAD as a Complete Decision Procedure · 38/42
Some Remarks Before We Continue ◮ Given ϕ ( f 1 , f 2 ) essentially all the algorithmic work we have done is valid for arbitrary Boolean combinations ψ ( f 1 , f 2 ) of arbitrary constraints with left hand sides f 1 , f 2 (and right hand sides 0). ◮ Furthermore, even for arbitrary quantification QxQ ′ y (in that order). ◮ This indicates that the CAD procedure is somewhat an overkill. CAD as a Complete Decision Procedure · 38/42
Some Remarks Before We Continue ◮ Given ϕ ( f 1 , f 2 ) essentially all the algorithmic work we have done is valid for arbitrary Boolean combinations ψ ( f 1 , f 2 ) of arbitrary constraints with left hand sides f 1 , f 2 (and right hand sides 0). ◮ Furthermore, even for arbitrary quantification QxQ ′ y (in that order). ◮ This indicates that the CAD procedure is somewhat an overkill. ◮ On the other hand, the asymptotic worst complexity 2 2 O ( n ) in terms of the input word length n is known to be optimal. CAD as a Complete Decision Procedure · 38/42
Some Remarks Before We Continue ◮ Given ϕ ( f 1 , f 2 ) essentially all the algorithmic work we have done is valid for arbitrary Boolean combinations ψ ( f 1 , f 2 ) of arbitrary constraints with left hand sides f 1 , f 2 (and right hand sides 0). ◮ Furthermore, even for arbitrary quantification QxQ ′ y (in that order). ◮ This indicates that the CAD procedure is somewhat an overkill. ◮ On the other hand, the asymptotic worst complexity 2 2 O ( n ) in terms of the input word length n is known to be optimal. ◮ Asymptotically better bounds with refined complexity parameters. CAD as a Complete Decision Procedure · 38/42
Some Remarks Before We Continue ◮ Given ϕ ( f 1 , f 2 ) essentially all the algorithmic work we have done is valid for arbitrary Boolean combinations ψ ( f 1 , f 2 ) of arbitrary constraints with left hand sides f 1 , f 2 (and right hand sides 0). ◮ Furthermore, even for arbitrary quantification QxQ ′ y (in that order). ◮ This indicates that the CAD procedure is somewhat an overkill. ◮ On the other hand, the asymptotic worst complexity 2 2 O ( n ) in terms of the input word length n is known to be optimal. ◮ Asymptotically better bounds with refined complexity parameters. ◮ In practice, for general input, CAD is the best we have. CAD as a Complete Decision Procedure · 38/42
Some Remarks Before We Continue ◮ Given ϕ ( f 1 , f 2 ) essentially all the algorithmic work we have done is valid for arbitrary Boolean combinations ψ ( f 1 , f 2 ) of arbitrary constraints with left hand sides f 1 , f 2 (and right hand sides 0). ◮ Furthermore, even for arbitrary quantification QxQ ′ y (in that order). ◮ This indicates that the CAD procedure is somewhat an overkill. ◮ On the other hand, the asymptotic worst complexity 2 2 O ( n ) in terms of the input word length n is known to be optimal. ◮ Asymptotically better bounds with refined complexity parameters. ◮ In practice, for general input, CAD is the best we have. ◮ Until now, we have not used and did not “really know” the cells – only test points. CAD as a Complete Decision Procedure · 38/42
Quantifier Elimination The essential new concept with QE is quantifier-free description of cells . This is relevant also for recent decision procedures (Jovanovic & de Moura). CAD for Quantifier Elimination · 39/42
Quantifier Elimination The essential new concept with QE is quantifier-free description of cells . This is relevant also for recent decision procedures (Jovanovic & de Moura). ◮ Given ψ ( x 1 , . . . , x k ) = Q k + 1 x k + 1 . . . Q r x r ϕ ( x 1 , . . . , x k , x k + 1 , . . . , x r ) . CAD for Quantifier Elimination · 39/42
Quantifier Elimination The essential new concept with QE is quantifier-free description of cells . This is relevant also for recent decision procedures (Jovanovic & de Moura). ◮ Given ψ ( x 1 , . . . , x k ) = Q k + 1 x k + 1 . . . Q r x r ϕ ( x 1 , . . . , x k , x k + 1 , . . . , x r ) . ◮ x 1 , . . . x k are parameters . CAD for Quantifier Elimination · 39/42
Quantifier Elimination The essential new concept with QE is quantifier-free description of cells . This is relevant also for recent decision procedures (Jovanovic & de Moura). ◮ Given ψ ( x 1 , . . . , x k ) = Q k + 1 x k + 1 . . . Q r x r ϕ ( x 1 , . . . , x k , x k + 1 , . . . , x r ) . ◮ x 1 , . . . x k are parameters . ◮ Construct CAD with projection order x r → · · · → x k + 1 → x k → · · · → x 1 . That is, the base phase takes place in R [ x 1 ] . CAD for Quantifier Elimination · 39/42
Quantifier Elimination The essential new concept with QE is quantifier-free description of cells . This is relevant also for recent decision procedures (Jovanovic & de Moura). ◮ Given ψ ( x 1 , . . . , x k ) = Q k + 1 x k + 1 . . . Q r x r ϕ ( x 1 , . . . , x k , x k + 1 , . . . , x r ) . ◮ x 1 , . . . x k are parameters . ◮ Construct CAD with projection order x r → · · · → x k + 1 → x k → · · · → x 1 . That is, the base phase takes place in R [ x 1 ] . ◮ Consider the finite set C ⊆ Pot ( R k ) of cells in parameter space, i.e., at projection level k with polynomials from R [ x 1 , . . . , x k ] . CAD for Quantifier Elimination · 39/42
Quantifier Elimination The essential new concept with QE is quantifier-free description of cells . This is relevant also for recent decision procedures (Jovanovic & de Moura). ◮ Given ψ ( x 1 , . . . , x k ) = Q k + 1 x k + 1 . . . Q r x r ϕ ( x 1 , . . . , x k , x k + 1 , . . . , x r ) . ◮ x 1 , . . . x k are parameters . ◮ Construct CAD with projection order x r → · · · → x k + 1 → x k → · · · → x 1 . That is, the base phase takes place in R [ x 1 ] . ◮ Consider the finite set C ⊆ Pot ( R k ) of cells in parameter space, i.e., at projection level k with polynomials from R [ x 1 , . . . , x k ] . ◮ For each c ∈ C with test point t c ∈ R n − k we can decide ψ ( t c ) and collect TRUECELLS = { c ∈ C | R , ( x 1 , . . . , x k ) = t c | = ψ } ⊆ C . CAD for Quantifier Elimination · 39/42
Quantifier Elimination The essential new concept with QE is quantifier-free description of cells . This is relevant also for recent decision procedures (Jovanovic & de Moura). ◮ Given ψ ( x 1 , . . . , x k ) = Q k + 1 x k + 1 . . . Q r x r ϕ ( x 1 , . . . , x k , x k + 1 , . . . , x r ) . ◮ x 1 , . . . x k are parameters . ◮ Construct CAD with projection order x r → · · · → x k + 1 → x k → · · · → x 1 . That is, the base phase takes place in R [ x 1 ] . ◮ Consider the finite set C ⊆ Pot ( R k ) of cells in parameter space, i.e., at projection level k with polynomials from R [ x 1 , . . . , x k ] . ◮ For each c ∈ C with test point t c ∈ R n − k we can decide ψ ( t c ) and collect TRUECELLS = { c ∈ C | R , ( x 1 , . . . , x k ) = t c | = ψ } ⊆ C . ◮ Assume that for c ∈ C we have a quantifier-free description formula ∆ c ( x 1 , . . . , x k ) , i.e. x ∈ c iff R | = ∆ c ( x ) . CAD for Quantifier Elimination · 39/42
Quantifier Elimination The essential new concept with QE is quantifier-free description of cells . This is relevant also for recent decision procedures (Jovanovic & de Moura). ◮ Given ψ ( x 1 , . . . , x k ) = Q k + 1 x k + 1 . . . Q r x r ϕ ( x 1 , . . . , x k , x k + 1 , . . . , x r ) . ◮ x 1 , . . . x k are parameters . ◮ Construct CAD with projection order x r → · · · → x k + 1 → x k → · · · → x 1 . That is, the base phase takes place in R [ x 1 ] . ◮ Consider the finite set C ⊆ Pot ( R k ) of cells in parameter space, i.e., at projection level k with polynomials from R [ x 1 , . . . , x k ] . ◮ For each c ∈ C with test point t c ∈ R n − k we can decide ψ ( t c ) and collect TRUECELLS = { c ∈ C | R , ( x 1 , . . . , x k ) = t c | = ψ } ⊆ C . ◮ Assume that for c ∈ C we have a quantifier-free description formula ∆ c ( x 1 , . . . , x k ) , i.e. x ∈ c iff R | = ∆ c ( x ) . Then → � R | = ψ ← c ∈ TRUECELLS ∆ c . CAD for Quantifier Elimination · 39/42
Solution Formula Construction Example cell P 1 , 1 P 1 , 2 P 2 , 1 T/F 1 , 1 − − + F 2 , 1 0 − + F 2 , 2 0 − 0 T 2 , 3 0 − + F 3 , 1 + − + F 3 , 2 + − 0 F 3 , 3 + − − T 3 , 4 + − 0 F 3 , 5 + − + F 4 , 1 + 0 + F 4 , 2 + 0 0 F 4 , 3 + 0 + F 5 , 1 + + + F C. W. Brown, U.S. Naval Academy 24
Solution Formula Construction Example cell P 1 , 1 P 1 , 2 P 2 , 1 T/F 1 , 1 − − + F 2 , 1 0 − + F 2 , 2 0 − 0 T 2 , 3 0 − + F 3 , 1 + − + F 3 , 2 + − 0 F 3 , 3 + − − T 3 , 4 + − 0 F 3 , 5 + − + F 4 , 1 + 0 + F 4 , 2 + 0 0 F 4 , 3 + 0 + F 5 , 1 + + + F P 2 , 1 < 0 C. W. Brown, U.S. Naval Academy 24
Solution Formula Construction Example cell P 1 , 1 P 1 , 2 P 2 , 1 T/F 1 , 1 − − + F 2 , 1 0 − + F 2 , 2 0 − 0 T 2 , 3 0 − + F 3 , 1 + − + F 3 , 2 + − 0 F 3 , 3 + − − T 3 , 4 + − 0 F 3 , 5 + − + F 4 , 1 + 0 + F 4 , 2 + 0 0 F 4 , 3 + 0 + F 5 , 1 + + + F P 2 , 1 < 0 ∨ P 1 , 1 = 0 ∧ P 2 , 1 = 0 C. W. Brown, U.S. Naval Academy 24
Solution Formula Construction Problem ∃ y [ x 2 + y 2 − 1 < 0 ∧ x − y < 0] x 2 − 2 cell x + 1 x − 1 T/F 1 − − + F 2 0 − + F 3 + − + T 4 + − 0 T 5 + − − T 6 + − 0 F 7 + − + F 8 + 0 + F 9 + + + F C. W. Brown, U.S. Naval Academy 25
Solutions to the Solution Formula Problem (1) Augmented Projection ◮ The approach of the original Collins article (1975). ◮ Idea: Produce sufficiently many polynomials during projection. ◮ Technically one adds “lots of derivatives.” A very simple demonstration of the idea ◮ Consider a single polynomial f = x 3 − 12 x 2 + 44 x − 48. CAD for Quantifier Elimination · 40/42
Recommend
More recommend