'Refine an isolating interval until it is disjoint with another one.'

def refine_disjoint(self, other):

    expr = self
    while (not expr.is_disjoint(other)):
        (expr, other) = (expr._inner_refine(), other._inner_refine())
    return (expr, other)
