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

Theorem rankuni 9879
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 4877 . . . . 5 (𝑥 = 𝐴 → ∪ 𝑥 = ∪ 𝐴)
21fveq2d 6889 . . . 4 (𝑥 = 𝐴 → (rank‘∪ 𝑥) = (rank‘∪ 𝐴))
3 fveq2 6885 . . . . 5 (𝑥 = 𝐴 → (rank‘𝑥) = (rank‘𝐴))
43unieqd 4879 . . . 4 (𝑥 = 𝐴 → ∪ (rank‘𝑥) = ∪ (rank‘𝐴))
52, 4eqeq12d 2776 . . 3 (𝑥 = 𝐴 → ((rank‘∪ 𝑥) = ∪ (rank‘𝑥) ↔ (rank‘∪ 𝐴) = ∪ (rank‘𝐴)))
6 vex 3454 . . . . . . 7 𝑥 ∈ V
76rankuni2 9869 . . . . . 6 (rank‘∪ 𝑥) = ∪ 𝑧 ∈ 𝑥 (rank‘𝑧)
8 fvex 6898 . . . . . . 7 (rank‘𝑧) ∈ V
98dfiun2 4989 . . . . . 6 ∪ 𝑧 ∈ 𝑥 (rank‘𝑧) = ∪ {𝑦 ∣ ∃𝑧 ∈ 𝑥 𝑦 = (rank‘𝑧)}
107, 9eqtri 2783 . . . . 5 (rank‘∪ 𝑥) = ∪ {𝑦 ∣ ∃𝑧 ∈ 𝑥 𝑦 = (rank‘𝑧)}
11 df-rex 3087 . . . . . . . 8 (∃𝑧 ∈ 𝑥 𝑦 = (rank‘𝑧) ↔ ∃𝑧(𝑧 ∈ 𝑥 ∧ 𝑦 = (rank‘𝑧)))
126rankel 9851 . . . . . . . . . . 11 (𝑧 ∈ 𝑥 → (rank‘𝑧) ∈ (rank‘𝑥))
1312anim1i 627 . . . . . . . . . 10 ((𝑧 ∈ 𝑥 ∧ 𝑦 = (rank‘𝑧)) → ((rank‘𝑧) ∈ (rank‘𝑥) ∧ 𝑦 = (rank‘𝑧)))
1413eximi 1867 . . . . . . . . 9 (∃𝑧(𝑧 ∈ 𝑥 ∧ 𝑦 = (rank‘𝑧)) → ∃𝑧((rank‘𝑧) ∈ (rank‘𝑥) ∧ 𝑦 = (rank‘𝑧)))
15 19.42v 1985 . . . . . . . . . 10 (∃𝑧(𝑦 ∈ (rank‘𝑥) ∧ 𝑦 = (rank‘𝑧)) ↔ (𝑦 ∈ (rank‘𝑥) ∧ ∃𝑧 𝑦 = (rank‘𝑧)))
16 eleq1 2848 . . . . . . . . . . . 12 (𝑦 = (rank‘𝑧) → (𝑦 ∈ (rank‘𝑥) ↔ (rank‘𝑧) ∈ (rank‘𝑥)))
1716pm5.32ri 586 . . . . . . . . . . 11 ((𝑦 ∈ (rank‘𝑥) ∧ 𝑦 = (rank‘𝑧)) ↔ ((rank‘𝑧) ∈ (rank‘𝑥) ∧ 𝑦 = (rank‘𝑧)))
1817exbii 1880 . . . . . . . . . 10 (∃𝑧(𝑦 ∈ (rank‘𝑥) ∧ 𝑦 = (rank‘𝑧)) ↔ ∃𝑧((rank‘𝑧) ∈ (rank‘𝑥) ∧ 𝑦 = (rank‘𝑧)))
19 simpl 488 . . . . . . . . . . 11 ((𝑦 ∈ (rank‘𝑥) ∧ ∃𝑧 𝑦 = (rank‘𝑧)) → 𝑦 ∈ (rank‘𝑥))
20 rankon 9803 . . . . . . . . . . . . . . . . 17 (rank‘𝑥) ∈ On
2120oneli 6478 . . . . . . . . . . . . . . . 16 (𝑦 ∈ (rank‘𝑥) → 𝑦 ∈ On)
22 r1fnon 9773 . . . . . . . . . . . . . . . . 17 𝑅1 Fn On
23 fndm 6642 . . . . . . . . . . . . . . . . 17 (𝑅1 Fn On → dom 𝑅1 = On)
2422, 23ax-mp 5 . . . . . . . . . . . . . . . 16 dom 𝑅1 = On
2521, 24eleqtrrdi 2871 . . . . . . . . . . . . . . 15 (𝑦 ∈ (rank‘𝑥) → 𝑦 ∈ dom 𝑅1)
26 rankr1id 9878 . . . . . . . . . . . . . . 15 (𝑦 ∈ dom 𝑅1 ↔ (rank‘(𝑅1‘𝑦)) = 𝑦)
2725, 26sylib 221 . . . . . . . . . . . . . 14 (𝑦 ∈ (rank‘𝑥) → (rank‘(𝑅1‘𝑦)) = 𝑦)
2827eqcomd 2766 . . . . . . . . . . . . 13 (𝑦 ∈ (rank‘𝑥) → 𝑦 = (rank‘(𝑅1‘𝑦)))
29 fvex 6898 . . . . . . . . . . . . . 14 (𝑅1‘𝑦) ∈ V
30 fveq2 6885 . . . . . . . . . . . . . . 15 (𝑧 = (𝑅1‘𝑦) → (rank‘𝑧) = (rank‘(𝑅1‘𝑦)))
3130eqeq2d 2771 . . . . . . . . . . . . . 14 (𝑧 = (𝑅1‘𝑦) → (𝑦 = (rank‘𝑧) ↔ 𝑦 = (rank‘(𝑅1‘𝑦))))
3229, 31spcev 3560 . . . . . . . . . . . . 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 3993 . . . . . 6 {𝑦 ∣ ∃𝑧 ∈ 𝑥 𝑦 = (rank‘𝑧)} ⊆ (rank‘𝑥)
4039unissi 4875 . . . . 5 ∪ {𝑦 ∣ ∃𝑧 ∈ 𝑥 𝑦 = (rank‘𝑧)} ⊆ ∪ (rank‘𝑥)
4110, 40eqsstri 3954 . . . 4 (rank‘∪ 𝑥) ⊆ ∪ (rank‘𝑥)
42 pwuni 4905 . . . . . . . 8 𝑥 ⊆ 𝒫 ∪ 𝑥
43 vuniex 7756 . . . . . . . . . 10 ∪ 𝑥 ∈ V
4443pwex 5341 . . . . . . . . 9 𝒫 ∪ 𝑥 ∈ V
4544rankss 9863 . . . . . . . 8 (𝑥 ⊆ 𝒫 ∪ 𝑥 → (rank‘𝑥) ⊆ (rank‘𝒫 ∪ 𝑥))
4642, 45ax-mp 5 . . . . . . 7 (rank‘𝑥) ⊆ (rank‘𝒫 ∪ 𝑥)
4743rankpw 9856 . . . . . . 7 (rank‘𝒫 ∪ 𝑥) = suc (rank‘∪ 𝑥)
4846, 47sseqtri 3956 . . . . . 6 (rank‘𝑥) ⊆ suc (rank‘∪ 𝑥)
4948unissi 4875 . . . . 5 ∪ (rank‘𝑥) ⊆ ∪ suc (rank‘∪ 𝑥)
50 rankon 9803 . . . . . 6 (rank‘∪ 𝑥) ∈ On
5150onunisuci 6484 . . . . 5 ∪ suc (rank‘∪ 𝑥) = (rank‘∪ 𝑥)
5249, 51sseqtri 3956 . . . 4 ∪ (rank‘𝑥) ⊆ (rank‘∪ 𝑥)
5341, 52eqssi 3924 . . 3 (rank‘∪ 𝑥) = ∪ (rank‘𝑥)
545, 53vtoclg 3517 . 2 (𝐴 ∈ V → (rank‘∪ 𝐴) = ∪ (rank‘𝐴))
55 uniexb 7778 . . . . 5 (𝐴 ∈ V ↔ ∪ 𝐴 ∈ V)
56 fvprc 6877 . . . . 5 (¬ ∪ 𝐴 ∈ V → (rank‘∪ 𝐴) = ∅)
5755, 56sylnbi 333 . . . 4 (¬ 𝐴 ∈ V → (rank‘∪ 𝐴) = ∅)
58 uni0 4895 . . . 4 ∪ ∅ = ∅
5957, 58eqtr4di 2813 . . 3 (¬ 𝐴 ∈ V → (rank‘∪ 𝐴) = ∪ ∅)
60 fvprc 6877 . . . 4 (¬ 𝐴 ∈ V → (rank‘𝐴) = ∅)
6160unieqd 4879 . . 3 (¬ 𝐴 ∈ V → ∪ (rank‘𝐴) = ∪ ∅)
6259, 61eqtr4d 2798 . 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 1569  ∃wex 1811   ∈ wcel 2144  {cab 2738  ∃wrex 3086  Vcvv 3450   ⊆ wss 3895  ∅c0 4278  𝒫 cpw 4556  ∪ cuni 4866  ∪ ciun 4950  dom cdm 5650  Oncon0 6362  suc csuc 6364   Fn wfn 6533  ‘cfv 6538  𝑅1cr1 9766  rankcrnk 9767
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1827  ax-4 1841  ax-5 1942  ax-6 1999  ax-7 2040  ax-8 2146  ax-9 2154  ax-10 2177  ax-11 2193  ax-12 2212  ax-ext 2732  ax-rep 5231  ax-sep 5248  ax-nul 5259  ax-pow 5326  ax-pr 5390  ax-un 7751  ax-reg 9586  ax-inf2 9642
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  df-3an 1105  df-tru 1572  df-fal 1582  df-ex 1812  df-nf 1816  df-sb 2099  df-mo 2564  df-eu 2594  df-clab 2739  df-cleq 2752  df-clel 2835  df-nfc 2909  df-ne 2956  df-ral 3077  df-rex 3087  df-reu 3366  df-rab 3413  df-v 3452  df-sbc 3739  df-csb 3847  df-ss 3896  df-pss 4014  df-dif 4047  df-in 4091  df-un 4151  df-nul 4279  df-if 4482  df-pw 4558  df-sn 4584  df-pr 4586  df-op 4590  df-uni 4867  df-int 4907  df-iun 4952  df-br 5103  df-opab 5167  df-mpt 5186  df-tr 5212  df-id 5545  df-eprel 5550  df-po 5558  df-so 5559  df-fr 5603  df-we 5605  df-xp 5656  df-rel 5657  df-cnv 5658  df-co 5659  df-dm 5660  df-rn 5661  df-res 5662  df-ima 5663  df-pred 6304  df-ord 6365  df-on 6366  df-lim 6367  df-suc 6368  df-iota 6494  df-fun 6540  df-fn 6541  df-f 6542  df-f1 6543  df-fo 6544  df-f1o 6545  df-fv 6546  df-ov 7423  df-om 7878  df-2nd 8002  df-frecs 8299  df-wrecs 8330  df-recs 8379  df-rdg 8418  df-r1 9768  df-rank 9769
This theorem is used by:  rankuniss  9883  rankbnd2  9886  rankxplim2  9897  rankxplim3  9898  rankxpsuc  9899  hfuniOLD  9925  r1limwun  10821
  Copyright terms: Public domain W3C validator