let reverse_dependencies univ =
let size = Cudf.universe_size univ in
let reverse = Array.create size [] in
Cudf.iteri_packages (fun i p ->
List.iter (fun ll ->
List.iter (fun q ->
let j = CudfAdd.vartoint univ q in
if i <> j then
if not(List.mem i reverse.(j)) then
reverse.(j) <- i::reverse.(j)
) ll
) (CudfAdd.who_depends univ p)
) univ;
reverse