I think that showing that if you replace x with -1 you get -1 is a
laborious way to show that x is -1. What about

```
>>> Eq(sqrt(x**2), x)
sqrt(x**2) == x
>>> _.subs(x, -1)
False
```

or

```
>>> Tuple(sqrt(x**2), x)
(sqrt(x**2), x)
>>> _.subs(x, -1)
(1, -1)
```



On Sat, Nov 9, 2013 at 1:56 PM, Sergey B Kirpichev <notifications@github.com
> wrote:

> In sympy/functions/elementary/miscellaneous.py:
>
> > +    cbrt(x)
> > +
> > +    >>> cbrt(x)**3
> > +    x
> > +
> > +    Note that cbrt(x**3) does not simplify to x.
> > +
> > +    >>> cbrt(x**3)
> > +    cbrt(x**3)
> > +
> > +    This is because the two are not equal to each other in general.
> > +    For example, consider `x == -1`:
> > +
> > +    >>> cbrt(x**3).subs(x, -1).expand(complex=True)
> > +    1/2 + sqrt(3)*I/2
> > +    >>> x.subs(x, -1)
>
> On Sat, Nov 09, 2013 at 11:04:47AM -0800, Christopher Smith wrote: > +
> This is because the two are not equal to each other in general. > + For
> example, consider `x == -1`: > + > + >>> cbrt(x**3).subs(x,
> -1).expand(complex=True) > + 1/2 + sqrt(3)*I/2 > + >>> x.subs(x, -1)
> Ahh...well it could be said more directly in both places as >> x = -1 >>
> sqrt(x**2) == x False
> This is a tautology. See quoted above text.
>  >> sqrt(x**2).subs(x, -1) == -1 # x**2 is 1 so sqrt(1) is 1 False
> Even worse. There is a comment in the docstring.
>
> —
> Reply to this email directly or view it on GitHub<https://github.com/sympy/sympy/pull/2577/files#r7546617>
> .
>