RJF mentions the interaction between Assume and variables. The
situation is already a bit messy, see bug report 888396 (reproduced
below).
-s
------------------------
*** Assume conflates programming and math vrbls ***
Assume/is is not consistent in its treatment of
programming vs. mathematical variables
x:1$
assume(x<0) => Inconsistent
OK, this presumably is equivalent to assume(1<0)
assume('x<0) => Inconsistent
Questionable. Should 'x really refer to the
*programming
variable* x here even though it's quoted?
but
assume(y<0)$
y:1$ => no error
This is inconsistent with the situation above. But I
certainly don't want every variable assignment to be
checking the Assume database!
is(y<0) => false
OK, 1<0 is false.
is('y<0) => true
OK if 'y is treated as a *mathematical variable* and
uses the assume database, not the programming variable
y. But above, assume('x<0) treats them as the same.