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)