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

Theorem karden 9817
Description: If we allow the Axiom of Regularity, we can avoid the Axiom of Choice by defining the cardinal number of a set as the set of all sets equinumerous to it and having the least possible rank. This theorem proves the equinumerosity relationship for this definition (compare carden 10471). The hypotheses correspond to the definition of kard of [Enderton] p. 222 (which we don't define separately since currently we do not use it elsewhere). This theorem along with kardex 9816 justify the definition of kard. The restriction to the least rank prevents the proper class that would result from {𝑥𝑥𝐴}. (Contributed by NM, 18-Dec-2003.) (Revised by AV, 12-Jul-2022.)
Hypotheses
Ref Expression
karden.a 𝐴 ∈ V
karden.c 𝐶 = {𝑥 ∣ (𝑥𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦)))}
karden.d 𝐷 = {𝑥 ∣ (𝑥𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑥) ⊆ (rank‘𝑦)))}
Assertion
Ref Expression
karden (𝐶 = 𝐷𝐴𝐵)
Distinct variable groups:   𝑥,𝑦,𝐴   𝑥,𝐵,𝑦
Allowed substitution hints:   𝐶(𝑥,𝑦)   𝐷(𝑥,𝑦)

Proof of Theorem karden
Dummy variables 𝑧 𝑤 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 karden.a . . . . . . 7 𝐴 ∈ V
2 breq1 5082 . . . . . . 7 (𝑤 = 𝐴 → (𝑤𝐴𝐴𝐴))
31enref 8929 . . . . . . 7 𝐴𝐴
41, 2, 3ceqsexv2d 3482 . . . . . 6 𝑤 𝑤𝐴
5 abn0 4320 . . . . . 6 ({𝑤𝑤𝐴} ≠ ∅ ↔ ∃𝑤 𝑤𝐴)
64, 5mpbir 232 . . . . 5 {𝑤𝑤𝐴} ≠ ∅
7 scott0 9808 . . . . . 6 ({𝑤𝑤𝐴} = ∅ ↔ {𝑧 ∈ {𝑤𝑤𝐴} ∣ ∀𝑦 ∈ {𝑤𝑤𝐴} (rank‘𝑧) ⊆ (rank‘𝑦)} = ∅)
87necon3bii 2987 . . . . 5 ({𝑤𝑤𝐴} ≠ ∅ ↔ {𝑧 ∈ {𝑤𝑤𝐴} ∣ ∀𝑦 ∈ {𝑤𝑤𝐴} (rank‘𝑧) ⊆ (rank‘𝑦)} ≠ ∅)
96, 8mpbi 231 . . . 4 {𝑧 ∈ {𝑤𝑤𝐴} ∣ ∀𝑦 ∈ {𝑤𝑤𝐴} (rank‘𝑧) ⊆ (rank‘𝑦)} ≠ ∅
10 rabn0 4324 . . . 4 ({𝑧 ∈ {𝑤𝑤𝐴} ∣ ∀𝑦 ∈ {𝑤𝑤𝐴} (rank‘𝑧) ⊆ (rank‘𝑦)} ≠ ∅ ↔ ∃𝑧 ∈ {𝑤𝑤𝐴}∀𝑦 ∈ {𝑤𝑤𝐴} (rank‘𝑧) ⊆ (rank‘𝑦))
119, 10mpbi 231 . . 3 𝑧 ∈ {𝑤𝑤𝐴}∀𝑦 ∈ {𝑤𝑤𝐴} (rank‘𝑧) ⊆ (rank‘𝑦)
12 vex 3436 . . . . . . . 8 𝑧 ∈ V
13 breq1 5082 . . . . . . . 8 (𝑤 = 𝑧 → (𝑤𝐴𝑧𝐴))
1412, 13elab 3624 . . . . . . 7 (𝑧 ∈ {𝑤𝑤𝐴} ↔ 𝑧𝐴)
15 breq1 5082 . . . . . . . 8 (𝑤 = 𝑦 → (𝑤𝐴𝑦𝐴))
1615ralab 3641 . . . . . . 7 (∀𝑦 ∈ {𝑤𝑤𝐴} (rank‘𝑧) ⊆ (rank‘𝑦) ↔ ∀𝑦(𝑦𝐴 → (rank‘𝑧) ⊆ (rank‘𝑦)))
1714, 16anbi12i 634 . . . . . 6 ((𝑧 ∈ {𝑤𝑤𝐴} ∧ ∀𝑦 ∈ {𝑤𝑤𝐴} (rank‘𝑧) ⊆ (rank‘𝑦)) ↔ (𝑧𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑧) ⊆ (rank‘𝑦))))
18 simpl 483 . . . . . . . . 9 ((𝑧𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑧) ⊆ (rank‘𝑦))) → 𝑧𝐴)
1918a1i 11 . . . . . . . 8 (𝐶 = 𝐷 → ((𝑧𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑧) ⊆ (rank‘𝑦))) → 𝑧𝐴))
20 karden.c . . . . . . . . . . . 12 𝐶 = {𝑥 ∣ (𝑥𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦)))}
21 karden.d . . . . . . . . . . . 12 𝐷 = {𝑥 ∣ (𝑥𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑥) ⊆ (rank‘𝑦)))}
2220, 21eqeq12i 2758 . . . . . . . . . . 11 (𝐶 = 𝐷 ↔ {𝑥 ∣ (𝑥𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦)))} = {𝑥 ∣ (𝑥𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑥) ⊆ (rank‘𝑦)))})
23 abbib 2809 . . . . . . . . . . 11 ({𝑥 ∣ (𝑥𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦)))} = {𝑥 ∣ (𝑥𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑥) ⊆ (rank‘𝑦)))} ↔ ∀𝑥((𝑥𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦))) ↔ (𝑥𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑥) ⊆ (rank‘𝑦)))))
2422, 23bitri 276 . . . . . . . . . 10 (𝐶 = 𝐷 ↔ ∀𝑥((𝑥𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦))) ↔ (𝑥𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑥) ⊆ (rank‘𝑦)))))
25 breq1 5082 . . . . . . . . . . . . 13 (𝑥 = 𝑧 → (𝑥𝐴𝑧𝐴))
26 fveq2 6834 . . . . . . . . . . . . . . . 16 (𝑥 = 𝑧 → (rank‘𝑥) = (rank‘𝑧))
2726sseq1d 3953 . . . . . . . . . . . . . . 15 (𝑥 = 𝑧 → ((rank‘𝑥) ⊆ (rank‘𝑦) ↔ (rank‘𝑧) ⊆ (rank‘𝑦)))
2827imbi2d 341 . . . . . . . . . . . . . 14 (𝑥 = 𝑧 → ((𝑦𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦)) ↔ (𝑦𝐴 → (rank‘𝑧) ⊆ (rank‘𝑦))))
2928albidv 1927 . . . . . . . . . . . . 13 (𝑥 = 𝑧 → (∀𝑦(𝑦𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦)) ↔ ∀𝑦(𝑦𝐴 → (rank‘𝑧) ⊆ (rank‘𝑦))))
3025, 29anbi12d 638 . . . . . . . . . . . 12 (𝑥 = 𝑧 → ((𝑥𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦))) ↔ (𝑧𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑧) ⊆ (rank‘𝑦)))))
31 breq1 5082 . . . . . . . . . . . . 13 (𝑥 = 𝑧 → (𝑥𝐵𝑧𝐵))
3227imbi2d 341 . . . . . . . . . . . . . 14 (𝑥 = 𝑧 → ((𝑦𝐵 → (rank‘𝑥) ⊆ (rank‘𝑦)) ↔ (𝑦𝐵 → (rank‘𝑧) ⊆ (rank‘𝑦))))
3332albidv 1927 . . . . . . . . . . . . 13 (𝑥 = 𝑧 → (∀𝑦(𝑦𝐵 → (rank‘𝑥) ⊆ (rank‘𝑦)) ↔ ∀𝑦(𝑦𝐵 → (rank‘𝑧) ⊆ (rank‘𝑦))))
3431, 33anbi12d 638 . . . . . . . . . . . 12 (𝑥 = 𝑧 → ((𝑥𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑥) ⊆ (rank‘𝑦))) ↔ (𝑧𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑧) ⊆ (rank‘𝑦)))))
3530, 34bibi12d 346 . . . . . . . . . . 11 (𝑥 = 𝑧 → (((𝑥𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦))) ↔ (𝑥𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑥) ⊆ (rank‘𝑦)))) ↔ ((𝑧𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑧) ⊆ (rank‘𝑦))) ↔ (𝑧𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑧) ⊆ (rank‘𝑦))))))
3635spvv 1995 . . . . . . . . . 10 (∀𝑥((𝑥𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦))) ↔ (𝑥𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑥) ⊆ (rank‘𝑦)))) → ((𝑧𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑧) ⊆ (rank‘𝑦))) ↔ (𝑧𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑧) ⊆ (rank‘𝑦)))))
3724, 36sylbi 218 . . . . . . . . 9 (𝐶 = 𝐷 → ((𝑧𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑧) ⊆ (rank‘𝑦))) ↔ (𝑧𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑧) ⊆ (rank‘𝑦)))))
38 simpl 483 . . . . . . . . 9 ((𝑧𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑧) ⊆ (rank‘𝑦))) → 𝑧𝐵)
3937, 38biimtrdi 254 . . . . . . . 8 (𝐶 = 𝐷 → ((𝑧𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑧) ⊆ (rank‘𝑦))) → 𝑧𝐵))
4019, 39jcad 517 . . . . . . 7 (𝐶 = 𝐷 → ((𝑧𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑧) ⊆ (rank‘𝑦))) → (𝑧𝐴𝑧𝐵)))
41 ensym 8947 . . . . . . . 8 (𝑧𝐴𝐴𝑧)
42 entr 8950 . . . . . . . 8 ((𝐴𝑧𝑧𝐵) → 𝐴𝐵)
4341, 42sylan 586 . . . . . . 7 ((𝑧𝐴𝑧𝐵) → 𝐴𝐵)
4440, 43syl6 35 . . . . . 6 (𝐶 = 𝐷 → ((𝑧𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑧) ⊆ (rank‘𝑦))) → 𝐴𝐵))
4517, 44biimtrid 243 . . . . 5 (𝐶 = 𝐷 → ((𝑧 ∈ {𝑤𝑤𝐴} ∧ ∀𝑦 ∈ {𝑤𝑤𝐴} (rank‘𝑧) ⊆ (rank‘𝑦)) → 𝐴𝐵))
4645expd 416 . . . 4 (𝐶 = 𝐷 → (𝑧 ∈ {𝑤𝑤𝐴} → (∀𝑦 ∈ {𝑤𝑤𝐴} (rank‘𝑧) ⊆ (rank‘𝑦) → 𝐴𝐵)))
4746rexlimdv 3139 . . 3 (𝐶 = 𝐷 → (∃𝑧 ∈ {𝑤𝑤𝐴}∀𝑦 ∈ {𝑤𝑤𝐴} (rank‘𝑧) ⊆ (rank‘𝑦) → 𝐴𝐵))
4811, 47mpi 20 . 2 (𝐶 = 𝐷𝐴𝐵)
49 enen2 9053 . . . . 5 (𝐴𝐵 → (𝑥𝐴𝑥𝐵))
50 enen2 9053 . . . . . . 7 (𝐴𝐵 → (𝑦𝐴𝑦𝐵))
5150imbi1d 342 . . . . . 6 (𝐴𝐵 → ((𝑦𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦)) ↔ (𝑦𝐵 → (rank‘𝑥) ⊆ (rank‘𝑦))))
5251albidv 1927 . . . . 5 (𝐴𝐵 → (∀𝑦(𝑦𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦)) ↔ ∀𝑦(𝑦𝐵 → (rank‘𝑥) ⊆ (rank‘𝑦))))
5349, 52anbi12d 638 . . . 4 (𝐴𝐵 → ((𝑥𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦))) ↔ (𝑥𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑥) ⊆ (rank‘𝑦)))))
5453abbidv 2806 . . 3 (𝐴𝐵 → {𝑥 ∣ (𝑥𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦)))} = {𝑥 ∣ (𝑥𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑥) ⊆ (rank‘𝑦)))})
5554, 20, 213eqtr4g 2800 . 2 (𝐴𝐵𝐶 = 𝐷)
5648, 55impbii 210 1 (𝐶 = 𝐷𝐴𝐵)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 207  wa 396  wal 1545   = wceq 1547  wex 1786  wcel 2119  {cab 2718  wne 2935  wral 3054  wrex 3064  {crab 3392  Vcvv 3432  wss 3890  c0 4268   class class class wbr 5079  cfv 6492  cen 8887  rankcrnk 9685
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1802  ax-4 1816  ax-5 1917  ax-6 1974  ax-7 2015  ax-8 2121  ax-9 2129  ax-10 2152  ax-11 2168  ax-12 2189  ax-ext 2712  ax-sep 5225  ax-nul 5235  ax-pow 5301  ax-pr 5369  ax-un 7685
This theorem depends on definitions:  df-bi 208  df-an 397  df-or 854  df-3or 1093  df-3an 1094  df-tru 1550  df-fal 1560  df-ex 1787  df-nf 1791  df-sb 2074  df-mo 2543  df-eu 2573  df-clab 2719  df-cleq 2732  df-clel 2815  df-nfc 2889  df-ne 2936  df-ral 3055  df-rex 3065  df-reu 3346  df-rab 3393  df-v 3434  df-sbc 3731  df-csb 3839  df-dif 3893  df-un 3895  df-in 3897  df-ss 3907  df-pss 3910  df-nul 4269  df-if 4462  df-pw 4538  df-sn 4563  df-pr 4565  df-op 4569  df-uni 4846  df-int 4885  df-iun 4930  df-iin 4931  df-br 5080  df-opab 5142  df-mpt 5161  df-tr 5187  df-id 5520  df-eprel 5525  df-po 5533  df-so 5534  df-fr 5578  df-we 5580  df-xp 5631  df-rel 5632  df-cnv 5633  df-co 5634  df-dm 5635  df-rn 5636  df-res 5637  df-ima 5638  df-pred 6259  df-ord 6320  df-on 6321  df-lim 6322  df-suc 6323  df-iota 6448  df-fun 6494  df-fn 6495  df-f 6496  df-f1 6497  df-fo 6498  df-f1o 6499  df-fv 6500  df-ov 7366  df-om 7814  df-2nd 7939  df-frecs 8228  df-wrecs 8259  df-recs 8308  df-rdg 8346  df-er 8640  df-en 8891  df-r1 9686  df-rank 9687
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator