(* Proof of lem_rel_inter_prop                                             *)
unfold rel_inter in |- *; unfold iff in |- *; intros; split; intros.
elim (lem_inter_propertie r1 r2 c); intros; generalize (H0 H); clear H H0;
intros; auto with zfc.
elim (lem_inter_propertie r1 r2 c); intros; apply H1; auto with zfc.
Qed.
(* End of proof of lem_rel_inter_prop                                      *)
(***************************************************************************)
(* Relation inverse                                                        *)
(***************************************************************************)
Definition rel_inverse (r a b : E) (rRel : rel_sig r a b) :=
subset
(fun c : E =>
exists x : E, (exists y : E, In (couple x y) r /\ c = couple y x))
(cartesien b a).

(* Specifications: *)
Lemma lem_rel_inv_is_rel_sig :
forall (r a b : E) (rRel : rel_sig r a b),
rel_sig (rel_inverse r a b rRel) b a.