let apply_to_literals_groups (subst: subst) (groups: (literal * int) list list) : literal list list =
let (_, groups') =
List.fold_left
(fun (mapping, groups') literals ->
(* just normalize with empty substitution *)
let literals', mapping' =
apply_to_literals' subst literals mapping
in
(mapping', literals' :: groups')
)
([], [])
groups
in
List.rev groups'