# [Maxima] posible bug - clashing variable names in integrals

Nathaniel Virgo nathanielvirgo at gmail.com
Sat Oct 3 06:14:53 CDT 2009

Hi

I just came across the following.  Should it be considered a bug?

this works fine:

(%i10) C:integrate(g(y),y,c,d);
(%o10) integrate(g(y),y,c,d)

(%i11) A: integrate(C*f(x),x,a,b);
(%o11) integrate(f(x),x,a,b)*integrate(g(y),y,c,d)

it has successfully taken the constant outside the integral

(%i12) B: C*'integrate(f(x),x,a,b);
(%o12) integrate(f(x),x,a,b)*integrate(g(y),y,c,d)

so A and B are the same

(%i13) is(A=B);
(%o13) true

however, if I do the following, which should be exactly equivalent, it
fails:

(%i14) C:integrate(g(x),x,c,d);
(%o14) integrate(g(x),x,c,d)

(%i15) A: integrate(C*f(x),x,a,b);
(%o15) integrate(f(x)*integrate(g(x),x,c,d),x,a,b)

it has failed to realise that the x in the subexpression is a different
variable from the x in the outer integral, so it keeps the constant inside
the integral

(%i16) B: C*'integrate(f(x),x,a,b);
(%o16) integrate(f(x),x,a,b)*integrate(g(x),x,c,d)

(%i17) is(A=B);
(%o17) false

...and it now thinks the two expressions A and B are provably not the same,
even though they are in fact equivalent.  It would be ok (although a bit
lame) if it answered "maybe" here, but it seems to me that "false" is just
incorrect.

Nathaniel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.math.utexas.edu/pipermail/maxima/attachments/20091003/ce78b304/attachment.htm