Metamath Proof Explorer


Theorem opthhausdorff0

Description: Justification theorem for the ordered pair definition of Felix Hausdorff in "Grundzüge der Mengenlehre" ("Basics of Set Theory"), 1914, p. 32: <. A , B >._H = { { A , O } , { B , T } } . Hausdorff used 1 and 2 instead of O and T , but actually, any two different fixed sets will do (e.g., O = (/) and T = { (/) } , see 0nep0 ). Furthermore, Hausdorff demanded that O and T are both different from A as well as B , which is actually not necessary if all involved classes exist as sets (i.e. are not proper classes), in contrast to opthhausdorff . See df-op for other ordered pair definitions. (Contributed by AV, 12-Jun-2022)

Ref Expression
Hypotheses opthhausdorff0.a 𝐴 ∈ V
opthhausdorff0.b 𝐵 ∈ V
opthhausdorff0.c 𝐶 ∈ V
opthhausdorff0.d 𝐷 ∈ V
opthhausdorff0.1 𝑂 ∈ V
opthhausdorff0.2 𝑇 ∈ V
opthhausdorff0.3 𝑂𝑇
Assertion opthhausdorff0 ( { { 𝐴 , 𝑂 } , { 𝐵 , 𝑇 } } = { { 𝐶 , 𝑂 } , { 𝐷 , 𝑇 } } ↔ ( 𝐴 = 𝐶𝐵 = 𝐷 ) )

Proof

