(* fetching lhs functions names *)
Definition lhs_func (r:rule):= (* => Syntax.v ? *)
match r with
| rule_intro f _ _ => f
end.
Definition all_lhs_funcs x := map lhs_func (rules x).

(* Specifications: *)
Lemma lhs_funcs_eq x: (* pour pouvoir faire des fold et pas que des unfold… *)
map lhs_func (rules x) = all_lhs_funcs x.
Lemma rule_intro_is_lhs f trs:
(∃ lp t, rule_intro f lp t ∈ rules trs) ↔ f ∈ all_lhs_funcs trs.