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

Theorem karden 9938
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 10594). 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 9937 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 5156 . . . . . . 7 (𝑤 = 𝐴 → (𝑤𝐴𝐴𝐴))
31enref 9016 . . . . . . 7 𝐴𝐴
41, 2, 3ceqsexv2d 3519 . . . . . 6 𝑤 𝑤𝐴
5 abn0 4385 . . . . . 6 ({𝑤𝑤𝐴} ≠ ∅ ↔ ∃𝑤 𝑤𝐴)
64, 5mpbir 230 . . . . 5 {𝑤𝑤𝐴} ≠ ∅
7 scott0 9929 . . . . . 6 ({𝑤𝑤𝐴} = ∅ ↔ {𝑧 ∈ {𝑤𝑤𝐴} ∣ ∀𝑦 ∈ {𝑤𝑤𝐴} (rank‘𝑧) ⊆ (rank‘𝑦)} = ∅)
87necon3bii 2983 . . . . 5 ({𝑤𝑤𝐴} ≠ ∅ ↔ {𝑧 ∈ {𝑤𝑤𝐴} ∣ ∀𝑦 ∈ {𝑤𝑤𝐴} (rank‘𝑧) ⊆ (rank‘𝑦)} ≠ ∅)
96, 8mpbi 229 . . . 4 {𝑧 ∈ {𝑤𝑤𝐴} ∣ ∀𝑦 ∈ {𝑤𝑤𝐴} (rank‘𝑧) ⊆ (rank‘𝑦)} ≠ ∅
10 rabn0 4390 . . . 4 ({𝑧 ∈ {𝑤𝑤𝐴} ∣ ∀𝑦 ∈ {𝑤𝑤𝐴} (rank‘𝑧) ⊆ (rank‘𝑦)} ≠ ∅ ↔ ∃𝑧 ∈ {𝑤𝑤𝐴}∀𝑦 ∈ {𝑤𝑤𝐴} (rank‘𝑧) ⊆ (rank‘𝑦))
119, 10mpbi 229 . . 3 𝑧 ∈ {𝑤𝑤𝐴}∀𝑦 ∈ {𝑤𝑤𝐴} (rank‘𝑧) ⊆ (rank‘𝑦)
12 vex 3466 . . . . . . . 8 𝑧 ∈ V
13 breq1 5156 . . . . . . . 8 (𝑤 = 𝑧 → (𝑤𝐴𝑧𝐴))
1412, 13elab 3666 . . . . . . 7 (𝑧 ∈ {𝑤𝑤𝐴} ↔ 𝑧𝐴)
15 breq1 5156 . . . . . . . 8 (𝑤 = 𝑦 → (𝑤𝐴𝑦𝐴))
1615ralab 3685 . . . . . . 7 (∀𝑦 ∈ {𝑤𝑤𝐴} (rank‘𝑧) ⊆ (rank‘𝑦) ↔ ∀𝑦(𝑦𝐴 → (rank‘𝑧) ⊆ (rank‘𝑦)))
1714, 16anbi12i 626 . . . . . 6 ((𝑧 ∈ {𝑤𝑤𝐴} ∧ ∀𝑦 ∈ {𝑤𝑤𝐴} (rank‘𝑧) ⊆ (rank‘𝑦)) ↔ (𝑧𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑧) ⊆ (rank‘𝑦))))
18 simpl 481 . . . . . . . . 9 ((𝑧𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑧) ⊆ (rank‘𝑦))) → 𝑧𝐴)
1918a1i 11 . . . . . . . 8 (𝐶 = 𝐷 → ((𝑧𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑧) ⊆ (rank‘𝑦))) → 𝑧𝐴))
20 karden.c . . . . . . . . . . . 12 𝐶 = {𝑥 ∣ (𝑥𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦)))}
21 karden.d . . . . . . . . . . . 12 𝐷 = {𝑥 ∣ (𝑥𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑥) ⊆ (rank‘𝑦)))}
2220, 21eqeq12i 2744 . . . . . . . . . . 11 (𝐶 = 𝐷 ↔ {𝑥 ∣ (𝑥𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦)))} = {𝑥 ∣ (𝑥𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑥) ⊆ (rank‘𝑦)))})
23 abbib 2798 . . . . . . . . . . 11 ({𝑥 ∣ (𝑥𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦)))} = {𝑥 ∣ (𝑥𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑥) ⊆ (rank‘𝑦)))} ↔ ∀𝑥((𝑥𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦))) ↔ (𝑥𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑥) ⊆ (rank‘𝑦)))))
2422, 23bitri 274 . . . . . . . . . 10 (𝐶 = 𝐷 ↔ ∀𝑥((𝑥𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦))) ↔ (𝑥𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑥) ⊆ (rank‘𝑦)))))
25 breq1 5156 . . . . . . . . . . . . 13 (𝑥 = 𝑧 → (𝑥𝐴𝑧𝐴))
26 fveq2 6901 . . . . . . . . . . . . . . . 16 (𝑥 = 𝑧 → (rank‘𝑥) = (rank‘𝑧))
2726sseq1d 4011 . . . . . . . . . . . . . . 15 (𝑥 = 𝑧 → ((rank‘𝑥) ⊆ (rank‘𝑦) ↔ (rank‘𝑧) ⊆ (rank‘𝑦)))
2827imbi2d 339 . . . . . . . . . . . . . 14 (𝑥 = 𝑧 → ((𝑦𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦)) ↔ (𝑦𝐴 → (rank‘𝑧) ⊆ (rank‘𝑦))))
2928albidv 1916 . . . . . . . . . . . . 13 (𝑥 = 𝑧 → (∀𝑦(𝑦𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦)) ↔ ∀𝑦(𝑦𝐴 → (rank‘𝑧) ⊆ (rank‘𝑦))))
3025, 29anbi12d 630 . . . . . . . . . . . 12 (𝑥 = 𝑧 → ((𝑥𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦))) ↔ (𝑧𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑧) ⊆ (rank‘𝑦)))))
31 breq1 5156 . . . . . . . . . . . . 13 (𝑥 = 𝑧 → (𝑥𝐵𝑧𝐵))
3227imbi2d 339 . . . . . . . . . . . . . 14 (𝑥 = 𝑧 → ((𝑦𝐵 → (rank‘𝑥) ⊆ (rank‘𝑦)) ↔ (𝑦𝐵 → (rank‘𝑧) ⊆ (rank‘𝑦))))
3332albidv 1916 . . . . . . . . . . . . 13 (𝑥 = 𝑧 → (∀𝑦(𝑦𝐵 → (rank‘𝑥) ⊆ (rank‘𝑦)) ↔ ∀𝑦(𝑦𝐵 → (rank‘𝑧) ⊆ (rank‘𝑦))))
3431, 33anbi12d 630 . . . . . . . . . . . 12 (𝑥 = 𝑧 → ((𝑥𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑥) ⊆ (rank‘𝑦))) ↔ (𝑧𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑧) ⊆ (rank‘𝑦)))))
3530, 34bibi12d 344 . . . . . . . . . . 11 (𝑥 = 𝑧 → (((𝑥𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦))) ↔ (𝑥𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑥) ⊆ (rank‘𝑦)))) ↔ ((𝑧𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑧) ⊆ (rank‘𝑦))) ↔ (𝑧𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑧) ⊆ (rank‘𝑦))))))
3635spvv 1993 . . . . . . . . . 10 (∀𝑥((𝑥𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦))) ↔ (𝑥𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑥) ⊆ (rank‘𝑦)))) → ((𝑧𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑧) ⊆ (rank‘𝑦))) ↔ (𝑧𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑧) ⊆ (rank‘𝑦)))))
3724, 36sylbi 216 . . . . . . . . 9 (𝐶 = 𝐷 → ((𝑧𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑧) ⊆ (rank‘𝑦))) ↔ (𝑧𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑧) ⊆ (rank‘𝑦)))))
38 simpl 481 . . . . . . . . 9 ((𝑧𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑧) ⊆ (rank‘𝑦))) → 𝑧𝐵)
3937, 38biimtrdi 252 . . . . . . . 8 (𝐶 = 𝐷 → ((𝑧𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑧) ⊆ (rank‘𝑦))) → 𝑧𝐵))
4019, 39jcad 511 . . . . . . 7 (𝐶 = 𝐷 → ((𝑧𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑧) ⊆ (rank‘𝑦))) → (𝑧𝐴𝑧𝐵)))
41 ensym 9034 . . . . . . . 8 (𝑧𝐴𝐴𝑧)
42 entr 9037 . . . . . . . 8 ((𝐴𝑧𝑧𝐵) → 𝐴𝐵)
4341, 42sylan 578 . . . . . . 7 ((𝑧𝐴𝑧𝐵) → 𝐴𝐵)
4440, 43syl6 35 . . . . . 6 (𝐶 = 𝐷 → ((𝑧𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑧) ⊆ (rank‘𝑦))) → 𝐴𝐵))
4517, 44biimtrid 241 . . . . 5 (𝐶 = 𝐷 → ((𝑧 ∈ {𝑤𝑤𝐴} ∧ ∀𝑦 ∈ {𝑤𝑤𝐴} (rank‘𝑧) ⊆ (rank‘𝑦)) → 𝐴𝐵))
4645expd 414 . . . 4 (𝐶 = 𝐷 → (𝑧 ∈ {𝑤𝑤𝐴} → (∀𝑦 ∈ {𝑤𝑤𝐴} (rank‘𝑧) ⊆ (rank‘𝑦) → 𝐴𝐵)))
4746rexlimdv 3143 . . 3 (𝐶 = 𝐷 → (∃𝑧 ∈ {𝑤𝑤𝐴}∀𝑦 ∈ {𝑤𝑤𝐴} (rank‘𝑧) ⊆ (rank‘𝑦) → 𝐴𝐵))
4811, 47mpi 20 . 2 (𝐶 = 𝐷𝐴𝐵)
49 enen2 9156 . . . . 5 (𝐴𝐵 → (𝑥𝐴𝑥𝐵))
50 enen2 9156 . . . . . . 7 (𝐴𝐵 → (𝑦𝐴𝑦𝐵))
5150imbi1d 340 . . . . . 6 (𝐴𝐵 → ((𝑦𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦)) ↔ (𝑦𝐵 → (rank‘𝑥) ⊆ (rank‘𝑦))))
5251albidv 1916 . . . . 5 (𝐴𝐵 → (∀𝑦(𝑦𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦)) ↔ ∀𝑦(𝑦𝐵 → (rank‘𝑥) ⊆ (rank‘𝑦))))
5349, 52anbi12d 630 . . . 4 (𝐴𝐵 → ((𝑥𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦))) ↔ (𝑥𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑥) ⊆ (rank‘𝑦)))))
5453abbidv 2795 . . 3 (𝐴𝐵 → {𝑥 ∣ (𝑥𝐴 ∧ ∀𝑦(𝑦𝐴 → (rank‘𝑥) ⊆ (rank‘𝑦)))} = {𝑥 ∣ (𝑥𝐵 ∧ ∀𝑦(𝑦𝐵 → (rank‘𝑥) ⊆ (rank‘𝑦)))})
5554, 20, 213eqtr4g 2791 . 2 (𝐴𝐵𝐶 = 𝐷)
5648, 55impbii 208 1 (𝐶 = 𝐷𝐴𝐵)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 205  wa 394  wal 1532   = wceq 1534  wex 1774  wcel 2099  {cab 2703  wne 2930  wral 3051  wrex 3060  {crab 3419  Vcvv 3462  wss 3947  c0 4325   class class class wbr 5153  cfv 6554  cen 8971  rankcrnk 9806
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1790  ax-4 1804  ax-5 1906  ax-6 1964  ax-7 2004  ax-8 2101  ax-9 2109  ax-10 2130  ax-11 2147  ax-12 2167  ax-ext 2697  ax-sep 5304  ax-nul 5311  ax-pow 5369  ax-pr 5433  ax-un 7746
This theorem depends on definitions:  df-bi 206  df-an 395  df-or 846  df-3or 1085  df-3an 1086  df-tru 1537  df-fal 1547  df-ex 1775  df-nf 1779  df-sb 2061  df-mo 2529  df-eu 2558  df-clab 2704  df-cleq 2718  df-clel 2803  df-nfc 2878  df-ne 2931  df-ral 3052  df-rex 3061  df-reu 3365  df-rab 3420  df-v 3464  df-sbc 3777  df-csb 3893  df-dif 3950  df-un 3952  df-in 3954  df-ss 3964  df-pss 3967  df-nul 4326  df-if 4534  df-pw 4609  df-sn 4634  df-pr 4636  df-op 4640  df-uni 4914  df-int 4955  df-iun 5003  df-iin 5004  df-br 5154  df-opab 5216  df-mpt 5237  df-tr 5271  df-id 5580  df-eprel 5586  df-po 5594  df-so 5595  df-fr 5637  df-we 5639  df-xp 5688  df-rel 5689  df-cnv 5690  df-co 5691  df-dm 5692  df-rn 5693  df-res 5694  df-ima 5695  df-pred 6312  df-ord 6379  df-on 6380  df-lim 6381  df-suc 6382  df-iota 6506  df-fun 6556  df-fn 6557  df-f 6558  df-f1 6559  df-fo 6560  df-f1o 6561  df-fv 6562  df-ov 7427  df-om 7877  df-2nd 8004  df-frecs 8296  df-wrecs 8327  df-recs 8401  df-rdg 8440  df-er 8734  df-en 8975  df-r1 9807  df-rank 9808
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator