HomeHome Metamath Proof Explorer < Previous   Next >
Related theorems
GIF version

Theorem opthprc 2457
Description: Justification theorem for an ordered pair definition that works for any classes, including proper classes. This is the definition implied by the footnote in [Jech] p. 78, which says, "The sophisticated reader will not object to our use of a pair of classes."
Assertion
Ref Expression
opthprc (((A × {∅}) ∪ (B × {{∅}})) = ((C × {∅}) ∪ (D × {{∅}})) ↔ (A = CB = D))

Proof of Theorem opthprc
StepHypRef Expression
1 eleq2 1150 . . . . 5 (((A × {∅}) ∪ (B × {{∅}})) = ((C × {∅}) ∪ (D × {{∅}})) → (⟨x, ∅⟩ ∈ ((A × {∅}) ∪ (B × {{∅}})) ↔ ⟨x, ∅⟩ ∈ ((C × {∅}) ∪ (D × {{∅}}))))
2 0ex 1745 . . . . . . . . 9 ∅ ∈ V
32opelxp 2452 . . . . . . . 8 (⟨x, ∅⟩ ∈ (A × {∅}) ↔ (xA ∧ ∅ ∈ {∅}))
42snid 1830 . . . . . . . 8 ∅ ∈ {∅}
53, 4mpbiranr 548 . . . . . . 7 (⟨x, ∅⟩ ∈ (A × {∅}) ↔ xA)
62opelxp 2452 . . . . . . . 8 (⟨x, ∅⟩ ∈ (B × {{∅}}) ↔ (xB ∧ ∅ ∈ {{∅}}))
7 0nep0 1887 . . . . . . . . . 10 ¬ ∅ = {∅}
82elsnc 1826 . . . . . . . . . 10 (∅ ∈ {{∅}} ↔ ∅ = {∅})
97, 8mtbir 167 . . . . . . . . 9 ¬ ∅ ∈ {{∅}}
109bianfi 553 . . . . . . . 8 (∅ ∈ {{∅}} ↔ (xB ∧ ∅ ∈ {{∅}}))
116, 10bitr4 154 . . . . . . 7 (⟨x, ∅⟩ ∈ (B × {{∅}}) ↔ ∅ ∈ {{∅}})
125, 11orbi12i 216 . . . . . 6 ((⟨x, ∅⟩ ∈ (A × {∅}) ∨ ⟨x, ∅⟩ ∈ (B × {{∅}})) ↔ (xA ∨ ∅ ∈ {{∅}}))
13 elun 1601 . . . . . 6 (⟨x, ∅⟩ ∈ ((A × {∅}) ∪ (B × {{∅}})) ↔ (⟨x, ∅⟩ ∈ (A × {∅}) ∨ ⟨x, ∅⟩ ∈ (B × {{∅}})))
149biorfi 552 . . . . . 6 (xA ↔ (xA ∨ ∅ ∈ {{∅}}))
1512, 13, 143bitr4r 159 . . . . 5 (xA ↔ ⟨x, ∅⟩ ∈ ((A × {∅}) ∪ (B × {{∅}})))
162opelxp 2452 . . . . . . . 8 (⟨x, ∅⟩ ∈ (C × {∅}) ↔ (xC ∧ ∅ ∈ {∅}))
1716, 4mpbiranr 548 . . . . . . 7 (⟨x, ∅⟩ ∈ (C × {∅}) ↔ xC)
182opelxp 2452 . . . . . . . 8 (⟨x, ∅⟩ ∈ (D × {{∅}}) ↔ (xD ∧ ∅ ∈ {{∅}}))
199bianfi 553 . . . . . . . 8 (∅ ∈ {{∅}} ↔ (xD ∧ ∅ ∈ {{∅}}))
2018, 19bitr4 154 . . . . . . 7 (⟨x, ∅⟩ ∈ (D × {{∅}}) ↔ ∅ ∈ {{∅}})
2117, 20orbi12i 216 . . . . . 6 ((⟨x, ∅⟩ ∈ (C × {∅}) ∨ ⟨x, ∅⟩ ∈ (D × {{∅}})) ↔ (xC ∨ ∅ ∈ {{∅}}))
22 elun 1601 . . . . . 6 (⟨x, ∅⟩ ∈ ((C × {∅}) ∪ (D × {{∅}})) ↔ (⟨x, ∅⟩ ∈ (C × {∅}) ∨ ⟨x, ∅⟩ ∈ (D × {{∅}})))
239biorfi 552 . . . . . 6 (xC ↔ (xC ∨ ∅ ∈ {{∅}}))
2421, 22, 233bitr4r 159 . . . . 5 (xC ↔ ⟨x, ∅⟩ ∈ ((C × {∅}) ∪ (D × {{∅}})))
251, 15, 243bitr4g 428 . . . 4 (((A × {∅}) ∪ (B × {{∅}})) = ((C × {∅}) ∪ (D × {{∅}})) → (xAxC))
2625cleqrd 1100 . . 3 (((A × {∅}) ∪ (B × {{∅}})) = ((C × {∅}) ∪ (D × {{∅}})) → A = C)
27 eleq2 1150 . . . . 5 (((A × {∅}) ∪ (B × {{∅}})) = ((C × {∅}) ∪ (D × {{∅}})) → (⟨x, {∅}⟩ ∈ ((A × {∅}) ∪ (B × {{∅}})) ↔ ⟨x, {∅}⟩ ∈ ((C × {∅}) ∪ (D × {{∅}}))))
28 p0ex 1885 . . . . . . . . 9 {∅} ∈ V
2928opelxp 2452 . . . . . . . 8 (⟨x, {∅}⟩ ∈ (A × {∅}) ↔ (xA ∧ {∅} ∈ {∅}))
3028elsnc 1826 . . . . . . . . . . 11 ({∅} ∈ {∅} ↔ {∅} = ∅)
31 cleqcom 1103 . . . . . . . . . . 11 ({∅} = ∅ ↔ ∅ = {∅})
3230, 31bitr 151 . . . . . . . . . 10 ({∅} ∈ {∅} ↔ ∅ = {∅})
337, 32mtbir 167 . . . . . . . . 9 ¬ {∅} ∈ {∅}
3433bianfi 553 . . . . . . . 8 ({∅} ∈ {∅} ↔ (xA ∧ {∅} ∈ {∅}))
3529, 34bitr4 154 . . . . . . 7 (⟨x, {∅}⟩ ∈ (A × {∅}) ↔ {∅} ∈ {∅})
3628opelxp 2452 . . . . . . . 8 (⟨x, {∅}⟩ ∈ (B × {{∅}}) ↔ (xB ∧ {∅} ∈ {{∅}}))
3728snid 1830 . . . . . . . 8 {∅} ∈ {{∅}}
3836, 37mpbiranr 548 . . . . . . 7 (⟨x, {∅}⟩ ∈ (B × {{∅}}) ↔ xB)
3935, 38orbi12i 216 . . . . . 6 ((⟨x, {∅}⟩ ∈ (A × {∅}) ∨ ⟨x, {∅}⟩ ∈ (B × {{∅}})) ↔ ({∅} ∈ {∅} ∨ xB))
40 elun 1601 . . . . . 6 (⟨x, {∅}⟩ ∈ ((A × {∅}) ∪ (B × {{∅}})) ↔ (⟨x, {∅}⟩ ∈ (A × {∅}) ∨ ⟨x, {∅}⟩ ∈ (B × {{∅}})))
41 biorf 551 . . . . . . 7 (¬ {∅} ∈ {∅} → (xB ↔ ({∅} ∈ {∅} ∨ xB)))
4233, 41ax-mp 6 . . . . . 6 (xB ↔ ({∅} ∈ {∅} ∨ xB))
4339, 40, 423bitr4r 159 . . . . 5 (xB ↔ ⟨x, {∅}⟩ ∈ ((A × {∅}) ∪ (B × {{∅}})))
4428opelxp 2452 . . . . . . . 8 (⟨x, {∅}⟩ ∈ (C × {∅}) ↔ (xC ∧ {∅} ∈ {∅}))
4533bianfi 553 . . . . . . . 8 ({∅} ∈ {∅} ↔ (xC ∧ {∅} ∈ {∅}))
4644, 45bitr4 154 . . . . . . 7 (⟨x, {∅}⟩ ∈ (C × {∅}) ↔ {∅} ∈ {∅})
4728opelxp 2452 . . . . . . . 8 (⟨x, {∅}⟩ ∈ (D × {{∅}}) ↔ (xD ∧ {∅} ∈ {{∅}}))
4847, 37mpbiranr 548 . . . . . . 7 (⟨x, {∅}⟩ ∈ (D × {{∅}}) ↔ xD)
4946, 48orbi12i 216 . . . . . 6 ((⟨x, {∅}⟩ ∈ (C × {∅}) ∨ ⟨x, {∅}⟩ ∈ (D × {{∅}})) ↔ ({∅} ∈ {∅} ∨ xD))
50 elun 1601 . . . . . 6 (⟨x, {∅}⟩ ∈ ((C × {∅}) ∪ (D × {{∅}})) ↔ (⟨x, {∅}⟩ ∈ (C × {∅}) ∨ ⟨x, {∅}⟩ ∈ (D × {{∅}})))
51 biorf 551 . . . . . . 7 (¬ {∅} ∈ {∅} → (xD ↔ ({∅} ∈ {∅} ∨ xD)))
5233, 51ax-mp 6 . . . . . 6 (xD ↔ ({∅} ∈ {∅} ∨ xD))
5349, 50, 523bitr4r 159 . . . . 5 (xD ↔ ⟨x, {∅}⟩ ∈ ((C × {∅}) ∪ (D × {{∅}})))
5427, 43, 533bitr4g 428 . . . 4 (((A × {∅}) ∪ (B × {{∅}})) = ((C × {∅}) ∪ (D × {{∅}})) → (xBxD))
5554cleqrd 1100 . . 3 (((A × {∅}) ∪ (B × {{∅}})) = ((C × {∅}) ∪ (D × {{∅}})) → B = D)
5626, 55jca 236 . 2 (((A × {∅}) ∪ (B × {{∅}})) = ((C × {∅}) ∪ (D × {{∅}})) → (A = CB = D))
57 uneq12 1613 . . 3 (((A × {∅}) = (C × {∅}) ∧ (B × {{∅}}) = (D × {{∅}})) → ((A × {∅}) ∪ (B × {{∅}})) = ((C × {∅}) ∪ (D × {{∅}})))
58 xpeq1 2440 . . 3 (A = C → (A × {∅}) = (C × {∅}))
59 xpeq1 2440 . . 3 (B = D → (B × {{∅}}) = (D × {{∅}}))
6057, 58, 59syl2an 349 . 2 ((A = CB = D) → ((A × {∅}) ∪ (B × {{∅}})) = ((C × {∅}) ∪ (D × {{∅}})))
6156, 60impbi 139 1 (((A × {∅}) ∪ (B × {{∅}})) = ((C × {∅}) ∪ (D × {{∅}})) ↔ (A = CB = D))
Colors of variables: wff set class
Syntax hints:  ¬ wn 1   ↔ wb 127   ∨ wo 195   ∧ wa 196   = wceq 1091   ∈ wcel 1092   ∪ cun 1485  ∅c0 1707  {csn 1808  ⟨cop 1810   × cxp 2408
This theorem was proved from axioms:  ax-1 3  ax-2 4  ax-3 5  ax-mp 6  ax-4 673  ax-5 674  ax-6 675  ax-7 676  ax-gen 677  ax-8 798  ax-9 799  ax-10 800  ax-11 801  ax-12 802  ax-13 804  ax-14 805  ax-16 922  ax-17 925  ax-ext 1074  ax-rep 1075  ax-pow 1077
This theorem depends on definitions:  df-bi 128  df-or 197  df-an 198  df-ex 679  df-sb 853  df-clab 1093  df-cleq 1097  df-clel 1099  df-v 1349  df-dif 1489  df-un 1490  df-in 1491  df-ss 1492  df-nul 1708  df-pw 1799  df-sn 1811  df-pr 1812  df-op 1815  df-opab 2098  df-xp 2424
metamath.org