Metamath Proof Explorer


Theorem opthhausdorff

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 in full extent ( A =/= T is not required). This definition is meaningful only for classes A and B that exist as sets (i.e., are not proper classes): If A and C were different proper classes ( A =/= C ), then { { A , O } , { B , T } } = { { C , O } , { D , T } <-> { { O } , { B , T } } = { { O } , { D , T } is true if B = D , but ( A = C /\ B = D ) would be false. See df-op for other ordered pair definitions. (Contributed by AV, 14-Jun-2022)

Ref Expression
Hypotheses opthhausdorff.a 𝐴 ∈ V
opthhausdorff.b 𝐵 ∈ V
opthhausdorff.o 𝐴𝑂
opthhausdorff.n 𝐵𝑂
opthhausdorff.t 𝐵𝑇
opthhausdorff.1 𝑂 ∈ V
opthhausdorff.2 𝑇 ∈ V
opthhausdorff.3 𝑂𝑇
Assertion opthhausdorff ( { { 𝐴 , 𝑂 } , { 𝐵 , 𝑇 } } = { { 𝐶 , 𝑂 } , { 𝐷 , 𝑇 } } ↔ ( 𝐴 = 𝐶𝐵 = 𝐷 ) )

Proof

Step Hyp Ref Expression
1 opthhausdorff.a 𝐴 ∈ V
2 opthhausdorff.b 𝐵 ∈ V
3 opthhausdorff.o 𝐴𝑂
4 opthhausdorff.n 𝐵𝑂
5 opthhausdorff.t 𝐵𝑇
6 opthhausdorff.1 𝑂 ∈ V
7 opthhausdorff.2 𝑇 ∈ V
8 opthhausdorff.3 𝑂𝑇
9 prex { 𝐴 , 𝑂 } ∈ V
10 prex { 𝐵 , 𝑇 } ∈ V
11 1 6 pm3.2i ( 𝐴 ∈ V ∧ 𝑂 ∈ V )
12 2 7 pm3.2i ( 𝐵 ∈ V ∧ 𝑇 ∈ V )
13 11 12 pm3.2i ( ( 𝐴 ∈ V ∧ 𝑂 ∈ V ) ∧ ( 𝐵 ∈ V ∧ 𝑇 ∈ V ) )
14 4 necomi 𝑂𝐵
15 14 8 pm3.2i ( 𝑂𝐵𝑂𝑇 )
16 15 olci ( ( 𝐴𝐵𝐴𝑇 ) ∨ ( 𝑂𝐵𝑂𝑇 ) )
17 prneimg ( ( ( 𝐴 ∈ V ∧ 𝑂 ∈ V ) ∧ ( 𝐵 ∈ V ∧ 𝑇 ∈ V ) ) → ( ( ( 𝐴𝐵𝐴𝑇 ) ∨ ( 𝑂𝐵𝑂𝑇 ) ) → { 𝐴 , 𝑂 } ≠ { 𝐵 , 𝑇 } ) )
18 13 16 17 mp2 { 𝐴 , 𝑂 } ≠ { 𝐵 , 𝑇 }
19 preq12nebg ( ( { 𝐴 , 𝑂 } ∈ V ∧ { 𝐵 , 𝑇 } ∈ V ∧ { 𝐴 , 𝑂 } ≠ { 𝐵 , 𝑇 } ) → ( { { 𝐴 , 𝑂 } , { 𝐵 , 𝑇 } } = { { 𝐶 , 𝑂 } , { 𝐷 , 𝑇 } } ↔ ( ( { 𝐴 , 𝑂 } = { 𝐶 , 𝑂 } ∧ { 𝐵 , 𝑇 } = { 𝐷 , 𝑇 } ) ∨ ( { 𝐴 , 𝑂 } = { 𝐷 , 𝑇 } ∧ { 𝐵 , 𝑇 } = { 𝐶 , 𝑂 } ) ) ) )
20 9 10 18 19 mp3an ( { { 𝐴 , 𝑂 } , { 𝐵 , 𝑇 } } = { { 𝐶 , 𝑂 } , { 𝐷 , 𝑇 } } ↔ ( ( { 𝐴 , 𝑂 } = { 𝐶 , 𝑂 } ∧ { 𝐵 , 𝑇 } = { 𝐷 , 𝑇 } ) ∨ ( { 𝐴 , 𝑂 } = { 𝐷 , 𝑇 } ∧ { 𝐵 , 𝑇 } = { 𝐶 , 𝑂 } ) ) )
21 preq12nebg ( ( 𝐴 ∈ V ∧ 𝑂 ∈ V ∧ 𝐴𝑂 ) → ( { 𝐴 , 𝑂 } = { 𝐶 , 𝑂 } ↔ ( ( 𝐴 = 𝐶𝑂 = 𝑂 ) ∨ ( 𝐴 = 𝑂𝑂 = 𝐶 ) ) ) )
22 1 6 3 21 mp3an ( { 𝐴 , 𝑂 } = { 𝐶 , 𝑂 } ↔ ( ( 𝐴 = 𝐶𝑂 = 𝑂 ) ∨ ( 𝐴 = 𝑂𝑂 = 𝐶 ) ) )
23 preq12nebg ( ( 𝐵 ∈ V ∧ 𝑇 ∈ V ∧ 𝐵𝑇 ) → ( { 𝐵 , 𝑇 } = { 𝐷 , 𝑇 } ↔ ( ( 𝐵 = 𝐷𝑇 = 𝑇 ) ∨ ( 𝐵 = 𝑇𝑇 = 𝐷 ) ) ) )
24 2 7 5 23 mp3an ( { 𝐵 , 𝑇 } = { 𝐷 , 𝑇 } ↔ ( ( 𝐵 = 𝐷𝑇 = 𝑇 ) ∨ ( 𝐵 = 𝑇𝑇 = 𝐷 ) ) )
25 simpl ( ( 𝐴 = 𝐶𝑂 = 𝑂 ) → 𝐴 = 𝐶 )
26 simpl ( ( 𝐵 = 𝐷𝑇 = 𝑇 ) → 𝐵 = 𝐷 )
27 25 26 anim12i ( ( ( 𝐴 = 𝐶𝑂 = 𝑂 ) ∧ ( 𝐵 = 𝐷𝑇 = 𝑇 ) ) → ( 𝐴 = 𝐶𝐵 = 𝐷 ) )
28 eqneqall ( 𝐴 = 𝑂 → ( 𝐴𝑂 → ( 𝐴 = 𝐶𝐵 = 𝐷 ) ) )
29 3 28 mpi ( 𝐴 = 𝑂 → ( 𝐴 = 𝐶𝐵 = 𝐷 ) )
30 29 adantr ( ( 𝐴 = 𝑂𝑂 = 𝐶 ) → ( 𝐴 = 𝐶𝐵 = 𝐷 ) )
31 eqneqall ( 𝐵 = 𝑇 → ( 𝐵𝑇 → ( 𝐴 = 𝐶𝐵 = 𝐷 ) ) )
32 5 31 mpi ( 𝐵 = 𝑇 → ( 𝐴 = 𝐶𝐵 = 𝐷 ) )
33 32 adantr ( ( 𝐵 = 𝑇𝑇 = 𝐷 ) → ( 𝐴 = 𝐶𝐵 = 𝐷 ) )
34 27 30 33 ccase2 ( ( ( ( 𝐴 = 𝐶𝑂 = 𝑂 ) ∨ ( 𝐴 = 𝑂𝑂 = 𝐶 ) ) ∧ ( ( 𝐵 = 𝐷𝑇 = 𝑇 ) ∨ ( 𝐵 = 𝑇𝑇 = 𝐷 ) ) ) → ( 𝐴 = 𝐶𝐵 = 𝐷 ) )
35 22 24 34 syl2anb ( ( { 𝐴 , 𝑂 } = { 𝐶 , 𝑂 } ∧ { 𝐵 , 𝑇 } = { 𝐷 , 𝑇 } ) → ( 𝐴 = 𝐶𝐵 = 𝐷 ) )
36 preq12nebg ( ( 𝐴 ∈ V ∧ 𝑂 ∈ V ∧ 𝐴𝑂 ) → ( { 𝐴 , 𝑂 } = { 𝐷 , 𝑇 } ↔ ( ( 𝐴 = 𝐷𝑂 = 𝑇 ) ∨ ( 𝐴 = 𝑇𝑂 = 𝐷 ) ) ) )
37 1 6 3 36 mp3an ( { 𝐴 , 𝑂 } = { 𝐷 , 𝑇 } ↔ ( ( 𝐴 = 𝐷𝑂 = 𝑇 ) ∨ ( 𝐴 = 𝑇𝑂 = 𝐷 ) ) )
38 preq12nebg ( ( 𝐵 ∈ V ∧ 𝑇 ∈ V ∧ 𝐵𝑇 ) → ( { 𝐵 , 𝑇 } = { 𝐶 , 𝑂 } ↔ ( ( 𝐵 = 𝐶𝑇 = 𝑂 ) ∨ ( 𝐵 = 𝑂𝑇 = 𝐶 ) ) ) )
39 2 7 5 38 mp3an ( { 𝐵 , 𝑇 } = { 𝐶 , 𝑂 } ↔ ( ( 𝐵 = 𝐶𝑇 = 𝑂 ) ∨ ( 𝐵 = 𝑂𝑇 = 𝐶 ) ) )
40 eqneqall ( 𝑂 = 𝑇 → ( 𝑂𝑇 → ( 𝐴 = 𝐶𝐵 = 𝐷 ) ) )
41 8 40 mpi ( 𝑂 = 𝑇 → ( 𝐴 = 𝐶𝐵 = 𝐷 ) )
42 41 adantl ( ( 𝐴 = 𝐷𝑂 = 𝑇 ) → ( 𝐴 = 𝐶𝐵 = 𝐷 ) )
43 42 a1d ( ( 𝐴 = 𝐷𝑂 = 𝑇 ) → ( ( ( 𝐵 = 𝐶𝑇 = 𝑂 ) ∨ ( 𝐵 = 𝑂𝑇 = 𝐶 ) ) → ( 𝐴 = 𝐶𝐵 = 𝐷 ) ) )
44 8 necomi 𝑇𝑂
45 eqneqall ( 𝑇 = 𝑂 → ( 𝑇𝑂 → ( 𝐴 = 𝐶𝐵 = 𝐷 ) ) )
46 44 45 mpi ( 𝑇 = 𝑂 → ( 𝐴 = 𝐶𝐵 = 𝐷 ) )
47 46 adantl ( ( 𝐵 = 𝐶𝑇 = 𝑂 ) → ( 𝐴 = 𝐶𝐵 = 𝐷 ) )
48 47 a1d ( ( 𝐵 = 𝐶𝑇 = 𝑂 ) → ( ( 𝐴 = 𝑇𝑂 = 𝐷 ) → ( 𝐴 = 𝐶𝐵 = 𝐷 ) ) )
49 eqneqall ( 𝐵 = 𝑂 → ( 𝐵𝑂 → ( 𝐴 = 𝐶𝐵 = 𝐷 ) ) )
50 4 49 mpi ( 𝐵 = 𝑂 → ( 𝐴 = 𝐶𝐵 = 𝐷 ) )
51 50 adantr ( ( 𝐵 = 𝑂𝑇 = 𝐶 ) → ( 𝐴 = 𝐶𝐵 = 𝐷 ) )
52 51 a1d ( ( 𝐵 = 𝑂𝑇 = 𝐶 ) → ( ( 𝐴 = 𝑇𝑂 = 𝐷 ) → ( 𝐴 = 𝐶𝐵 = 𝐷 ) ) )
53 48 52 jaoi ( ( ( 𝐵 = 𝐶𝑇 = 𝑂 ) ∨ ( 𝐵 = 𝑂𝑇 = 𝐶 ) ) → ( ( 𝐴 = 𝑇𝑂 = 𝐷 ) → ( 𝐴 = 𝐶𝐵 = 𝐷 ) ) )
54 53 com12 ( ( 𝐴 = 𝑇𝑂 = 𝐷 ) → ( ( ( 𝐵 = 𝐶𝑇 = 𝑂 ) ∨ ( 𝐵 = 𝑂𝑇 = 𝐶 ) ) → ( 𝐴 = 𝐶𝐵 = 𝐷 ) ) )
55 43 54 jaoi ( ( ( 𝐴 = 𝐷𝑂 = 𝑇 ) ∨ ( 𝐴 = 𝑇𝑂 = 𝐷 ) ) → ( ( ( 𝐵 = 𝐶𝑇 = 𝑂 ) ∨ ( 𝐵 = 𝑂𝑇 = 𝐶 ) ) → ( 𝐴 = 𝐶𝐵 = 𝐷 ) ) )
56 55 imp ( ( ( ( 𝐴 = 𝐷𝑂 = 𝑇 ) ∨ ( 𝐴 = 𝑇𝑂 = 𝐷 ) ) ∧ ( ( 𝐵 = 𝐶𝑇 = 𝑂 ) ∨ ( 𝐵 = 𝑂𝑇 = 𝐶 ) ) ) → ( 𝐴 = 𝐶𝐵 = 𝐷 ) )
57 37 39 56 syl2anb ( ( { 𝐴 , 𝑂 } = { 𝐷 , 𝑇 } ∧ { 𝐵 , 𝑇 } = { 𝐶 , 𝑂 } ) → ( 𝐴 = 𝐶𝐵 = 𝐷 ) )
58 35 57 jaoi ( ( ( { 𝐴 , 𝑂 } = { 𝐶 , 𝑂 } ∧ { 𝐵 , 𝑇 } = { 𝐷 , 𝑇 } ) ∨ ( { 𝐴 , 𝑂 } = { 𝐷 , 𝑇 } ∧ { 𝐵 , 𝑇 } = { 𝐶 , 𝑂 } ) ) → ( 𝐴 = 𝐶𝐵 = 𝐷 ) )
59 20 58 sylbi ( { { 𝐴 , 𝑂 } , { 𝐵 , 𝑇 } } = { { 𝐶 , 𝑂 } , { 𝐷 , 𝑇 } } → ( 𝐴 = 𝐶𝐵 = 𝐷 ) )
60 preq1 ( 𝐴 = 𝐶 → { 𝐴 , 𝑂 } = { 𝐶 , 𝑂 } )
61 60 adantr ( ( 𝐴 = 𝐶𝐵 = 𝐷 ) → { 𝐴 , 𝑂 } = { 𝐶 , 𝑂 } )
62 preq1 ( 𝐵 = 𝐷 → { 𝐵 , 𝑇 } = { 𝐷 , 𝑇 } )
63 62 adantl ( ( 𝐴 = 𝐶𝐵 = 𝐷 ) → { 𝐵 , 𝑇 } = { 𝐷 , 𝑇 } )
64 61 63 preq12d ( ( 𝐴 = 𝐶𝐵 = 𝐷 ) → { { 𝐴 , 𝑂 } , { 𝐵 , 𝑇 } } = { { 𝐶 , 𝑂 } , { 𝐷 , 𝑇 } } )
65 59 64 impbii ( { { 𝐴 , 𝑂 } , { 𝐵 , 𝑇 } } = { { 𝐶 , 𝑂 } , { 𝐷 , 𝑇 } } ↔ ( 𝐴 = 𝐶𝐵 = 𝐷 ) )