# Deciding whether a semi-algebraic set is empty. Which command is best?

[Update] I was able to prove that the "larger" set $1\ge x \ge y,w \ge 0$ and $p(x,y,w)>0$ is empty with another computer algebra system in my slow laptop in few minutes but in Mathematica even if I use a Linux cluster with several processor and lots of memory, I can not get the answer with in one hour (will try with a day later). The same problem also happens with the other system if I use Cylindrical Algebraic Decomposition.

My conclusion is that it is not Mathematica's fault but rather Cylindrical Algebraic Decomposition is very inefficient. It seems that Regular Chains (triangular decomposition) methods may perform better. [end of update]

Question was: We have system of polynomial inequalities in three variables:

$$1> x > y > w > 0\,\text{ and } p(x,y,w)>0$$

where $p$ is a polynomial with integer coefficients with order 9.

Mathematica has several different commands I could use to try to check if this set is empty: Reduce, FindInstances, CylindricalDecomposition,SemialgebraicComponentInstances, etc...

I looked at the documentation but it does not say which algorithms each command uses. I need to choose the most efficient one. In Maple, running 8 processors with 8G, I have a code already running for 8 hours and no answer.

Edit [due to Artes' comment] the expression for $p$ is the following:

 f[x_,y_]:=(x^2+4*x*y+y^2)/((x+y)*(2*x+y)*(x+2*y))
p:= -1 * Numerator[Together[Simplify[(f[1,x]+f[y,z]-f[1,y]-f[x,z])/(2*(x-y)*(1-z))]]]

-
– Dr. belisarius Mar 19 '14 at 13:38
@Artes: will add the expression for $p$, this is what is missing right? – Sergio Parreiras Mar 19 '14 at 14:57
FindInstance is likely to be fastest. – Daniel Lichtblau Mar 19 '14 at 15:54
This does not prove anything but when I use NSolve to find where the three derivatives simultaneously vanish, I get no points in that region. This means extrema will occur on the boundary. If you require a mathematical proof this will not do, but if it is for other purposes you could go from there. Also NMaximize seems to think p never gets above zero in the region in question. Again, just evidence, not a proof. – Daniel Lichtblau Mar 19 '14 at 20:29
RegionPlot3D shows a nice empty cube but FindInstance is still running (6 processors, 6G of memory)... – Sergio Parreiras Mar 19 '14 at 23:58