'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, DrtConcatenation):
        self_refs = self.get_refs()
        other_refs = other.get_refs()
        if (len(self_refs) == len(other_refs)):
            converted_other = other
            for (r1, r2) in zip(self_refs, other_refs):
                varex = self.make_VariableExpression(r1)
                converted_other = converted_other.replace(r2, varex, True)
            return ((self.first == converted_other.first) and (self.second == converted_other.second) and (self.consequent == converted_other.consequent))
    return False
