(* Proof of lem_equiv_fun_make                                             *)
intros; unfold equiv_fun in |- *.
elim
(axs_comprehension
(fun x0 : E =>
exists a : E, (exists b : E, x0 = couple a b /\ App f Af a = App f Af b))
(cartesien (dom f) (dom f)) (couple x y)); intros;
apply H3; clear H2 H3; intros.
split;
[ idtac | exists x; exists y; split; [ reflexivity | auto with zfc ] ].
elim (lem_cartesian_propertie (dom f) (dom f) (couple x y)); intros; apply H3;
clear H2 H3; intros.
exists x; exists y; split;
[ auto with zfc | split; [ auto with zfc | reflexivity ] ].
Qed.
(* End of proof of lem_equiv_fun_make                                      *)

(* Specifications: *)
Lemma lem_sig_equiv_fun_make :
forall (f a s : E) (Afs : fun_sig f a s) (x y : E),
In x a ->
In y a ->
App f (lem_fun_sig_is_fun f a s Afs) x =
App f (lem_fun_sig_is_fun f a s Afs) y ->
In (couple x y) (equiv_fun f (lem_fun_sig_is_fun f a s Afs)).