(* Proof of lem_Einter_paire                                               *)
intros; apply axs_extensionnalite; intros; unfold iff in |- *; split; intros.
unfold Einter in H.
elim
(axs_comprehension
(fun v0 : E => forall v3 : E, In v3 (paire a b) -> In v0 v3)
(reunion (paire a b)) v2); intros; generalize (H0 H);
clear H H0 H1; intros.
elim H; clear H; intros.
elim (axs_reunion (paire a b) v2); intros; generalize (H1 H); clear H H1 H2;
intros.
elim H; clear H; intros; elim H; clear H; intros.
generalize (H0 a); generalize (H0 b); clear H0; intros.
cut (In a (paire a b)); cut (In b (paire a b)); intros.
generalize (H0 H3) (H2 H4); clear H0 H2 H3 H4; intros.
unfold inter in |- *.
elim (axs_comprehension (def_F_inter b) a v2); intros; apply H4; clear H3 H4;
intros.
unfold def_F_inter in |- *; split; auto with zfc.
elim (axs_paire a b b); intros; apply H4; right; reflexivity.
elim (axs_paire a b a); intros; apply H5; left; reflexivity.
elim (axs_paire a b b); intros; apply H4; right; reflexivity.
unfold inter in H; unfold def_F_inter in H.
elim (axs_comprehension (fun x : E => In x b) a v2); intros;
generalize (H0 H); clear H H0 H1; intros.
elim H; clear H; intros.
unfold Einter in |- *.
elim
(axs_comprehension
(fun v0 : E => forall v3 : E, In v3 (paire a b) -> In v0 v3)
(reunion (paire a b)) v2); intros; apply H2; clear H1 H2;
intros.
split; intros.
elim (lem_union_propertie a b v2); unfold union in |- *; intros; apply H2;
clear H1 H2; intros.
left; auto with zfc.
elim (axs_paire a b v3); intros; generalize (H2 H1); clear H1 H2 H3; intros.
elim H1; clear H1; intros; rewrite H1; auto with zfc.
Qed.
(* End of proof of lem_Einter_paire                                        *)

(* Specifications: *)
Lemma lem_Einter_vide :
forall (x : E) (Nv : x <> Vide), In Vide x -> Einter x Nv = Vide.