Step Hyp Ref Expression
1 opthhausdorff0.a 𝐴 ∈ V
2 opthhausdorff0.b 𝐵 ∈ V
3 opthhausdorff0.c 𝐶 ∈ V
4 opthhausdorff0.d 𝐷 ∈ V
5 opthhausdorff0.1 𝑂 ∈ V
6 opthhausdorff0.2 𝑇 ∈ V
7 opthhausdorff0.3 𝑂𝑇
8 prex { 𝐴 , 𝑂 } ∈ V
9 prex { 𝐵 , 𝑇 } ∈ V
10 prex { 𝐶 , 𝑂 } ∈ V
11 prex { 𝐷 , 𝑇 } ∈ V
12 8 9 10 11 preq12b ( { { 𝐴 , 𝑂 } , { 𝐵 , 𝑇 } } = { { 𝐶 , 𝑂 } , { 𝐷 , 𝑇 } } ↔ ( ( { 𝐴 , 𝑂 } = { 𝐶 , 𝑂 } ∧ { 𝐵 , 𝑇 } = { 𝐷 , 𝑇 } ) ∨ ( { 𝐴 , 𝑂 } = { 𝐷 , 𝑇 } ∧ { 𝐵 , 𝑇 } = { 𝐶 , 𝑂 } ) ) )
13 1 3 preqr1 ( { 𝐴 , 𝑂 } = { 𝐶 , 𝑂 } → 𝐴 = 𝐶 )
14 2 4 preqr1 ( { 𝐵 , 𝑇 } = { 𝐷 , 𝑇 } → 𝐵 = 𝐷 )
15 13 14 anim12i ( ( { 𝐴 , 𝑂 } = { 𝐶 , 𝑂 } ∧ { 𝐵 , 𝑇 } = { 𝐷 , 𝑇 } ) → ( 𝐴 = 𝐶𝐵 = 𝐷 ) )
16 1 5 4 6 preq12b ( { 𝐴 , 𝑂 } = { 𝐷 , 𝑇 } ↔ ( ( 𝐴 = 𝐷𝑂 = 𝑇 ) ∨ ( 𝐴 = 𝑇𝑂 = 𝐷 ) ) )
17 eqneqall ( 𝑂 = 𝑇 → ( 𝑂𝑇 → ( { 𝐵 , 𝑇 } = { 𝐶 , 𝑂 } → ( 𝐴 = 𝐶𝐵 = 𝐷 ) ) ) )
18 7 17 mpi ( 𝑂 = 𝑇 → ( { 𝐵 , 𝑇 } = { 𝐶 , 𝑂 } → ( 𝐴 = 𝐶𝐵 = 𝐷 ) ) )
19 18 adantl ( ( 𝐴 = 𝐷𝑂 = 𝑇 ) → ( { 𝐵 , 𝑇 } = { 𝐶 , 𝑂 } → ( 𝐴 = 𝐶𝐵 = 𝐷 ) ) )
20 2 6 3 5 preq12b ( { 𝐵 , 𝑇 } = { 𝐶 , 𝑂 } ↔ ( ( 𝐵 = 𝐶𝑇 = 𝑂 ) ∨ ( 𝐵 = 𝑂𝑇 = 𝐶 ) ) )
21 eqneqall ( 𝑂 = 𝑇 → ( 𝑂𝑇 → ( ( 𝐴 = 𝑇𝑂 = 𝐷 ) → ( 𝐴 = 𝐶𝐵 = 𝐷 ) ) ) )
22 7 21 mpi ( 𝑂 = 𝑇 → ( ( 𝐴 = 𝑇𝑂 = 𝐷 ) → ( 𝐴 = 𝐶𝐵 = 𝐷 ) ) )
23 22 eqcoms ( 𝑇 = 𝑂 → ( ( 𝐴 = 𝑇𝑂 = 𝐷 ) → ( 𝐴 = 𝐶𝐵 = 𝐷 ) ) )
24 23 adantl ( ( 𝐵 = 𝐶𝑇 = 𝑂 ) → ( ( 𝐴 = 𝑇𝑂 = 𝐷 ) → ( 𝐴 = 𝐶𝐵 = 𝐷 ) ) )
25 simpl ( ( 𝐴 = 𝑇𝑂 = 𝐷 ) → 𝐴 = 𝑇 )
26 simpr ( ( 𝐵 = 𝑂𝑇 = 𝐶 ) → 𝑇 = 𝐶 )
27 25 26 sylan9eqr ( ( ( 𝐵 = 𝑂𝑇 = 𝐶 ) ∧ ( 𝐴 = 𝑇𝑂 = 𝐷 ) ) → 𝐴 = 𝐶 )
28 simpl ( ( 𝐵 = 𝑂𝑇 = 𝐶 ) → 𝐵 = 𝑂 )
29 simpr ( ( 𝐴 = 𝑇𝑂 = 𝐷 ) → 𝑂 = 𝐷 )
30 28 29 sylan9eq ( ( ( 𝐵 = 𝑂𝑇 = 𝐶 ) ∧ ( 𝐴 = 𝑇𝑂 = 𝐷 ) ) → 𝐵 = 𝐷 )
31 27 30 jca ( ( ( 𝐵 = 𝑂𝑇 = 𝐶 ) ∧ ( 𝐴 = 𝑇𝑂 = 𝐷 ) ) → ( 𝐴 = 𝐶𝐵 = 𝐷 ) )
32 31 ex ( ( 𝐵 = 𝑂𝑇 = 𝐶 ) → ( ( 𝐴 = 𝑇𝑂 = 𝐷 ) → ( 𝐴 = 𝐶𝐵 = 𝐷 ) ) )
33 24 32 jaoi ( ( ( 𝐵 = 𝐶𝑇 = 𝑂 ) ∨ ( 𝐵 = 𝑂𝑇 = 𝐶 ) ) → ( ( 𝐴 = 𝑇𝑂 = 𝐷 ) → ( 𝐴 = 𝐶𝐵 = 𝐷 ) ) )
34 20 33 sylbi ( { 𝐵 , 𝑇 } = { 𝐶 , 𝑂 } → ( ( 𝐴 = 𝑇𝑂 = 𝐷 ) → ( 𝐴 = 𝐶𝐵 = 𝐷 ) ) )
35 34 com12 ( ( 𝐴 = 𝑇𝑂 = 𝐷 ) → ( { 𝐵 , 𝑇 } = { 𝐶 , 𝑂 } → ( 𝐴 = 𝐶𝐵 = 𝐷 ) ) )
36 19 35 jaoi ( ( ( 𝐴 = 𝐷𝑂 = 𝑇 ) ∨ ( 𝐴 = 𝑇𝑂 = 𝐷 ) ) → ( { 𝐵 , 𝑇 } = { 𝐶 , 𝑂 } → ( 𝐴 = 𝐶𝐵 = 𝐷 ) ) )
37 16 36 sylbi ( { 𝐴 , 𝑂 } = { 𝐷 , 𝑇 } → ( { 𝐵 , 𝑇 } = { 𝐶 , 𝑂 } → ( 𝐴 = 𝐶𝐵 = 𝐷 ) ) )
38 37 imp ( ( { 𝐴 , 𝑂 } = { 𝐷 , 𝑇 } ∧ { 𝐵 , 𝑇 } = { 𝐶 , 𝑂 } ) → ( 𝐴 = 𝐶𝐵 = 𝐷 ) )
39 15 38 jaoi ( ( ( { 𝐴 , 𝑂 } = { 𝐶 , 𝑂 } ∧ { 𝐵 , 𝑇 } = { 𝐷 , 𝑇 } ) ∨ ( { 𝐴 , 𝑂 } = { 𝐷 , 𝑇 } ∧ { 𝐵 , 𝑇 } = { 𝐶 , 𝑂 } ) ) → ( 𝐴 = 𝐶𝐵 = 𝐷 ) )
40 12 39 sylbi ( { { 𝐴 , 𝑂 } , { 𝐵 , 𝑇 } } = { { 𝐶 , 𝑂 } , { 𝐷 , 𝑇 } } → ( 𝐴 = 𝐶𝐵 = 𝐷 ) )
41 preq1 ( 𝐴 = 𝐶 → { 𝐴 , 𝑂 } = { 𝐶 , 𝑂 } )
42 41 adantr ( ( 𝐴 = 𝐶𝐵 = 𝐷 ) → { 𝐴 , 𝑂 } = { 𝐶 , 𝑂 } )
43 preq1 ( 𝐵 = 𝐷 → { 𝐵 , 𝑇 } = { 𝐷 , 𝑇 } )
44 43 adantl ( ( 𝐴 = 𝐶𝐵 = 𝐷 ) → { 𝐵 , 𝑇 } = { 𝐷 , 𝑇 } )
45 42 44 preq12d ( ( 𝐴 = 𝐶𝐵 = 𝐷 ) → { { 𝐴 , 𝑂 } , { 𝐵 , 𝑇 } } = { { 𝐶 , 𝑂 } , { 𝐷 , 𝑇 } } )
46 40 45 impbii ( { { 𝐴 , 𝑂 } , { 𝐵 , 𝑇 } } = { { 𝐶 , 𝑂 } , { 𝐷 , 𝑇 } } ↔ ( 𝐴 = 𝐶𝐵 = 𝐷 ) )