'Returns True if the given formulas have the same truth table.
For two formulas to be equal they must have the same literals.
Examples
>>> from sympy.abc import A, B, C
>>> from sympy.logic.boolalg import And, Or, Not
>>> (A >> B).equals(~B >> ~A)
True
>>> Not(And(A, B, C)).equals(And(Not(A), Not(B), Not(C)))
False
>>> Not(And(A, Not(A))).equals(Or(B, Not(B)))
False'

def equals(self, other):

    from sympy.logic.inference import satisfiable
    from sympy.core.relational import Relational
    if (self.has(Relational) or other.has(Relational)):
        raise NotImplementedError('handling    of    relationals')
    return ((self.atoms() == other.atoms()) and (not satisfiable(Not(Equivalent(self, other)))))
