(* Proof of lem_exp_elem_prop                                              *)
generalize (lem_exp_elem_is_fun a b f H); intros.
generalize (lem_exp_elem_dom a b f H); intros.
generalize (lem_exp_elem_img a b f H); intros.
unfold fun_sig in |- *.
split; [ auto with zfc | split; auto with zfc ].
Qed.
(* End of proof of lem_exp_elem_prop                                       *)

(* Specifications: *)
(***************************************************************************)
(* Un lemme a la xxx: si f est une application et que c est un element de  *)
(* f alors il existe x et y tel que c=(x,y)                                *)
(***************************************************************************)
Lemma lem_fun_elem_is_2tupple :
forall (f : E) (Af : fun_ f) (c : E),
In c f -> exists x : E, (exists y : E, In (couple x y) f /\ c = couple x y).