(* End of proof of lem_rel_Comp_rel_sig                                    *)

(***************************************************************************)
(* Reunion de relations                                                    *)
(***************************************************************************)
Definition rel_union (r1 a1 b1 r2 a2 b2 : E) (rRel1 : rel_sig r1 a1 b1)
  (rRel2 : rel_sig r2 a2 b2) := union r1 r2.

(* Specifications: *)
Lemma lem_rel_union_rel_sig : forall (r1 a1 b1 r2 a2 b2 : E) (rRel1 : rel_sig r1 a1 b1) (rRel2 : rel_sig r2 a2 b2), rel_sig (rel_union r1 a1 b1 r2 a2 b2 rRel1 rRel2) (union a1 a2) (union b1 b2).
Lemma lem_rel_union_dom : forall (r1 a1 b1 r2 a2 b2 : E) (rRel1 : rel_sig r1 a1 b1) (rRel2 : rel_sig r2 a2 b2), rdom (rel_union r1 a1 b1 r2 a2 b2 rRel1 rRel2) (union a1 a2) (union b1 b2) (lem_rel_union_rel_sig r1 a1 b1 r2 a2 b2 rRel1 rRel2) = union (rdom r1 a1 b1 rRel1) (rdom r2 a2 b2 rRel2).
Lemma lem_rel_union_Img : forall (r1 a1 b1 r2 a2 b2 : E) (rRel1 : rel_sig r1 a1 b1) (rRel2 : rel_sig r2 a2 b2), rImg (rel_union r1 a1 b1 r2 a2 b2 rRel1 rRel2) (union a1 a2) (union b1 b2) (lem_rel_union_rel_sig r1 a1 b1 r2 a2 b2 rRel1 rRel2) = union (rImg r1 a1 b1 rRel1) (rImg r2 a2 b2 rRel2).
Lemma lem_rel_union_prop : forall (r1 a1 b1 r2 a2 b2 : E) (rRel1 : rel_sig r1 a1 b1) (rRel2 : rel_sig r2 a2 b2) (c : E), In c (rel_union r1 a1 b1 r2 a2 b2 rRel1 rRel2) <-> In c r1 \/ In c r2.