(* Proof of lem_rel_inter_dom                                              *)
unfold inc in |- *; intros.
unfold rdom in H.
elim
(axs_comprehension
(fun x : E =>
exists y : E, In (couple x y) (rel_inter r1 a1 b1 r2 a2 b2 rRel1 rRel2))
(inter a1 a2) v0); intros; generalize (H0 H); clear H H0 H1;
intros.
elim H; clear H; intros; elim H0; clear H0; intros.
elim (lem_inter_propertie r1 r2 (couple v0 x)); intros; generalize (H1 H0);
clear H0 H1 H2; intros; elim H0; clear H0; intros.
generalize (lem_rel_and_rdom r1 a1 b1 rRel1 v0 x H0)
(lem_rel_and_rdom r2 a2 b2 rRel2 v0 x H1); clear H0 H1;
intros.
elim (lem_inter_propertie (rdom r1 a1 b1 rRel1) (rdom r2 a2 b2 rRel2) v0);
intros; apply H3; split; auto with zfc.
Qed.
(* End of proof of lem_rel_inter_dom                                       *)

(* Specifications: *)
(***************************************************************************)
(* L'image de l'intersection de deux relations est incluse dans            *)
(* l'intersection des deux images.                                         *)
(***************************************************************************)
Lemma lem_rel_inter_Img :
forall (r1 a1 b1 r2 a2 b2 : E) (rRel1 : rel_sig r1 a1 b1)
(rRel2 : rel_sig r2 a2 b2),
inc
(rImg (rel_inter r1 a1 b1 r2 a2 b2 rRel1 rRel2)
(inter a1 a2) (inter b1 b2)
(lem_rel_inter_rel_sig r1 a1 b1 r2 a2 b2 rRel1 rRel2))
(inter (rImg r1 a1 b1 rRel1) (rImg r2 a2 b2 rRel2)).