I frequently have trouble trying to place limits on Solve or Reduce using assumptions and domains. For example, this code:
Assuming[x > 0 && x < 1, Solve[(1 - (1 - x)^3)^3 == x, x, Reals]]
Produces results both with complex number, and with x outside the range specified. The exact output is long (and includes the desired results), but a subset is pasted below. What is going on? $$\left\{\{x\to 0\},\{x\to 1\},\left\{x\to 1-\frac{\left(1-i \sqrt{3}\right) \left(\frac{1}{2} \left(-9+\sqrt{93}\right)\right)^{1/3}}{2 3^{2/3}}+\frac{1+i \sqrt{3}}{2^{2/3} \left(3 \left(-9+\sqrt{93}\right)\right)^{1/3}}\right\}\right\}$$
Assuming[]does not seem to be suited for use withSolve[]orReduce[]; better to input the constraints along with the equations for these. – J. M. ain't a mathematician Sep 18 '11 at 16:51Solvechanged between v.7 and v.8. In v.7 the third param was for variables to eliminate, and in v.8 it is for the domain. Also, according to the docs,Assumingonly affects those functions that have anAssumptionsoption. So, you have to include your assumptions as extra equations passed toSolveandReduce, as J.M. shows. – rcollyer Oct 09 '11 at 17:55During evaluation of In[16]:= Solve::eqf: x<1 is not a well-formed equation. >>
– András Aszódi Feb 23 '14 at 06:45