let only_one_region vs kregions : ( pred * region ) list =
  let kregions = Array.of_list kregions in
  Array.to_list
    (Array.mapi
       (fun i (_,region) ->
          let conds_i =
            Array.mapi
              (fun j (cond,_) -> 
                 let p = cond vs in
                 if i=j then p else p_not p)
              kregions
          in
          p_conj (Array.to_list conds_i) , region
       ) kregions)