Closed
Description
Check this:
sage: assume(x, 'even')
sage: assume(x, 'real')
sage: simplify((-1)**x)
1
sage: x.is_integer()
False
At least for real numbers (or even for complex numbers), an even number should be assumed to be an integer.
This is how it works in SymPy:
In [2]: x = Symbol('x', even=True)
In [3]: x.is_integer
Out[3]: True
Was supposed to be fixed in pynac-0.7.4. This will also work and should be doctested here:
sage: sage: assume(x, 'even')
....: sage: assume(x, 'real')
....:
sage: (-1)^x
1
sage: (-gamma(pi))^x
gamma(pi)^x
Depends on #22219
Component: symbolics
Keywords: is_integer, assume
Author: Ralf Stephan
Branch/Commit: 81e3fba
Reviewer: Travis Scrimshaw
Issue created by migration from https://trac.sagemath.org/ticket/22026