The problems seems to be the following: actually, psi is uncompletely aware of the fact that t
is equal to zero:
sage: psi - y
0
sage: psi == y
False
The problem seems to be that some data regarding psi
(in particular the string that represent psi
) seem cached, and the cache is not updated during the assumption:
sage: psi._cache_key()
(The exterior algebra of rank 2 over Symbolic Ring, 't*x + y')
You can workaround in two ways:
First, you can assume before defining psi
:
sage: E.<x,y> = ExteriorAlgebra(SR)
sage: _ = var('t')
sage: assume(t==0)
sage: psi = t*x+y
sage: psi
y
If it is not possible, you can redefine psi
as follows:
sage: E.<x,y> = ExteriorAlgebra(SR)
sage: _ = var('t')
sage: psi = t*x+y
sage: assume(t==0)
sage: psi
t*x + y
sage: psi += 0
sage: psi
y
sage: psi == y
True
In particular, the responsible is more how the class/caching was implemented with respect to the symbolic ring, not the cloud or any kind of user interface.