let rec remove_deps deps confl =
let changed = ref false in
let deps =
PTbl.mapi (fun p f ->
Formula.filter (fun d ->
let b =
not (maybe_remove deps confl p f d) || is_composition deps p f d
in
if not b then changed := true;
b
) f
) deps
in
if !changed then
remove_deps deps confl
else deps