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

Theorem karden 9819
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 10473). 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 9818 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 5088 . . . . . . 7 (𝑤 = 𝐴 → (𝑤𝐴𝐴𝐴))
31enref 8932 . . . . . . 7 𝐴𝐴
41, 2, 3ceqsexv2d 3479 . . . . . 6 𝑤 𝑤𝐴
5 abn0 4325 . . . . . 6 ({𝑤𝑤𝐴} ≠ ∅ ↔ ∃𝑤 𝑤𝐴)
64, 5mpbir 231 . . . . 5 {𝑤𝑤𝐴} ≠ ∅
7 scott0 9810 . . . . . 6 ({𝑤𝑤𝐴} = ∅ ↔ {𝑧 ∈ {𝑤𝑤𝐴} ∣ ∀𝑦 ∈ {𝑤𝑤𝐴} (rank‘𝑧) ⊆ (rank‘𝑦)} = ∅)
87necon3bii 2984 . . . . 5 ({𝑤𝑤𝐴} ≠ ∅ ↔ {𝑧 ∈ {𝑤𝑤𝐴} ∣ ∀𝑦 ∈ {𝑤𝑤𝐴} (rank‘𝑧) ⊆ (rank‘𝑦)} ≠ ∅)
96, 8mpbi 230 . . . 4 {𝑧 ∈ {𝑤𝑤𝐴} ∣ ∀𝑦 ∈ {𝑤𝑤𝐴} (rank‘𝑧) ⊆ (rank‘𝑦)} ≠ ∅
10 rabn0 4329 . . . 4 ({𝑧 ∈ {𝑤𝑤𝐴} ∣ ∀𝑦 ∈ {𝑤𝑤𝐴} (rank‘𝑧) ⊆ (rank‘𝑦)} ≠ ∅ ↔ ∃𝑧 ∈ {𝑤𝑤𝐴}∀𝑦 ∈ {𝑤𝑤𝐴} (rank‘𝑧) ⊆ (rank‘𝑦))
119, 10mpbi 230 . . 3 𝑧 ∈ {𝑤𝑤𝐴}∀𝑦 ∈ {𝑤𝑤𝐴} (rank‘𝑧) ⊆ (rank‘𝑦)
12 vex 3433 . . . . . . . 8 𝑧 ∈ V
13 breq1 5088 . . . . . . . 8 (𝑤 = 𝑧 → (𝑤𝐴𝑧𝐴))
1412, 13elab 3622 . . . . . . 7 (𝑧 ∈ {𝑤𝑤𝐴} ↔ 𝑧𝐴)
15 breq1 5088 . . . . . . . 8 (𝑤 = 𝑦 → (𝑤𝐴𝑦𝐴))
1615ralab 3639 . . . . . . 7 (∀𝑦 ∈ {𝑤𝑤𝐴} (rank‘𝑧) ⊆ (rank‘𝑦) ↔ ∀𝑦(𝑦𝐴 → (rank‘𝑧) ⊆ (rank‘𝑦)))
1714, 16anbi12i 629 . . . . . 6 ((𝑧 ∈ {𝑤𝑤𝐴} ∧ ∀𝑦 ∈ {𝑤𝑤𝐴} (rank‘𝑧) ⊆ (rank‘𝑦)) ↔ (𝑧𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑧) ⊆ (rank‘𝑦))))
18 simpl 482 . . . . . . . . 9 ((𝑧𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑧) ⊆ (rank‘𝑦))) → 𝑧𝐴)
1918a1i 11 . . . . . . . 8 (𝐶 = 𝐷 → ((𝑧𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑧) ⊆ (rank‘𝑦))) → 𝑧𝐴))
20 karden.c . . . . . . . . . . . 12 𝐶 = {𝑥 ∣ (𝑥𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦)))}
21 karden.d . . . . . . . . . . . 12 𝐷 = {𝑥 ∣ (𝑥𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑥) ⊆ (rank‘𝑦)))}
2220, 21eqeq12i 2754 . . . . . . . . . . 11 (𝐶 = 𝐷 ↔ {𝑥 ∣ (𝑥𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦)))} = {𝑥 ∣ (𝑥𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑥) ⊆ (rank‘𝑦)))})
23 abbib 2805 . . . . . . . . . . 11 ({𝑥 ∣ (𝑥𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦)))} = {𝑥 ∣ (𝑥𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑥) ⊆ (rank‘𝑦)))} ↔ ∀𝑥((𝑥𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦))) ↔ (𝑥𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑥) ⊆ (rank‘𝑦)))))
2422, 23bitri 275 . . . . . . . . . 10 (𝐶 = 𝐷 ↔ ∀𝑥((𝑥𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦))) ↔ (𝑥𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑥) ⊆ (rank‘𝑦)))))
25 breq1 5088 . . . . . . . . . . . . 13 (𝑥 = 𝑧 → (𝑥𝐴𝑧𝐴))
26 fveq2 6840 . . . . . . . . . . . . . . . 16 (𝑥 = 𝑧 → (rank‘𝑥) = (rank‘𝑧))
2726sseq1d 3953 . . . . . . . . . . . . . . 15 (𝑥 = 𝑧 → ((rank‘𝑥) ⊆ (rank‘𝑦) ↔ (rank‘𝑧) ⊆ (rank‘𝑦)))
2827imbi2d 340 . . . . . . . . . . . . . 14 (𝑥 = 𝑧 → ((𝑦𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦)) ↔ (𝑦𝐴 → (rank‘𝑧) ⊆ (rank‘𝑦))))
2928albidv 1922 . . . . . . . . . . . . 13 (𝑥 = 𝑧 → (∀𝑦(𝑦𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦)) ↔ ∀𝑦(𝑦𝐴 → (rank‘𝑧) ⊆ (rank‘𝑦))))
3025, 29anbi12d 633 . . . . . . . . . . . 12 (𝑥 = 𝑧 → ((𝑥𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦))) ↔ (𝑧𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑧) ⊆ (rank‘𝑦)))))
31 breq1 5088 . . . . . . . . . . . . 13 (𝑥 = 𝑧 → (𝑥𝐵𝑧𝐵))
3227imbi2d 340 . . . . . . . . . . . . . 14 (𝑥 = 𝑧 → ((𝑦𝐵 → (rank‘𝑥) ⊆ (rank‘𝑦)) ↔ (𝑦𝐵 → (rank‘𝑧) ⊆ (rank‘𝑦))))
3332albidv 1922 . . . . . . . . . . . . 13 (𝑥 = 𝑧 → (∀𝑦(𝑦𝐵 → (rank‘𝑥) ⊆ (rank‘𝑦)) ↔ ∀𝑦(𝑦𝐵 → (rank‘𝑧) ⊆ (rank‘𝑦))))
3431, 33anbi12d 633 . . . . . . . . . . . 12 (𝑥 = 𝑧 → ((𝑥𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑥) ⊆ (rank‘𝑦))) ↔ (𝑧𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑧) ⊆ (rank‘𝑦)))))
3530, 34bibi12d 345 . . . . . . . . . . 11 (𝑥 = 𝑧 → (((𝑥𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦))) ↔ (𝑥𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑥) ⊆ (rank‘𝑦)))) ↔ ((𝑧𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑧) ⊆ (rank‘𝑦))) ↔ (𝑧𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑧) ⊆ (rank‘𝑦))))))
3635spvv 1990 . . . . . . . . . 10 (∀𝑥((𝑥𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦))) ↔ (𝑥𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑥) ⊆ (rank‘𝑦)))) → ((𝑧𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑧) ⊆ (rank‘𝑦))) ↔ (𝑧𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑧) ⊆ (rank‘𝑦)))))
3724, 36sylbi 217 . . . . . . . . 9 (𝐶 = 𝐷 → ((𝑧𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑧) ⊆ (rank‘𝑦))) ↔ (𝑧𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑧) ⊆ (rank‘𝑦)))))
38 simpl 482 . . . . . . . . 9 ((𝑧𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑧) ⊆ (rank‘𝑦))) → 𝑧𝐵)
3937, 38biimtrdi 253 . . . . . . . 8 (𝐶 = 𝐷 → ((𝑧𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑧) ⊆ (rank‘𝑦))) → 𝑧𝐵))
4019, 39jcad 512 . . . . . . 7 (𝐶 = 𝐷 → ((𝑧𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑧) ⊆ (rank‘𝑦))) → (𝑧𝐴𝑧𝐵)))
41 ensym 8950 . . . . . . . 8 (𝑧𝐴𝐴𝑧)
42 entr 8953 . . . . . . . 8 ((𝐴𝑧𝑧𝐵) → 𝐴𝐵)
4341, 42sylan 581 . . . . . . 7 ((𝑧𝐴𝑧𝐵) → 𝐴𝐵)
4440, 43syl6 35 . . . . . 6 (𝐶 = 𝐷 → ((𝑧𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑧) ⊆ (rank‘𝑦))) → 𝐴𝐵))
4517, 44biimtrid 242 . . . . 5 (𝐶 = 𝐷 → ((𝑧 ∈ {𝑤𝑤𝐴} ∧ ∀𝑦 ∈ {𝑤𝑤𝐴} (rank‘𝑧) ⊆ (rank‘𝑦)) → 𝐴𝐵))
4645expd 415 . . . 4 (𝐶 = 𝐷 → (𝑧 ∈ {𝑤𝑤𝐴} → (∀𝑦 ∈ {𝑤𝑤𝐴} (rank‘𝑧) ⊆ (rank‘𝑦) → 𝐴𝐵)))
4746rexlimdv 3136 . . 3 (𝐶 = 𝐷 → (∃𝑧 ∈ {𝑤𝑤𝐴}∀𝑦 ∈ {𝑤𝑤𝐴} (rank‘𝑧) ⊆ (rank‘𝑦) → 𝐴𝐵))
4811, 47mpi 20 . 2 (𝐶 = 𝐷𝐴𝐵)
49 enen2 9056 . . . . 5 (𝐴𝐵 → (𝑥𝐴𝑥𝐵))
50 enen2 9056 . . . . . . 7 (𝐴𝐵 → (𝑦𝐴𝑦𝐵))
5150imbi1d 341 . . . . . 6 (𝐴𝐵 → ((𝑦𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦)) ↔ (𝑦𝐵 → (rank‘𝑥) ⊆ (rank‘𝑦))))
5251albidv 1922 . . . . 5 (𝐴𝐵 → (∀𝑦(𝑦𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦)) ↔ ∀𝑦(𝑦𝐵 → (rank‘𝑥) ⊆ (rank‘𝑦))))
5349, 52anbi12d 633 . . . 4 (𝐴𝐵 → ((𝑥𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦))) ↔ (𝑥𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑥) ⊆ (rank‘𝑦)))))
5453abbidv 2802 . . 3 (𝐴𝐵 → {𝑥 ∣ (𝑥𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦)))} = {𝑥 ∣ (𝑥𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑥) ⊆ (rank‘𝑦)))})
5554, 20, 213eqtr4g 2796 . 2 (𝐴𝐵𝐶 = 𝐷)
5648, 55impbii 209 1 (𝐶 = 𝐷𝐴𝐵)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 206  wa 395  wal 1540   = wceq 1542  wex 1781  wcel 2114  {cab 2714  wne 2932  wral 3051  wrex 3061  {crab 3389  Vcvv 3429  wss 3889  c0 4273   class class class wbr 5085  cfv 6498  cen 8890  rankcrnk 9687
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1912  ax-6 1969  ax-7 2010  ax-8 2116  ax-9 2124  ax-10 2147  ax-11 2163  ax-12 2185  ax-ext 2708  ax-sep 5231  ax-nul 5241  ax-pow 5307  ax-pr 5375  ax-un 7689
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 849  df-3or 1088  df-3an 1089  df-tru 1545  df-fal 1555  df-ex 1782  df-nf 1786  df-sb 2069  df-mo 2539  df-eu 2569  df-clab 2715  df-cleq 2728  df-clel 2811  df-nfc 2885  df-ne 2933  df-ral 3052  df-rex 3062  df-reu 3343  df-rab 3390  df-v 3431  df-sbc 3729  df-csb 3838  df-dif 3892  df-un 3894  df-in 3896  df-ss 3906  df-pss 3909  df-nul 4274  df-if 4467  df-pw 4543  df-sn 4568  df-pr 4570  df-op 4574  df-uni 4851  df-int 4890  df-iun 4935  df-iin 4936  df-br 5086  df-opab 5148  df-mpt 5167  df-tr 5193  df-id 5526  df-eprel 5531  df-po 5539  df-so 5540  df-fr 5584  df-we 5586  df-xp 5637  df-rel 5638  df-cnv 5639  df-co 5640  df-dm 5641  df-rn 5642  df-res 5643  df-ima 5644  df-pred 6265  df-ord 6326  df-on 6327  df-lim 6328  df-suc 6329  df-iota 6454  df-fun 6500  df-fn 6501  df-f 6502  df-f1 6503  df-fo 6504  df-f1o 6505  df-fv 6506  df-ov 7370  df-om 7818  df-2nd 7943  df-frecs 8231  df-wrecs 8262  df-recs 8311  df-rdg 8349  df-er 8643  df-en 8894  df-r1 9688  df-rank 9689
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator