# Mathematica: Specifying assumptions/domains doesn't seem to work?

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\}$$

-

Solve[{(1 - (1 - x)^3)^3 == x, 0 < x < 1}, x, Reals] works fine in Mathematica 8... Reduce[{(1 - (1 - x)^3)^3 == x, 0 < x < 1}, x, Reals] is pretty much equivalent.
Well, Assuming[] does not seem to be suited for use with Solve[] or Reduce[]; better to input the constraints along with the equations for these. – J. M. Sep 18 '11 at 16:51
@JandR: As a point of note, Solve changed 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, Assuming only affects those functions that have an Assumptions option. So, you have to include your assumptions as extra equations passed to Solve and Reduce, as J.M. shows. – rcollyer Oct 9 '11 at 17:55