Consider the following:
R.<a> = InfinitePolynomialRing(QQ)
p = a[1]*a[2]^2
Then we have
sage: p.degree(a[1].variable())
1
sage: p.degree(a[2].variable())
2
but
sage: p.degree(a[3].variable())
...
TypeError: argument is not coercible to the parent
instead of returning 0
. Moreover, if I execute one of the commands that worked before again, for example p.degree(a[1].variable())
, it yields the same error.