(* Proof of lem_sig_fun_equiv_is_rel                                       *)
unfold rel_sig in |- *; unfold inc in |- *; unfold equiv_fun in |- *; intros.
elim
(axs_comprehension
(fun x : E =>
exists a0 : E,
(exists b : E,
x = couple a0 b /\
App f (lem_fun_sig_is_fun f a s Afs) a0 =
App f (lem_fun_sig_is_fun f a s Afs) b))
(cartesien (dom f) (dom f)) v0); 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 Afs; intros; elim H3; clear H3; intros.
generalize H; rewrite H3; tauto.
Qed.
(* End of proof of lem_sig_fun_equiv_is_rel                                *)

Lemma lem_fun_equiv_is_equiv :
forall (f : E) (Af : fun_ f),
equivalence (equiv_fun f Af) (dom f) (lem_fun_equiv_is_rel f Af).