Section restriction_bounded_proof.
Variable P : Ens -> Prop.
Variable A : Ens.
Let R := Restriction P A.
Let t : Bounded_By A R. Proof fun (X : Ens) (h : R X) => the_restriction P A X h.
Definition restriction_bounded_Out : Bounded R :=
EXISTS_th1 (fun Y : Ens => Bounded_By Y R) A t.
End restriction_bounded_proof.
Proof restriction_bounded_Out.
Definition Set_Of (A : Ens) (P : Ens -> Prop) :=
REPLACEMENT (Restriction P A).
Proof
fun (A : Ens) (P : Ens -> Prop) =>
REPLACEMENT_pr1 (Restriction P A) (Restriction_bounded P A).
Proof
fun (A : Ens) (P : Ens -> Prop) =>
REPLACEMENT_pr2 (Restriction P A) (Restriction_bounded P A).
Proof
fun (A : Ens) (P : Ens -> Prop) (X : Ens) (h : IN X A) (k : P X) =>
Set_Of_pr1 A P X (Build_Restriction P A X k h).
Proof
fun (A : Ens) (P : Ens -> Prop) (X : Ens) (h : IN X (Set_Of A P)) =>
remaining_property P A X (Set_Of_pr2 A P X h).
Proof
fun (A : Ens) (P : Ens -> Prop) (X : Ens) (h : IN X (Set_Of A P)) =>
the_restriction P A X (Set_Of_pr2 A P X h).
Proof Set_Of_th3.
(***********************************)
(********* Intersection  ***********)
(***********************************)
(******** little intersection *******)
Definition intersection (A B : Ens) := Set_Of A (fun X : Ens => IN X B).
Proof
fun (A B U : Ens) (i : IN U (intersection A B)) =>
Set_Of_th3 A (fun X : Ens => IN X B) U i.
Proof
fun (A B U : Ens) (i : IN U (intersection A B)) =>
Set_Of_th2 A (fun X : Ens => IN X B) U i.

Theorem intersection_th3 :
forall (A B X : Ens) (i : IN X A) (j : IN X B), IN X (intersection A B).