I have run into a problem with assume. I am using Worksheet mode. When I execute the following simple program I get what I expect.

> restart;
> assume(g > 0, P < 0);
> about(g);
Originally g, renamed g~:
  is assumed to be: RealRange(Open(0),infinity)
> about(P);
Originally P, renamed P~:
  is assumed to be: RealRange(-infinity,Open(0))
> ## P := -g;
> about(P);
Originally P, renamed P~:
  is assumed to be: RealRange(-infinity,Open(0))
> assume(P < 0);
> about(P);
Originally P, renamed P~:
  is assumed to be: RealRange(-infinity,Open(0))
 

Now I uncomment the line where P := -g and rerun the program to get the following.

restart;
> assume(g > 0, P < 0);
> about(g);
Originally g, renamed g~:
  is assumed to be: RealRange(Open(0),infinity)
> about(P);
Originally P, renamed P~:
  is assumed to be: RealRange(-infinity,Open(0))
> P := -g;
                                     -g
> about(P);
-g:
  nothing known about this object
> assume(P < 0);
> about(P);
-g:
  nothing known about this object

 

I don't understand why Maple doesn't know any thing about -g since it knows that g> 0. Note that Maple says P is now -g and not -g~ even though g has the assumed property g > 0. I ran into this problem working with cubic and quartic polynomials wityh real coefficients created from other real numbers like g. I even know the signs of the coefficients in the polynomials (like I know the sign of P), but Maple doesn't no matter what I try.

Any help will be greatly appreciated. Thanks.

Neill S.


Please Wait...