let pp pp_e fmt (g, e, p) =
Format.fprintf fmt "@[(G:";
G.pp fmt g;
Format.fprintf fmt ",@, E:";
pp_e fmt e;
Format.fprintf fmt ",@, V:";
(let v = Partition.v_of p in
if V.is_empty v then
Format.fprintf fmt "{}"
else
V.pp fmt v);
Format.fprintf fmt ",@, D:";
(let d = Partition.d_of p in
if D.is_empty d then
Format.fprintf fmt "{}"
else
D.pp fmt d);
Format.fprintf fmt ")@]@."