Definition all_possible_sub_activation_same_rank (f: function) (lv: list term) : list term :=
let psa := all_possible_subarguments lv in
flat_map (fun g => map (fun sa => fapply g sa) psa) (functions_of_prog prog).

Lemma PPO_value_all_possible_subarguments l lv:
(forall x, In x lv -> term_value x) ->
Forall2 (clos_refl (PPO rank)) l lv ->  l ∈ all_possible_subarguments lv.