I wrote that qepcad cannot deal with terms like '-6 != 0'. This shows as follows:
<start of log>
sage: qepcad(-6 != 0, vars='(x)')
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-1-5a8fdb21f19e> in <module>()
----> 1 qepcad(-Integer(6) != Integer(0), vars='(x)')
/home/robert/bin/sage-6.2-i686-Linux/local/lib/python2.7/site-packages/sage/interfaces/qepcad.pyc in qepcad(formula, assume, interact, solution, vars, **kwargs)
1406 use_witness = True
1407
-> 1408 qe = Qepcad(formula, vars=vars, **kwargs)
1409 if assume is not None:
1410 qe.assume(assume)
/home/robert/bin/sage-6.2-i686-Linux/local/lib/python2.7/site-packages/sage/interfaces/qepcad.pyc in __init__(self, formula, vars, logfile, verbose, memcells, server)
749 # and ensure they match up with the variables in the formula.
750 if frozenset(varlist) != (fvars | frozenset(fqvars)):
--> 751 raise ValueError("specified vars don't match vars in formula")
752 if len(fqvars) and varlist[-len(fqvars):] != fqvars:
753 raise ValueError("specified vars don't match quantified vars")
ValueError: specified vars don't match vars in formula
<end of log>
(I see the same on
sagecell.sagemath.org, which probably has qepcad-1.50.)
I have also tried the following version:
sage: qepcad(-6 != 0)
Here qepcad.py comes as far as to to try starting the qepcad binary, which unfortunately fails on my machine.
On
sagecell.sagemath.org, this version causes the evaluation to hang forever.
However, standalone qepcad can solve this, as shown in the following log. (Probably qepcad-1.50 could also solve this.)
So the first version certainly could be improved in qepcad.py.
<start of log>
robert@rpmint32 ~/bin $ qepcad
=======================================================
Quantifier Elimination
in
Elementary Algebra and Geometry
by
Partial Cylindrical Algebraic Decomposition
Version B 1.69, 16 Mar 2012
by
Hoon Hong
(
hh...@math.ncsu.edu)
With contributions by: Christopher W. Brown, George E.
Collins, Mark J. Encarnacion, Jeremy R. Johnson
Werner Krandick, Richard Liska, Scott McCallum,
Nicolas Robidoux, and Stanly Steinberg
=======================================================
Enter an informal description between '[' and ']':
[]
Enter a variable list:
(x)
Enter the number of free variables:
1
Enter a prenex formula:
[-6 /= 0]
.
=======================================================
Before Normalization >
go
At the end of projection phase >
go
Before Choice >
go
Before Solution >
go
An equivalent quantifier-free formula:
TRUE
===================== The End =======================
-----------------------------------------------------------------------------
0 Garbage collections, 0 Cells and 0 Arrays reclaimed, in 0 milliseconds.
493089 Cells in AVAIL, 500000 Cells in SPACE.
System time: 12 milliseconds.
System time after the initialization: 8 milliseconds.
-----------------------------------------------------------------------------
<end of log>