let plus_interval_interval a b = match a , b with | ({ D.sup=None ; D.inf=None } as top) , _ | _ , ({ D.sup=None ; D.inf=None } as top) -> Interval top | _ -> Set (D.add_set (D.interval a) (D.interval b))