This is a very hard bug to believe. And it was very hard to reproduce, because it only bites under very particular circumstances.
block([context:b],assume(b>c,c>a),sign(b-c));
returns neg, which is incorrect.
The name of the context is important. It must be the same as the larger variable.
The context name may be quoted (context:'b) or not -- it doesn't matter.
There must be TWO assumptions, with related variables. But the order doesn't matter.
So apparently the context name is somehow getting mixed up with the variables within the context.
Logged In: YES
user_id=588346
Oh, yes, I should mention that to be sure that there are no
extraneous issues, I did the testing each time in a completely
fresh Maxima (restarted, not just Kill(all)).
Maxima 5.9.0 GCL 2.5.0 mingw32 Windows 2000
Observed in 5.45.1. Sometimes these things get fixed incidental to other things ... no such luck for this item, it looks like.