Bug in lower limit of integration ?



Hi All --

Is there a bug in the integration routine that involve square roots?

1) Why does Maxima not accept -sqrt(something) and proceeds to do
sqrt(-something)?

(%i8) integrate(r,z,-sqrt(20-r^2),sqrt(20-r^2));
     2
Is  r  - 20  positive, negative, or zero?

positive;
Defint: Lower limit of integration must be real.
 -- an error.  Quitting.  To debug this try debugmode(true);
(%i9)
Maxima encountered a Lisp error:


Ctrl-C: User break

Automatically continuing.
To reenable the Lisp debugger set *debugger-hook* to nil.
(%i9)  integrate(r,z,-sqrt(20-r^2),sqrt(20-r^2));
Defint: Lower limit of integration must be real.
 -- an error.  Quitting.  To debug this try debugmode(true);
(%i10)
Maxima encountered a Lisp error:
(%i10)

...restarting...

2) This time, I'll answer that what's inside the sqrt is negative:

Maxima 5.9.3 http://maxima.sourceforge.net
Using Lisp CLISP 2.38 (2006-01-24)
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
This is a development version of Maxima. The function bug_report()
provides bug reporting information.
(%i1)  integrate(r,z,-sqrt(20-r^2),sqrt(20-r^2));
     2
Is  r  - 20  positive, negative, or zero?

negative;

When I answer negative, it works

(%o1)                          2 r sqrt(20 - r^2 )
(%i2)


Any comments.

Henry