let valid_to_string v =
let one_to_string (r,c) = match c with
| Inferior n -> Printf.sprintf "%s-%d" (resp_to_string r) n
| Superior n -> Printf.sprintf "%s%d-" (resp_to_string r) n
| Between (u,v) -> Printf.sprintf "%s%d-%d" (resp_to_string r) u v
in String.concat "," (List.map one_to_string v)