'Positive + Positive -> Positive,
Negative + Negative -> Negative'

@staticmethod
def Add(expr, assumptions):

    if expr.is_number:
        return AskNegativeHandler._number(expr, assumptions)
    r = ask(Q.real(expr), assumptions)
    if (r is not True):
        return r
    nonpos = 0
    for arg in expr.args:
        if (ask(Q.negative(arg), assumptions) is not True):
            if (ask(Q.positive(arg), assumptions) is False):
                nonpos += 1
            else:
                break
    else:
        if (nonpos < len(expr.args)):
            return True
