Question: with respect to side relations or using the assume...

It appears to me that "simplify/siderels" with two arguments is simply some special "simplify" procedure that just makes use of assumptions, but the results of experiments seem to tell an opposite story. 

simplify(sqrt(x**2), [x = 0]);
                               0

simplify(sqrt(x**2), assume = [x = 0]);
                               0

simplify(ln(exp(x)), [x = 0]);
                               0

simplify(ln(exp(x)), assume = [x = 0]);
                               x

`assuming`(simplify(ln(exp(x))), [x = 0]);
                               x

simplify((1 - cos(x)**2 + sin(x)*cos(x))/(sin(x)*cos(x) + cos(x)**2), [sin(x)**2 + cos(x)**2 = 1]);
                            2                
                  1 - cos(x)  + sin(x) cos(x)
                  ---------------------------
                   cos(x) (cos(x) + sin(x))  

simplify((1 - cos(x)**2 + sin(x)*cos(x))/(sin(x)*cos(x) + cos(x)**2), assume = [sin(x)**2 + cos(x)**2 = 1]);
                             tan(x)

How to explain these? 

Please Wait...