

@staticmethod
def Mul(expr, assumptions):
    '\n        Real*Imaginary      -> Imaginary\n        Imaginary*Imaginary -> Real\n        '
    if expr.is_number:
        return AskImaginaryHandler._number(expr, assumptions)
    result = False
    reals = 0
    for arg in expr.args:
        if ask(Q.imaginary(arg), assumptions):
            result = (result ^ True)
        elif (not ask(Q.real(arg), assumptions)):
            break
    else:
        if (reals == len(expr.args)):
            return False
        return result

dataset/ETHPy150Open sympy/sympy/sympy/assumptions/handlers/sets.py AskImaginaryHandler.Mul/original