QuantifierElimination
QuantifierEliminate
perform quantifier elimination on any quantified boolean formula of polynomials via VTS/CAD
Calling Sequence
Parameters
Returns
Description
Examples
Compatibility
QuantifierEliminate( expr, opts )
expr
-
any (quantified) boolean formula of polynomial constraints (a rational Tarski formula)
opts
all keyword options applicable to poly-algorithmic QE (described in QuantifierElimination options)
Up to three outputs depending on the value of the keyword option output, described in QuantifierElimination options.
Performs Quantifier Elimination (QE) via Virtual Term Substitution (VTS) whenever possible, else (partial) Cylindrical Algebraic Decomposition (CAD) on those intermediate problems that are excessive degree for VTS to compute QE on within a last block of quantified variables.
By default and where applicable, the methodology is "poly-algorithmic", if hybmode = depth or breadth, else the methodology is to collapse the whole state of VTS as one QE problem for CAD, as would be the case with other packages.
This is in contrast to PartialCylindricalAlgebraicDecompose, which performs all QE purely by partial CAD.
The input formula expr need not be prenex, but it is converted to prenex form on input for the purposes of computation.
The CAD-related options are only relevant where CAD is used beyond VTS.
with⁡QuantifierElimination:
QuantifierEliminate⁡exists⁡x,y,z,0<x⁢y⁢z
true
Give a complete set of examples covering all possibilities for witness points for this equivalence:
qf,w≔QuantifierEliminate⁡exists⁡x,y,z,0<x⁢y⁢z,mode=breadth,eagerness=1,output=qf,witnesses
qf,w≔true,true,z=12,y=12,x=12,true,z=12,y=12,x=12,true,z=12,y=−2,x=−2,true,z=−2,y=12,x=−2,true,z=−2,y=−2,x=12,true,z=12,y=12,x=12,true,z=12,y=−2,x=−2,true,z=12,y=12,x=12,true,z=−2,y=12,x=−2
expr≔exists⁡x,forall⁡y,exists⁡z,And⁡4⁢x2+x⁢y2−z+14=0,2⁢x+y2⁢z+12=0,x2⁢z−12⁢x−y2=0
expr≔∃⁡x,∀⁡y,∃⁡z,4⁢x2+x⁢y2−z+14=0∧2⁢x+y2⁢z+12=0∧x2⁢z−12⁢x−y2=0
QuantifierEliminate⁡expr
false
QuantifierEliminate⁡forall⁡x,0<x⇒0<x2
QuantifierEliminate⁡forall⁡x,0≤x⇒0<x2
Additionally output witnesses and a QEData object as the further output arguments, where the QE data enables evolutionary computation via InsertFormula and DeleteFormula:
expr≔exists⁡v1,v2,v3,v4,v5,v6,v7,v8,And⁡v7<0,0<v8,0<v4,v2⁢v6+v3⁢v8=v4,v1⁢v5+v3⁢v7=v4,v6=1,v5=1,0<v1
expr≔∃⁡v1,v2,v3,v4,v5,v6,v7,v8,v7<0∧0<v8∧0<v4∧v2⁢v6+v3⁢v8=v4∧v1⁢v5+v3⁢v7=v4∧v6=1∧v5=1∧0<v1
qf,w,data≔QuantifierEliminate⁡expr,output=qf,witnesses,data
qf,w,data≔true,true,v8=92,v7=−12,v6=1,v5=1,v4=14,v3=12,v2=−2,v1=12,QEData for⁢∃⁡v1,v2,v3,v4,v5,v6,v7,v8,v7<0∧−v8<0∧−v4<0∧v2⁢v6+v3⁢v8−v4=0∧v1⁢v5+v3⁢v7−v4=0∧v6−1=0∧v5−1=0∧−v1<0
The QuantifierElimination:-QuantifierEliminate command was introduced in Maple 2023.
For more information on Maple 2023 changes, see Updates in Maple 2023.
See Also
DeleteFormula
InsertFormula
PartialCylindricalAlgebraicDecompose
QuantifierElimination options
Download Help Document