def forget(self): """ Forget this assumption. TEST:: sage: from sage.symbolic.assumptions import GenericDeclaration sage: decl = GenericDeclaration(x, 'odd') sage: decl.assume() sage: cos(pi*x) cos(pi*x) sage: cos(pi*x).simplify() -1 sage: decl.forget() sage: cos(x*pi).simplify() cos(pi*x) """ from sage.calculus.calculus import maxima if self._context is not None: try: _assumptions.remove(self) except ValueError: return maxima.deactivate(self._context) else: # trying to forget a declaration explicitly rather than implicitly for x in _assumptions: if repr(self) == repr( x): # so by implication x is also a GenericDeclaration x.forget() break return
def forget(self): """ Forget this assumption. TEST:: sage: from sage.symbolic.assumptions import GenericDeclaration sage: decl = GenericDeclaration(x, 'odd') sage: decl.assume() sage: cos(pi*x) cos(pi*x) sage: cos(pi*x).simplify() -1 sage: decl.forget() sage: cos(x*pi).simplify() cos(pi*x) """ self._var.decl_forget(self._assumption) from sage.calculus.calculus import maxima if self._context is not None: try: _assumptions.remove(self) except ValueError: return maxima.deactivate(self._context) else: # trying to forget a declaration explicitly rather than implicitly for x in _assumptions: if repr(self) == repr(x): # so by implication x is also a GenericDeclaration x.forget() break return