let pp fmt i =
Dom.pp fmt i.dom;
if not(i.lo = None && i.hi = None) then
begin
(match i.lo with
| None -> Pretty.string fmt "(-inf"
| Some(alpha, q) -> Pretty.string fmt (if alpha then "[" else "("); Q.pp fmt q);
Pretty.string fmt ",";
(match i.hi with
| None -> Pretty.string fmt "inf)"
| Some(q, beta) -> Q.pp fmt q; Pretty.string fmt (if beta then "]" else ")"))
end