(* Proof of lem_equiv_comp_sig                                             *)
intros; unfold fun_sig in |- *.
split;
[ exact (lem_equiv_comp_is_fun r a rRel rEqv rD s f Afs Pr)
| split;
[ exact (lem_equiv_comp_dom r a rRel rEqv rD s f Afs Pr)
| exact (lem_equiv_comp_img r a rRel rEqv rD s f Afs Pr) ] ].
Qed.
(* End of proof of lem_equiv_comp_sig                                      *)

(* Specifications: *)
(***************************************************************************)
(* Si x est dans a, le couple classe d'equivalence de x et (f x) est un    *)
(* element de equiv_comp.                                                  *)
(***************************************************************************)
Lemma lem_equiv_comp_elem :
forall (r a : E) (rRel : rel_sig r a a) (rEqv : equivalence r a rRel)
(rD : rdom r a a rRel = a) (s f : E) (Afs : fun_sig f a s)
(Pr : forall x y : E,
In (couple x y) r ->
App f (lem_fun_sig_is_fun f a s Afs) x =
App f (lem_fun_sig_is_fun f a s Afs) y) (x : E),
In x a ->
In
(couple (equivClass r a rRel rEqv x)
(App f (lem_fun_sig_is_fun f a s Afs) x))
(equiv_comp r a rRel rEqv rD s f Afs Pr).