On Mon, Sep 28, 2009 at 11:49 AM, Karl-Dieter Crisman
<kcrisman at gmail.com> wrote:
> (%i1) assume(x>=y,y>=z,z>=x);
> (%o1) ? ? ? ? ? ? ? ? ? ? ?[x >= y, y >= z, z >= x]
> (%i2) is(x=z);
> (%o2) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?false
Well, it's true that assume isn't very strong, but at least Maxima
seems to be able to figure out these examples.
What you want is equal(x, z) instead of x = z.
"=" is essentially identity (i.e. are the left and right-hand sides
the same expression), while equal is equivalence (equal value).
Likewise the distinction between "#" and notequal.
Here's what I get with Maxima 5.19.2.
(%i2) assume(x>=y,y>=z,z>=x);
(%o2) [x >= y, y >= z, z >= x]
(%i3) is(equal(x,z));
(%o3) true
(%i4) assume(a>=1,1>=a);
(%o4) [a >= 1, a <= 1]
(%i5) is(equal(a,1));
(%o5) true
(%i6) assume(b>1);
(%o6) [b > 1]
(%i7) is(equal(b,1));
(%o7) false
(%i8) is(notequal(b,1));
(%o8) true
I think %o3, %o5, %o7, and %o8 are all as expected, right?
Hope this helps, & thanks for your interest in Maxima.
Robert Dodier