(* fetching rhs functions names *)
Definition rhs_funcs ru :=  (* => Syntax.v ? *)
  match ru with
  | rule_intro _ _ t => functions_of_term t
  end.Definition all_rhs_funcs prg := flat_map rhs_funcs prg.

Lemma rvd_make_comp n s h gN gS f: (* similar remark apply here… *) Forall rule_vars_defined h.(rules) → Forall rule_vars_defined (flat_map rules gN) → Forall rule_vars_defined (flat_map rules gS) → Forall rule_vars_defined (make_comp n s h gN gS f).(rules).