(* Proof of lem_fun_equiv_prop                                             *)
unfold equiv_fun in |- *; intros.
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;
generalize (H0 H); clear H H0 H1; intros.
elim H; clear H; intros; elim H0; clear H0; intros; elim H0; clear H0; intros;
elim H0; clear H0; intros.
elim (lem_couple_propertie x x0 y x1); intros; generalize (H2 H0);
clear H0 H2 H3; intros.
elim H0; clear H0; intros.
rewrite H0; rewrite H2; auto with zfc.
Qed.
(* End of proof of lem_fun_equiv_prop                                      *)

Lemma lem_equiv_fun_make :
forall (f : E) (Af : fun_ f) (x y : E),
In x (dom f) ->
In y (dom f) -> App f Af x = App f Af y -> In (couple x y) (equiv_fun f Af).