(* debugging ****************************************************************)
-let string_of_entry (inverse, b) =
- if I.S.mem 0 inverse then begin if b then "CF" else "C" end else
+let string_of_entry synth (inverse, b) =
+ if I.overlaps synth inverse then begin if b then "CF" else "C" end else
if I.S.is_empty inverse then "I" else "P"
-let to_string (classes, rc) =
- let linearize = String.concat " " (List.map string_of_entry classes) in
+let to_string synth (classes, rc) =
+ let linearize =
+ String.concat " " (List.map (string_of_entry synth) classes)
+ in
match rc with
| None -> linearize
| Some (i, j, _, _) -> Printf.sprintf "%s %u %u" linearize i j