Section cartesian_construction_section.
Variable A B : Ens.
Variable X Y : Ens.
Hypothesis i : IN X A.
Hypothesis j : IN Y B.
Let U := PAIR X Y.
Let step1 : is_a_pair U.
Proof a_pair_is_a_pair X Y.
Let X1 := PR1 U.
Let Y1 := PR2 U.
Let step2 : EQ U (PAIR X1 Y1).
Proof PAIR_proj_th1 U step1.
Let step3 : EQ X X1.
Proof PAIR_uni_ac X Y X1 Y1 step2.
Let step4 : EQ Y Y1.
Proof PAIR_uni_bd X Y X1 Y1 step2.
Let step5 : EQ X1 X. Proof EQ_symm X X1 step3.
Let step6 : EQ Y1 Y. Proof EQ_symm Y Y1 step4.
Let step7 : IN X1 A. Proof Extensionality X1 X A step5 i.
Let step8 : IN Y1 B. Proof Extensionality Y1 Y B step6 j.
Let step9 : in_cartesian A B U.
Proof Build_in_cartesian A B U step1 step7 step8.
Proof Cartesian_pr1 A B U step9.
End cartesian_construction_section.

Theorem Cartesian_construction :
forall (A B X Y : Ens) (i : IN X A) (j : IN Y B),
IN (PAIR X Y) (Cartesian A B).