'Defines equality modulo alphabetic variance.
If we are comparing \x.M  and \y.N, then check equality of M and N[x/y].'

def __eq__(self, other):

    if isinstance(other, DRS):
        if (len(self.refs) == len(other.refs)):
            converted_other = other
            for (r1, r2) in zip(self.refs, converted_other.refs):
                varex = self.make_VariableExpression(r1)
                converted_other = converted_other.replace(r2, varex, True)
            if ((self.consequent == converted_other.consequent) and (len(self.conds) == len(converted_other.conds))):
                for (c1, c2) in zip(self.conds, converted_other.conds):
                    if (not (c1 == c2)):
                        return False
                return True
    return False
