MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  nneneq Structured version   Visualization version   GIF version

Theorem nneneq 8829
Description: Two equinumerous natural numbers are equal. Proposition 10.20 of [TakeutiZaring] p. 90 and its converse. Also compare Corollary 6E of [Enderton] p. 136. (Contributed by NM, 28-May-1998.)
Assertion
Ref Expression
nneneq ((𝐴 ∈ ω ∧ 𝐵 ∈ ω) → (𝐴𝐵𝐴 = 𝐵))

Proof of Theorem nneneq
Dummy variables 𝑥 𝑦 𝑧 𝑤 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 breq1 5056 . . . . . 6 (𝑥 = ∅ → (𝑥𝑧 ↔ ∅ ≈ 𝑧))
2 eqeq1 2741 . . . . . 6 (𝑥 = ∅ → (𝑥 = 𝑧 ↔ ∅ = 𝑧))
31, 2imbi12d 348 . . . . 5 (𝑥 = ∅ → ((𝑥𝑧𝑥 = 𝑧) ↔ (∅ ≈ 𝑧 → ∅ = 𝑧)))
43ralbidv 3118 . . . 4 (𝑥 = ∅ → (∀𝑧 ∈ ω (𝑥𝑧𝑥 = 𝑧) ↔ ∀𝑧 ∈ ω (∅ ≈ 𝑧 → ∅ = 𝑧)))
5 breq1 5056 . . . . . 6 (𝑥 = 𝑦 → (𝑥𝑧𝑦𝑧))
6 eqeq1 2741 . . . . . 6 (𝑥 = 𝑦 → (𝑥 = 𝑧𝑦 = 𝑧))
75, 6imbi12d 348 . . . . 5 (𝑥 = 𝑦 → ((𝑥𝑧𝑥 = 𝑧) ↔ (𝑦𝑧𝑦 = 𝑧)))
87ralbidv 3118 . . . 4 (𝑥 = 𝑦 → (∀𝑧 ∈ ω (𝑥𝑧𝑥 = 𝑧) ↔ ∀𝑧 ∈ ω (𝑦𝑧𝑦 = 𝑧)))
9 breq1 5056 . . . . . 6 (𝑥 = suc 𝑦 → (𝑥𝑧 ↔ suc 𝑦𝑧))
10 eqeq1 2741 . . . . . 6 (𝑥 = suc 𝑦 → (𝑥 = 𝑧 ↔ suc 𝑦 = 𝑧))
119, 10imbi12d 348 . . . . 5 (𝑥 = suc 𝑦 → ((𝑥𝑧𝑥 = 𝑧) ↔ (suc 𝑦𝑧 → suc 𝑦 = 𝑧)))
1211ralbidv 3118 . . . 4 (𝑥 = suc 𝑦 → (∀𝑧 ∈ ω (𝑥𝑧𝑥 = 𝑧) ↔ ∀𝑧 ∈ ω (suc 𝑦𝑧 → suc 𝑦 = 𝑧)))
13 breq1 5056 . . . . . 6 (𝑥 = 𝐴 → (𝑥𝑧𝐴𝑧))
14 eqeq1 2741 . . . . . 6 (𝑥 = 𝐴 → (𝑥 = 𝑧𝐴 = 𝑧))
1513, 14imbi12d 348 . . . . 5 (𝑥 = 𝐴 → ((𝑥𝑧𝑥 = 𝑧) ↔ (𝐴𝑧𝐴 = 𝑧)))
1615ralbidv 3118 . . . 4 (𝑥 = 𝐴 → (∀𝑧 ∈ ω (𝑥𝑧𝑥 = 𝑧) ↔ ∀𝑧 ∈ ω (𝐴𝑧𝐴 = 𝑧)))
17 ensym 8677 . . . . . 6 (∅ ≈ 𝑧𝑧 ≈ ∅)
18 en0 8691 . . . . . . 7 (𝑧 ≈ ∅ ↔ 𝑧 = ∅)
19 eqcom 2744 . . . . . . 7 (𝑧 = ∅ ↔ ∅ = 𝑧)
2018, 19bitri 278 . . . . . 6 (𝑧 ≈ ∅ ↔ ∅ = 𝑧)
2117, 20sylib 221 . . . . 5 (∅ ≈ 𝑧 → ∅ = 𝑧)
2221rgenw 3073 . . . 4 𝑧 ∈ ω (∅ ≈ 𝑧 → ∅ = 𝑧)
23 nn0suc 7673 . . . . . . 7 (𝑤 ∈ ω → (𝑤 = ∅ ∨ ∃𝑧 ∈ ω 𝑤 = suc 𝑧))
24 en0 8691 . . . . . . . . . . . 12 (suc 𝑦 ≈ ∅ ↔ suc 𝑦 = ∅)
25 breq2 5057 . . . . . . . . . . . . 13 (𝑤 = ∅ → (suc 𝑦𝑤 ↔ suc 𝑦 ≈ ∅))
26 eqeq2 2749 . . . . . . . . . . . . 13 (𝑤 = ∅ → (suc 𝑦 = 𝑤 ↔ suc 𝑦 = ∅))
2725, 26bibi12d 349 . . . . . . . . . . . 12 (𝑤 = ∅ → ((suc 𝑦𝑤 ↔ suc 𝑦 = 𝑤) ↔ (suc 𝑦 ≈ ∅ ↔ suc 𝑦 = ∅)))
2824, 27mpbiri 261 . . . . . . . . . . 11 (𝑤 = ∅ → (suc 𝑦𝑤 ↔ suc 𝑦 = 𝑤))
2928biimpd 232 . . . . . . . . . 10 (𝑤 = ∅ → (suc 𝑦𝑤 → suc 𝑦 = 𝑤))
3029a1i 11 . . . . . . . . 9 ((𝑦 ∈ ω ∧ ∀𝑧 ∈ ω (𝑦𝑧𝑦 = 𝑧)) → (𝑤 = ∅ → (suc 𝑦𝑤 → suc 𝑦 = 𝑤)))
31 nfv 1922 . . . . . . . . . . 11 𝑧 𝑦 ∈ ω
32 nfra1 3140 . . . . . . . . . . 11 𝑧𝑧 ∈ ω (𝑦𝑧𝑦 = 𝑧)
3331, 32nfan 1907 . . . . . . . . . 10 𝑧(𝑦 ∈ ω ∧ ∀𝑧 ∈ ω (𝑦𝑧𝑦 = 𝑧))
34 nfv 1922 . . . . . . . . . 10 𝑧(suc 𝑦𝑤 → suc 𝑦 = 𝑤)
35 vex 3412 . . . . . . . . . . . . . . . . 17 𝑦 ∈ V
36 vex 3412 . . . . . . . . . . . . . . . . 17 𝑧 ∈ V
3735, 36phplem4 8828 . . . . . . . . . . . . . . . 16 ((𝑦 ∈ ω ∧ 𝑧 ∈ ω) → (suc 𝑦 ≈ suc 𝑧𝑦𝑧))
3837imim1d 82 . . . . . . . . . . . . . . 15 ((𝑦 ∈ ω ∧ 𝑧 ∈ ω) → ((𝑦𝑧𝑦 = 𝑧) → (suc 𝑦 ≈ suc 𝑧𝑦 = 𝑧)))
3938ex 416 . . . . . . . . . . . . . 14 (𝑦 ∈ ω → (𝑧 ∈ ω → ((𝑦𝑧𝑦 = 𝑧) → (suc 𝑦 ≈ suc 𝑧𝑦 = 𝑧))))
4039a2d 29 . . . . . . . . . . . . 13 (𝑦 ∈ ω → ((𝑧 ∈ ω → (𝑦𝑧𝑦 = 𝑧)) → (𝑧 ∈ ω → (suc 𝑦 ≈ suc 𝑧𝑦 = 𝑧))))
41 rsp 3127 . . . . . . . . . . . . 13 (∀𝑧 ∈ ω (𝑦𝑧𝑦 = 𝑧) → (𝑧 ∈ ω → (𝑦𝑧𝑦 = 𝑧)))
4240, 41impel 509 . . . . . . . . . . . 12 ((𝑦 ∈ ω ∧ ∀𝑧 ∈ ω (𝑦𝑧𝑦 = 𝑧)) → (𝑧 ∈ ω → (suc 𝑦 ≈ suc 𝑧𝑦 = 𝑧)))
43 suceq 6278 . . . . . . . . . . . 12 (𝑦 = 𝑧 → suc 𝑦 = suc 𝑧)
4442, 43syl8 76 . . . . . . . . . . 11 ((𝑦 ∈ ω ∧ ∀𝑧 ∈ ω (𝑦𝑧𝑦 = 𝑧)) → (𝑧 ∈ ω → (suc 𝑦 ≈ suc 𝑧 → suc 𝑦 = suc 𝑧)))
45 breq2 5057 . . . . . . . . . . . . 13 (𝑤 = suc 𝑧 → (suc 𝑦𝑤 ↔ suc 𝑦 ≈ suc 𝑧))
46 eqeq2 2749 . . . . . . . . . . . . 13 (𝑤 = suc 𝑧 → (suc 𝑦 = 𝑤 ↔ suc 𝑦 = suc 𝑧))
4745, 46imbi12d 348 . . . . . . . . . . . 12 (𝑤 = suc 𝑧 → ((suc 𝑦𝑤 → suc 𝑦 = 𝑤) ↔ (suc 𝑦 ≈ suc 𝑧 → suc 𝑦 = suc 𝑧)))
4847biimprcd 253 . . . . . . . . . . 11 ((suc 𝑦 ≈ suc 𝑧 → suc 𝑦 = suc 𝑧) → (𝑤 = suc 𝑧 → (suc 𝑦𝑤 → suc 𝑦 = 𝑤)))
4944, 48syl6 35 . . . . . . . . . 10 ((𝑦 ∈ ω ∧ ∀𝑧 ∈ ω (𝑦𝑧𝑦 = 𝑧)) → (𝑧 ∈ ω → (𝑤 = suc 𝑧 → (suc 𝑦𝑤 → suc 𝑦 = 𝑤))))
5033, 34, 49rexlimd 3236 . . . . . . . . 9 ((𝑦 ∈ ω ∧ ∀𝑧 ∈ ω (𝑦𝑧𝑦 = 𝑧)) → (∃𝑧 ∈ ω 𝑤 = suc 𝑧 → (suc 𝑦𝑤 → suc 𝑦 = 𝑤)))
5130, 50jaod 859 . . . . . . . 8 ((𝑦 ∈ ω ∧ ∀𝑧 ∈ ω (𝑦𝑧𝑦 = 𝑧)) → ((𝑤 = ∅ ∨ ∃𝑧 ∈ ω 𝑤 = suc 𝑧) → (suc 𝑦𝑤 → suc 𝑦 = 𝑤)))
5251ex 416 . . . . . . 7 (𝑦 ∈ ω → (∀𝑧 ∈ ω (𝑦𝑧𝑦 = 𝑧) → ((𝑤 = ∅ ∨ ∃𝑧 ∈ ω 𝑤 = suc 𝑧) → (suc 𝑦𝑤 → suc 𝑦 = 𝑤))))
5323, 52syl7 74 . . . . . 6 (𝑦 ∈ ω → (∀𝑧 ∈ ω (𝑦𝑧𝑦 = 𝑧) → (𝑤 ∈ ω → (suc 𝑦𝑤 → suc 𝑦 = 𝑤))))
5453ralrimdv 3109 . . . . 5 (𝑦 ∈ ω → (∀𝑧 ∈ ω (𝑦𝑧𝑦 = 𝑧) → ∀𝑤 ∈ ω (suc 𝑦𝑤 → suc 𝑦 = 𝑤)))
55 breq2 5057 . . . . . . 7 (𝑤 = 𝑧 → (suc 𝑦𝑤 ↔ suc 𝑦𝑧))
56 eqeq2 2749 . . . . . . 7 (𝑤 = 𝑧 → (suc 𝑦 = 𝑤 ↔ suc 𝑦 = 𝑧))
5755, 56imbi12d 348 . . . . . 6 (𝑤 = 𝑧 → ((suc 𝑦𝑤 → suc 𝑦 = 𝑤) ↔ (suc 𝑦𝑧 → suc 𝑦 = 𝑧)))
5857cbvralvw 3358 . . . . 5 (∀𝑤 ∈ ω (suc 𝑦𝑤 → suc 𝑦 = 𝑤) ↔ ∀𝑧 ∈ ω (suc 𝑦𝑧 → suc 𝑦 = 𝑧))
5954, 58syl6ib 254 . . . 4 (𝑦 ∈ ω → (∀𝑧 ∈ ω (𝑦𝑧𝑦 = 𝑧) → ∀𝑧 ∈ ω (suc 𝑦𝑧 → suc 𝑦 = 𝑧)))
604, 8, 12, 16, 22, 59finds 7676 . . 3 (𝐴 ∈ ω → ∀𝑧 ∈ ω (𝐴𝑧𝐴 = 𝑧))
61 breq2 5057 . . . . 5 (𝑧 = 𝐵 → (𝐴𝑧𝐴𝐵))
62 eqeq2 2749 . . . . 5 (𝑧 = 𝐵 → (𝐴 = 𝑧𝐴 = 𝐵))
6361, 62imbi12d 348 . . . 4 (𝑧 = 𝐵 → ((𝐴𝑧𝐴 = 𝑧) ↔ (𝐴𝐵𝐴 = 𝐵)))
6463rspcv 3532 . . 3 (𝐵 ∈ ω → (∀𝑧 ∈ ω (𝐴𝑧𝐴 = 𝑧) → (𝐴𝐵𝐴 = 𝐵)))
6560, 64mpan9 510 . 2 ((𝐴 ∈ ω ∧ 𝐵 ∈ ω) → (𝐴𝐵𝐴 = 𝐵))
66 eqeng 8662 . . 3 (𝐴 ∈ ω → (𝐴 = 𝐵𝐴𝐵))
6766adantr 484 . 2 ((𝐴 ∈ ω ∧ 𝐵 ∈ ω) → (𝐴 = 𝐵𝐴𝐵))
6865, 67impbid 215 1 ((𝐴 ∈ ω ∧ 𝐵 ∈ ω) → (𝐴𝐵𝐴 = 𝐵))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 209  wa 399  wo 847   = wceq 1543  wcel 2110  wral 3061  wrex 3062  c0 4237   class class class wbr 5053  suc csuc 6215  ωcom 7644  cen 8623
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1803  ax-4 1817  ax-5 1918  ax-6 1976  ax-7 2016  ax-8 2112  ax-9 2120  ax-10 2141  ax-11 2158  ax-12 2175  ax-ext 2708  ax-sep 5192  ax-nul 5199  ax-pow 5258  ax-pr 5322  ax-un 7523
This theorem depends on definitions:  df-bi 210  df-an 400  df-or 848  df-3or 1090  df-3an 1091  df-tru 1546  df-fal 1556  df-ex 1788  df-nf 1792  df-sb 2071  df-mo 2539  df-eu 2568  df-clab 2715  df-cleq 2729  df-clel 2816  df-nfc 2886  df-ne 2941  df-ral 3066  df-rex 3067  df-rab 3070  df-v 3410  df-dif 3869  df-un 3871  df-in 3873  df-ss 3883  df-pss 3885  df-nul 4238  df-if 4440  df-pw 4515  df-sn 4542  df-pr 4544  df-tp 4546  df-op 4548  df-uni 4820  df-br 5054  df-opab 5116  df-tr 5162  df-id 5455  df-eprel 5460  df-po 5468  df-so 5469  df-fr 5509  df-we 5511  df-xp 5557  df-rel 5558  df-cnv 5559  df-co 5560  df-dm 5561  df-rn 5562  df-res 5563  df-ima 5564  df-ord 6216  df-on 6217  df-lim 6218  df-suc 6219  df-iota 6338  df-fun 6382  df-fn 6383  df-f 6384  df-f1 6385  df-fo 6386  df-f1o 6387  df-fv 6388  df-om 7645  df-er 8391  df-en 8627
This theorem is referenced by:  php  8830  onomeneq  8869  nnsdomo  8874  fineqvlem  8892  dif1enALT  8907  findcard2OLD  8913  cardnn  9579  satfun  33086
  Copyright terms: Public domain W3C validator