Section pair_uniqueness_proof.
Variable A : Ens.
Variable B : Ens.
Variable C : Ens.
Variable D : Ens.
Hypothesis e : EQ (PAIR A B) (PAIR C D).
Let fA := First A.
Let fC := First C.
Let secB := Second B.
Let secD := Second D.
Let step1 : has_leq_1_elements fA := Singletons_have_leq_1_elements A.
Let step2 : has_leq_1_elements fC := Singletons_have_leq_1_elements C.
Let step3 : has_geq_2_elements secB := Second_has_geq_2_elements B.
Let step4 : has_geq_2_elements secD := Second_has_geq_2_elements D.
Let step5 : pairwise_EQ fA secB fC secD :=
Doubleton_uniqueness has_leq_1_elements fA secB fC secD step1 step3 step2
step4 e.
Let step6 : EQ fA fC := pairwise_EQ_ac fA secB fC secD step5.
Let step7 : EQ secB secD := pairwise_EQ_bd fA secB fC secD step5.
Let step8 : EQ A C := First_uniqueness A C step6.
Let step9 : EQ B D := Second_uniqueness B D step7.
Definition pair_uniqueness_Out : pairwise_EQ A B C D :=
Build_pairwise_EQ A B C D step8 step9.
End pair_uniqueness_proof.
(* ?PAIR *)
Proof pair_uniqueness_Out.
Proof
fun (A B C D : Ens) (e : EQ (PAIR A B) (PAIR C D)) =>
pairwise_EQ_ac A B C D (PAIR_uniqueness A B C D e).

Theorem PAIR_uni_bd :
forall (A B C D : Ens) (e : EQ (PAIR A B) (PAIR C D)), EQ B D.