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

Theorem rankuni 9903
Description: The rank of a union. Part of Exercise 4 of [Kunen] p. 107. (Contributed by NM, 15-Sep-2006.) (Revised by Mario Carneiro, 17-Nov-2014.)
Assertion
Ref Expression
rankuni (rank‘∪ 𝐴) = ∪ (rank‘𝐴)

Proof of Theorem rankuni
Dummy variables 𝑥 𝑦 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 unieq 4881 . . . . 5 (𝑥 = 𝐴 → ∪ 𝑥 = ∪ 𝐴)
21fveq2d 6909 . . . 4 (𝑥 = 𝐴 → (rank‘∪ 𝑥) = (rank‘∪ 𝐴))
3 fveq2 6905 . . . . 5 (𝑥 = 𝐴 → (rank‘𝑥) = (rank‘𝐴))
43unieqd 4883 . . . 4 (𝑥 = 𝐴 → ∪ (rank‘𝑥) = ∪ (rank‘𝐴))
52, 4eqeq12d 2779 . . 3 (𝑥 = 𝐴 → ((rank‘∪ 𝑥) = ∪ (rank‘𝑥) ↔ (rank‘∪ 𝐴) = ∪ (rank‘𝐴)))
6 vex 3458 . . . . . . 7 𝑥 ∈ V
76rankuni2 9893 . . . . . 6 (rank‘∪ 𝑥) = ∪ 𝑧 ∈ 𝑥 (rank‘𝑧)
8 fvex 6918 . . . . . . 7 (rank‘𝑧) ∈ V
98dfiun2 4993 . . . . . 6 ∪ 𝑧 ∈ 𝑥 (rank‘𝑧) = ∪ {𝑦 ∣ ∃𝑧 ∈ 𝑥 𝑦 = (rank‘𝑧)}
107, 9eqtri 2786 . . . . 5 (rank‘∪ 𝑥) = ∪ {𝑦 ∣ ∃𝑧 ∈ 𝑥 𝑦 = (rank‘𝑧)}
11 df-rex 3091 . . . . . . . 8 (∃𝑧 ∈ 𝑥 𝑦 = (rank‘𝑧) ↔ ∃𝑧(𝑧 ∈ 𝑥 ∧ 𝑦 = (rank‘𝑧)))
126rankel 9875 . . . . . . . . . . 11 (𝑧 ∈ 𝑥 → (rank‘𝑧) ∈ (rank‘𝑥))
1312anim1i 627 . . . . . . . . . 10 ((𝑧 ∈ 𝑥 ∧ 𝑦 = (rank‘𝑧)) → ((rank‘𝑧) ∈ (rank‘𝑥) ∧ 𝑦 = (rank‘𝑧)))
1413eximi 1868 . . . . . . . . 9 (∃𝑧(𝑧 ∈ 𝑥 ∧ 𝑦 = (rank‘𝑧)) → ∃𝑧((rank‘𝑧) ∈ (rank‘𝑥) ∧ 𝑦 = (rank‘𝑧)))
15 19.42v 1988 . . . . . . . . . 10 (∃𝑧(𝑦 ∈ (rank‘𝑥) ∧ 𝑦 = (rank‘𝑧)) ↔ (𝑦 ∈ (rank‘𝑥) ∧ ∃𝑧 𝑦 = (rank‘𝑧)))
16 eleq1 2852 . . . . . . . . . . . 12 (𝑦 = (rank‘𝑧) → (𝑦 ∈ (rank‘𝑥) ↔ (rank‘𝑧) ∈ (rank‘𝑥)))
1716pm5.32ri 586 . . . . . . . . . . 11 ((𝑦 ∈ (rank‘𝑥) ∧ 𝑦 = (rank‘𝑧)) ↔ ((rank‘𝑧) ∈ (rank‘𝑥) ∧ 𝑦 = (rank‘𝑧)))
1817exbii 1881 . . . . . . . . . 10 (∃𝑧(𝑦 ∈ (rank‘𝑥) ∧ 𝑦 = (rank‘𝑧)) ↔ ∃𝑧((rank‘𝑧) ∈ (rank‘𝑥) ∧ 𝑦 = (rank‘𝑧)))
19 simpl 488 . . . . . . . . . . 11 ((𝑦 ∈ (rank‘𝑥) ∧ ∃𝑧 𝑦 = (rank‘𝑧)) → 𝑦 ∈ (rank‘𝑥))
20 rankon 9827 . . . . . . . . . . . . . . . . 17 (rank‘𝑥) ∈ On
2120oneli 6493 . . . . . . . . . . . . . . . 16 (𝑦 ∈ (rank‘𝑥) → 𝑦 ∈ On)
22 r1fnon 9797 . . . . . . . . . . . . . . . . 17 𝑅1 Fn On
23 fndm 6661 . . . . . . . . . . . . . . . . 17 (𝑅1 Fn On → dom 𝑅1 = On)
2422, 23ax-mp 5 . . . . . . . . . . . . . . . 16 dom 𝑅1 = On
2521, 24eleqtrrdi 2875 . . . . . . . . . . . . . . 15 (𝑦 ∈ (rank‘𝑥) → 𝑦 ∈ dom 𝑅1)
26 rankr1id 9902 . . . . . . . . . . . . . . 15 (𝑦 ∈ dom 𝑅1 ↔ (rank‘(𝑅1‘𝑦)) = 𝑦)
2725, 26sylib 221 . . . . . . . . . . . . . 14 (𝑦 ∈ (rank‘𝑥) → (rank‘(𝑅1‘𝑦)) = 𝑦)
2827eqcomd 2769 . . . . . . . . . . . . 13 (𝑦 ∈ (rank‘𝑥) → 𝑦 = (rank‘(𝑅1‘𝑦)))
29 fvex 6918 . . . . . . . . . . . . . 14 (𝑅1‘𝑦) ∈ V
30 fveq2 6905 . . . . . . . . . . . . . . 15 (𝑧 = (𝑅1‘𝑦) → (rank‘𝑧) = (rank‘(𝑅1‘𝑦)))
3130eqeq2d 2774 . . . . . . . . . . . . . 14 (𝑧 = (𝑅1‘𝑦) → (𝑦 = (rank‘𝑧) ↔ 𝑦 = (rank‘(𝑅1‘𝑦))))
3229, 31spcev 3564 . . . . . . . . . . . . 13 (𝑦 = (rank‘(𝑅1‘𝑦)) → ∃𝑧 𝑦 = (rank‘𝑧))
3328, 32syl 18 . . . . . . . . . . . 12 (𝑦 ∈ (rank‘𝑥) → ∃𝑧 𝑦 = (rank‘𝑧))
3433ancli 558 . . . . . . . . . . 11 (𝑦 ∈ (rank‘𝑥) → (𝑦 ∈ (rank‘𝑥) ∧ ∃𝑧 𝑦 = (rank‘𝑧)))
3519, 34impbii 212 . . . . . . . . . 10 ((𝑦 ∈ (rank‘𝑥) ∧ ∃𝑧 𝑦 = (rank‘𝑧)) ↔ 𝑦 ∈ (rank‘𝑥))
3615, 18, 353bitr3i 304 . . . . . . . . 9 (∃𝑧((rank‘𝑧) ∈ (rank‘𝑥) ∧ 𝑦 = (rank‘𝑧)) ↔ 𝑦 ∈ (rank‘𝑥))
3714, 36sylib 221 . . . . . . . 8 (∃𝑧(𝑧 ∈ 𝑥 ∧ 𝑦 = (rank‘𝑧)) → 𝑦 ∈ (rank‘𝑥))
3811, 37sylbi 220 . . . . . . 7 (∃𝑧 ∈ 𝑥 𝑦 = (rank‘𝑧) → 𝑦 ∈ (rank‘𝑥))
3938abssi 3996 . . . . . 6 {𝑦 ∣ ∃𝑧 ∈ 𝑥 𝑦 = (rank‘𝑧)} ⊆ (rank‘𝑥)
4039unissi 4879 . . . . 5 ∪ {𝑦 ∣ ∃𝑧 ∈ 𝑥 𝑦 = (rank‘𝑧)} ⊆ ∪ (rank‘𝑥)
4110, 40eqsstri 3959 . . . 4 (rank‘∪ 𝑥) ⊆ ∪ (rank‘𝑥)
42 pwuni 4909 . . . . . . . 8 𝑥 ⊆ 𝒫 ∪ 𝑥
43 vuniex 7777 . . . . . . . . . 10 ∪ 𝑥 ∈ V
4443pwex 5346 . . . . . . . . 9 𝒫 ∪ 𝑥 ∈ V
4544rankss 9887 . . . . . . . 8 (𝑥 ⊆ 𝒫 ∪ 𝑥 → (rank‘𝑥) ⊆ (rank‘𝒫 ∪ 𝑥))
4642, 45ax-mp 5 . . . . . . 7 (rank‘𝑥) ⊆ (rank‘𝒫 ∪ 𝑥)
4743rankpw 9880 . . . . . . 7 (rank‘𝒫 ∪ 𝑥) = suc (rank‘∪ 𝑥)
4846, 47sseqtri 3961 . . . . . 6 (rank‘𝑥) ⊆ suc (rank‘∪ 𝑥)
4948unissi 4879 . . . . 5 ∪ (rank‘𝑥) ⊆ ∪ suc (rank‘∪ 𝑥)
50 rankon 9827 . . . . . 6 (rank‘∪ 𝑥) ∈ On
5150onunisuci 6499 . . . . 5 ∪ suc (rank‘∪ 𝑥) = (rank‘∪ 𝑥)
5249, 51sseqtri 3961 . . . 4 ∪ (rank‘𝑥) ⊆ (rank‘∪ 𝑥)
5341, 52eqssi 3929 . . 3 (rank‘∪ 𝑥) = ∪ (rank‘𝑥)
545, 53vtoclg 3521 . 2 (𝐴 ∈ V → (rank‘∪ 𝐴) = ∪ (rank‘𝐴))
55 uniexb 7799 . . . . 5 (𝐴 ∈ V ↔ ∪ 𝐴 ∈ V)
56 fvprc 6897 . . . . 5 (¬ ∪ 𝐴 ∈ V → (rank‘∪ 𝐴) = ∅)
5755, 56sylnbi 333 . . . 4 (¬ 𝐴 ∈ V → (rank‘∪ 𝐴) = ∅)
58 uni0 4899 . . . 4 ∪ ∅ = ∅
5957, 58eqtr4di 2816 . . 3 (¬ 𝐴 ∈ V → (rank‘∪ 𝐴) = ∪ ∅)
60 fvprc 6897 . . . 4 (¬ 𝐴 ∈ V → (rank‘𝐴) = ∅)
6160unieqd 4883 . . 3 (¬ 𝐴 ∈ V → ∪ (rank‘𝐴) = ∪ ∅)
6259, 61eqtr4d 2801 . 2 (¬ 𝐴 ∈ V → (rank‘∪ 𝐴) = ∪ (rank‘𝐴))
6354, 62pm2.61i 184 1 (rank‘∪ 𝐴) = ∪ (rank‘𝐴)
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  ¬ wn 3   ∧ wa 401   = wceq 1570  ∃wex 1812   ∈ wcel 2147  {cab 2741  ∃wrex 3090  Vcvv 3454   ⊆ wss 3900  ∅c0 4281  𝒫 cpw 4560  ∪ cuni 4870  ∪ ciun 4954  dom cdm 5655  Oncon0 6377  suc csuc 6379   Fn wfn 6550  ‘cfv 6555  𝑅1cr1 9790  rankcrnk 9791
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1945  ax-6 2002  ax-7 2043  ax-8 2149  ax-9 2157  ax-10 2180  ax-11 2197  ax-12 2216  ax-ext 2735  ax-rep 5235  ax-sep 5252  ax-nul 5263  ax-pow 5331  ax-pr 5395  ax-un 7772  ax-reg 9610  ax-inf2 9666
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2102  df-mo 2567  df-eu 2597  df-clab 2742  df-cleq 2755  df-clel 2839  df-nfc 2913  df-ne 2960  df-ral 3081  df-rex 3091  df-reu 3370  df-rab 3417  df-v 3456  df-sbc 3743  df-csb 3852  df-ss 3901  df-pss 4017  df-dif 4050  df-in 4094  df-un 4154  df-nul 4282  df-if 4486  df-pw 4562  df-sn 4589  df-pr 4591  df-op 4839  df-uni 4871  df-int 4911  df-iun 4956  df-br 5107  df-opab 5171  df-mpt 5190  df-tr 5216  df-id 5550  df-eprel 5555  df-po 5563  df-so 5564  df-fr 5608  df-we 5610  df-xp 5661  df-rel 5662  df-cnv 5663  df-co 5664  df-dm 5665  df-rn 5666  df-res 5667  df-ima 5668  df-pred 6319  df-ord 6380  df-on 6381  df-lim 6382  df-suc 6383  df-iota 6509  df-fun 6557  df-fn 6558  df-f 6559  df-f1 6560  df-fo 6561  df-f1o 6562  df-fv 6563  df-ov 7443  df-om 7899  df-2nd 8023  df-frecs 8324  df-wrecs 8355  df-recs 8404  df-rdg 8443  df-r1 9792  df-rank 9793
This theorem is used by:  rankuniss  9907  rankbnd2  9910  rankxplim2  9921  rankxplim3  9922  rankxpsuc  9923  hfuniOLD  9949  r1limwun  10845
  Copyright terms: Public domain W3C validator