Thirty Years of Virtual Substitution Foundations, Techniques, Applications Thomas Sturm, CNRS, France ISSAC 2018, New York, NY, July 19, 2018
Real Quantifier Elimination (QE) = x 2 + xy + b and q ˙ = x + ay 2 + b ∈ Z [ a , b , x , y ] Let p ˙ ϕ ˙ = ∀ x ∃ y ( p > 0 ∧ q ≤ 0) ϕ formally asks for a necessary and sufficient condition in terms of parameters a , b . [One possible] solution is a < 0 ∧ b > 0 Syntax The language of ordered rings specifies admissible symbols: L = { 0 , 1 , + , − , · , = , ≤ , <, ≥ , >, � = } . Semantics All constants, functions, and relations have their usual interpretation over R or over any real closed field , e.g., the (countable) field of all real algebraic numbers. www.thomas-sturm.de 2/30
We start with linear real QE An L formula ϕ is linear when there are no products of quantified variables. ∀ x ∃ y ( a 2 bx + aby > 0 ∧ a 3 x + aby < 0) For example For our first result we are going to use an extended language L ′ = L ∪ { inv } . inv is a totalization of the multiplicative inverse: � x − 1 for x � = 0 inv( x ) = 0 for x = 0. Initial Input is typically a linear L -formula ϕ . Output will be an equivalent quantifier-free L ′ -formula ϕ ′ . ϕ ′ can be translated into an L -formula by rewriting , e.g, s inv( t ) + u > 0 � ( t = 0 ∧ u > 0) ∨ ( t � = 0 ∧ st + ut 2 > 0) . www.thomas-sturm.de 3/30
Theorem (Linear real QE; Weispfenning, JSC 1988) Let ψ be a quantifier-free L ′ -formula linear in x 1 , . . . , x n with atoms Ψ = { a j x 1 + b j ̺ j 0 | j ∈ J } , where J finite index set, a j , b j L ′ -terms not containing x 1 , and ̺ j L ′ -relations. � Sk( x 1 , Ψ) := � � j , k ∈ J � − b j inv( a j ) ± 1 , − b j inv(2 a j ) − b k inv(2 a k ) (i) Fix real interpretation ι for all variables except x 1 . Then � → ψ [ x 1 / t ] � � � R , ι | = ∀ x 1 ψ ← , "Sk( x 1 , Ψ) is a Skolem set" t ∈ Sk( x 1 , Ψ) ψ ∈ Ψ (ii) This allows QE of Q 1 x 1 from Q n x n . . . Q 1 x 1 ψ : � � R | = ∃ x 1 ψ ← → R | = ∀ x 1 ψ ← → ψ [ x 1 / t ] , ψ [ x 1 / t ] . t ∈ Sk( x 1 , Ψ) t ∈ Sk( x 1 , Ψ) (iii) Part (ii) can be iterated with Q 2 x 2 , . . . , Q n x n . ! All regular term substitution – nothing “virtual” so far www.thomas-sturm.de 4/30
Theorem (Complexity; Weispfenning JSC 1988) Consider a prenex linear formula ϕ ˙ = Q n x n . . . Q 1 x 1 ψ . Let a be the number of quantifier alternations. Let b be the longest quantifier sequence without alternation. Let T (length( ϕ )) be the time for full QE via the theorem. (i) T (length( ϕ )) = 2 ↑ 2 ↑ O (length( ϕ )). This bound is tight : problem is bounded from below by 2 ↑ 2 ↑ Ω( length ( ϕ )). (ii) If a is bounded, then T (length( ϕ )) = 2 ↑ O (length( ϕ )). (iii) Assume that both a and b are bounded, say a ≤ α and b ≤ β . Then T (length( ϕ )) = length( ϕ ) ↑ � ( α + 1) O ( β ) α +1 � . This applies in particular if n is bounded. Blockwise Elimination � � ∃ x n . . . ∃ x 3 ∃ x 2 ∃ x 1 ψ ← → ∃ x n . . . ∃ x 3 ∃ x 2 t ψ [ x 1 / t ] ← → ∃ x n . . . ∃ x 3 t ∃ x 2 ψ [ x 1 / t ] Compatibility of ∃ with � yields single exponential complexity. www.thomas-sturm.de 5/30
A Quick Comparison with Fourier–Motzkin Elimination Linear QE by substitution Fourier–Motzkin Elimination single exponential w. bounded alternation double exponential already in ∃ case Logically maps � to � � maps � to � Geometrically, non-disjoint union of projections intersection of projections Challenge: Consider linear � = ∃ x n . . . ∃ x 1 ϕ ˙ i α i , α i atomic constraints The substitution method yields in single exponential time equivalent quantifier-free ϕ ′ ˙ = � � k α ′ jk . j ! By Fourier–Motzkin there is equivalent ϕ ′′ ˙ = � j α ′′ j . What is the complexity of computing ϕ ′′ from ϕ and ϕ ′ ? www.thomas-sturm.de 6/30
A Simple Example for Illustration For j = k we have in particular − b j inv( a j ) ∈ Sk( x 1 , Ψ). ϕ ˙ = ∃ x ψ , where ψ = ax + b = 0 ∧ a < x ∧ x < b Ψ = { ax + b = 0 , a − x < 0 , x − b < 0 } Sk( x , Ψ) = {− b inv( a ) , − b inv( a ) ± 1 , a , a ± 1 , b , b ± 1 , − b inv(2 a ) + a inv(2) , − b inv(2 a ) + b inv(2) , a inv(2) + b inv(2) } � t ∈ S ( x , Ψ) ψ [ x / t ] ˙ = ( − ab inv ( a ) + b = 0 ∧ b inv ( a ) + b < 0 ∧ − b inv ( a ) − b < 0) ∨ ( − ab inv ( a ) ± a + b = 0 ∧ b inv ( a ) + a ∓ 1 < 0 ∧ − b inv ( a ) − b ± 1 < 0) ∨ ( a 2 + b = 0 ∧ 0 < 0 ∧ a − b < 0) ∨ ( a 2 ± a + b = 0 ∧ ∓ 1 < 0 ∧ a − b ± 1 < 0) ∨ ( ab + b = 0 ∧ a − b < 0 ∧ 0 < 0) ∨ ( ab ± a + b = 0 ∧ a − b ∓ 1 < 0 ∧ ± 1 < 0) ∨ ( − ab inv (2 a ) + a 2 inv (2) + b = 0 ∧ b inv (2 a ) − a inv (2) + a < 0 ∧ − b inv (2 a ) + a inv (2) − b < 0) ∨ ( − ab inv (2 a ) + ab inv (2) + b = 0 ∧ b inv (2 a ) − b inv (2) + a < 0 ∧ − b inv (2 a ) + b inv (2) − b < 0) ∨ ( − a 2 inv (2) + ab inv (2) + b = 0 ∧ a inv(2) − b inv(2) + a < 0 ∧ − a inv(2) + b inv(2) − b < 0) www.thomas-sturm.de 7/30
Implementations and Experiments – First experimental implementations in Reduce [Burhenne, Diploma Thesis 1990] – Motivated distributed and supported Reduce package Redlog [S. since 1992, Dolzmann–S. since 1995] – Several further implementations today, including Mathematica [Strzebonski] and the SMT-solver SMT-RAT [Corzilius et al., Proc. SAT 2015] www.thomas-sturm.de 8/30
From Term Substutution to Virtual Substitution Burhenne’s Work [Diploma Thesis 1990] and its supervision Implementation: – implemented the theorem & rewriting resolution for the inv-terms – furthermore substitution of t ± ε for infinitesimal ε in favor of arithmetic means – rewriting resolution of ε -terms – a first quite basic heuristic simplifier (to be applied frequently during elimination) Key experimental questions: – trade-off between quadratic growth of arithmetic means and resolution of ε – "eager" vs. "lazy" resolution Very clear empirical results: – Infinitesimals are better. – Always resolve inv and ε immediately ("eager")! – Immediate resolution of inv & ε can be viewed as part of the substitution. ! – This was the birth of virtual substitution . www.thomas-sturm.de 9/30
Theorem (Improved linear real QE; Loos–Weispfenning 1993) All formulas are now in the language L = { 0 , 1 , + , − , · , = , <, ≤ , >, ≥ , � = } . Terms within elimination sets are in L ∪ { − 1 , ε, ∞} . Let ψ be a positive quantifier-free L -formula linear in x 1 , . . . , x n with atoms 4 � Ψ = { a j x 1 + b j ̺ k 0 | j ∈ J k } , where ( ̺ 1 , . . . , ̺ 4 ) ˙ = (= , ≤ , <, � =) , k =1 b j J k finite index sets, a j , b j L -terms not containing x 1 . Define S j = − a j and E ( x 1 , Ψ) = � ( true , ∞ ) � ∪ � � � � j ∈ J 1 ∪ J 2 ( a j � = 0 , S j ) ∪ � � � � j ∈ J 3 ∪ J 4 ( a j � = 0 , S j − ε ) , Then the following holds: (i) E ( x 1 , Ψ) allows QE of ∃ x 1 from Q n x n . . . Q 2 x 2 ∃ x 1 ψ via virtual substitution: � R | = ∃ x 1 ψ ← → ψ [ x 1 / / t ] . " E ( x 1 , Ψ) is an elimination set" t ∈ E ( x 1 , Ψ) (ii) Part (i) can be iterated with Q 2 x 2 , . . . , Q n x n . www.thomas-sturm.de 10/30
Proof Sketch – Ψ = � 4 k =1 { a j x 1 + b j ̺ k 0 | j ∈ J k } , where ( ̺ 1 , . . . , ̺ 4 ) ˙ = (= , ≤ , <, � =) – E ( x 1 , Ψ) = { ( true , ∞ ) ∪ { ( a j � = 0 , S j ) | j ∈ J 1 ∪ J 2 } ∪ { ( a j � = 0 , S j − ε ) | j ∈ J 3 ∪ J 4 } → � – R | = ∃ x 1 ψ ← t ∈ E ( x 1 , Ψ) ψ [ x 1 / / t ] Fix a real interpretation ι for all variables except x 1 . Consider S = { r ∈ R | R , ι ∪ { x 1 = r } | = ψ } , satisfying values w.r.t. ι for x 1 . If S = ∅ , then there is nothing to prove. If S � = ∅ , then there is t ∈ E ( x 1 , Ψ) such that R , ι | = ψ [ x 1 / / t ]: If S is unbounded from above, then t = ( true , ∞ ). Assume now that sup S = σ ∈ R : If σ ∈ S , then σ = S j with j ∈ J 1 ∪ J 2 , and t = ( true , σ ). If σ / ∈ S , then σ = S j with j ∈ J 3 ∪ J 4 , and t = ( true , σ − ε ). www.thomas-sturm.de 11/30
Virtual Substitution of Linear Test Points ! [ x 1 / / t ] : atomic formulas → quantifier-free formulas Elimination sets contain test points ( γ, t ), where γ is a guard and t is a test term . Virtual substitution conjunctively puts guards at the beginning. Quotiens: Substitute formally, then multiply with (positive) denominator-squared: ( α x 1 + β ≤ 0) � � �� �� = a � = 0 ∧ − α ab + β a 2 ≤ 0 . a � = 0 , − b x 1 ˙ a Infinitesimals: Treat virtual substitution of t as a black-box; take into consideration the derivative of the target polynomial: ( ax 1 + b < 0)[ x 1 / / ( χ, t − ε )] ˙ = / ( χ, t )] ∨ � / ( χ, t )] ∧ a > 0 � ( ax 1 + b < 0)[ x 1 / ( ax 1 + b = 0)[ x 1 / . For a complete set of rules for the linear case see [Loos–Weispfenning 1993]. www.thomas-sturm.de 12/30
Recommend
More recommend