Protecting variables



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.