(* Proof of lem_refl_not_irrefl                                            *)
unfold reflexivity in |- *; unfold irreflexivity in |- *; unfold not in |- *;
intros.
generalize (axs_fundation r rNe); intros.
elim H1; clear H1; intros; elim H1; clear H1; intros.
generalize rRel; intros; unfold rel_sig in rRel0; unfold inc in rRel0; intros.
generalize (rRel0 x H1); clear rRel0; intros.
elim (lem_cartesian_propertie a a x); intros; generalize (H4 H3);
clear H3 H4 H5; intros.
elim H3; clear H3; intros; elim H3; clear H3; intros; elim H3; clear H3;
intros; elim H4; clear H4; intros.
generalize H1; rewrite H5; intros.
cut (In x0 (rdom r a a rRel)); intros.
generalize (H x0 H7) (H0 x0 H7); intros.
absurd (In (couple x0 x0) r); auto with zfc.
unfold rdom in |- *.
elim (axs_comprehension (fun x : E => exists y : E, In (couple x y) r) a x0);
intros; apply H8; clear H7 H8; intros.
split; [ auto with zfc | exists x1; auto with zfc ].
Qed.
(* End of proof of lem_refl_not_irrefl                                     *)

(* Specifications: *)
(***************************************************************************)
(* Une relation non vide irreflexive n'est pas reflexivive                 *)
(***************************************************************************)
Lemma lem_irrefl_not_refl :
forall (r a : E) (rNe : r <> Vide) (rRel : rel_sig r a a),
irreflexivity r a rRel -> ~ reflexivity r a rRel.