'Hermitian**Integer  -> !Antihermitian
Antihermitian**Even -> !Antihermitian
Antihermitian**Odd  -> Antihermitian'

@staticmethod
def Pow(expr, assumptions):

    if expr.is_number:
        return AskImaginaryHandler._number(expr, assumptions)
    if ask(Q.hermitian(expr.base), assumptions):
        if ask(Q.integer(expr.exp), assumptions):
            return False
    elif ask(Q.antihermitian(expr.base), assumptions):
        if ask(Q.even(expr.exp), assumptions):
            return False
        elif ask(Q.odd(expr.exp), assumptions):
            return True
