Hi list,
consider the following code
assume(t>0);
assume(x>0);
integrate(f(sqrt(t^2-1)),t,1,2);
changevar(%,t-sqrt(x^2+1),x,t);
the result is
-integrate((x*f(x))/sqrt(x^2+1),x,-sqrt(3),0)
whereas it should be
-integrate((x*f(x))/sqrt(x^2+1),x,sqrt(3),0)
+?3 instead of -?3 in the lower bound.
One can imagine that to find the new integral bounds changevar is using
solve(subst(t,2,t-sqrt(x^2+1)=0),x)
which gives exactly the two solutions -?3 and +?3
unfortunately, changevar picks up the wrong one.
One would expect changevar to choose the solution that fulfills the requirements in facts(),
or at least inform the user that some solution may be lost.
More friendly: in case of an untractable choice, maxima should give both answers and let the client make its own decision.
JL