Assume behavior



Dear Robert,

This is very helpful.

>> (%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.

I was not at all aware of this distinction.  Perhaps the documentation
for is and assume could be updated to point these examples out?

>
> 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.

Thank *you* very much!
Karl-Dieter