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

Theorem tcrank 9903
Description: This theorem expresses two different facts from the two subset implications in this equality. In the forward direction, it says that the transitive closure has members of every rank below 𝐴. Stated another way, to construct a set at a given rank, you have to climb the entire hierarchy of ordinals below (rank‘𝐴), constructing at least one set at each level in order to move up the ranks. In the reverse direction, it says that every member of (TC‘𝐴) has a rank below the rank of 𝐴, since intuitively it contains only the members of 𝐴 and the members of those and so on, but nothing "bigger" than 𝐴. (Contributed by Mario Carneiro, 23-Jun-2013.)
Assertion
Ref Expression
tcrank (𝐴 (𝑅1 “ On) → (rank‘𝐴) = (rank “ (TC‘𝐴)))

Proof of Theorem tcrank
Dummy variables 𝑥 𝑦 𝑧 𝑤 𝑢 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 rankwflemb 9812 . . 3 (𝐴 (𝑅1 “ On) ↔ ∃𝑦 ∈ On 𝐴 ∈ (𝑅1‘suc 𝑦))
2 onsuc 7810 . . . . 5 (𝑦 ∈ On → suc 𝑦 ∈ On)
3 fveq2 6881 . . . . . . . 8 (𝑥 = 𝑦 → (𝑅1𝑥) = (𝑅1𝑦))
43raleqdv 3309 . . . . . . 7 (𝑥 = 𝑦 → (∀𝑧 ∈ (𝑅1𝑥)(rank‘𝑧) ⊆ (rank “ (TC‘𝑧)) ↔ ∀𝑧 ∈ (𝑅1𝑦)(rank‘𝑧) ⊆ (rank “ (TC‘𝑧))))
5 fveq2 6881 . . . . . . . . 9 (𝑧 = 𝑢 → (rank‘𝑧) = (rank‘𝑢))
6 fveq2 6881 . . . . . . . . . 10 (𝑧 = 𝑢 → (TC‘𝑧) = (TC‘𝑢))
76imaeq2d 6052 . . . . . . . . 9 (𝑧 = 𝑢 → (rank “ (TC‘𝑧)) = (rank “ (TC‘𝑢)))
85, 7sseq12d 3997 . . . . . . . 8 (𝑧 = 𝑢 → ((rank‘𝑧) ⊆ (rank “ (TC‘𝑧)) ↔ (rank‘𝑢) ⊆ (rank “ (TC‘𝑢))))
98cbvralvw 3224 . . . . . . 7 (∀𝑧 ∈ (𝑅1𝑦)(rank‘𝑧) ⊆ (rank “ (TC‘𝑧)) ↔ ∀𝑢 ∈ (𝑅1𝑦)(rank‘𝑢) ⊆ (rank “ (TC‘𝑢)))
104, 9bitrdi 287 . . . . . 6 (𝑥 = 𝑦 → (∀𝑧 ∈ (𝑅1𝑥)(rank‘𝑧) ⊆ (rank “ (TC‘𝑧)) ↔ ∀𝑢 ∈ (𝑅1𝑦)(rank‘𝑢) ⊆ (rank “ (TC‘𝑢))))
11 fveq2 6881 . . . . . . 7 (𝑥 = suc 𝑦 → (𝑅1𝑥) = (𝑅1‘suc 𝑦))
1211raleqdv 3309 . . . . . 6 (𝑥 = suc 𝑦 → (∀𝑧 ∈ (𝑅1𝑥)(rank‘𝑧) ⊆ (rank “ (TC‘𝑧)) ↔ ∀𝑧 ∈ (𝑅1‘suc 𝑦)(rank‘𝑧) ⊆ (rank “ (TC‘𝑧))))
13 simpr 484 . . . . . . . . . . . 12 (((𝑥 ∈ On ∧ ∀𝑦𝑥𝑢 ∈ (𝑅1𝑦)(rank‘𝑢) ⊆ (rank “ (TC‘𝑢))) ∧ (𝑧 ∈ (𝑅1𝑥) ∧ 𝑤 ∈ (rank‘𝑧))) → (𝑧 ∈ (𝑅1𝑥) ∧ 𝑤 ∈ (rank‘𝑧)))
14 simprl 770 . . . . . . . . . . . . . 14 (((𝑥 ∈ On ∧ ∀𝑦𝑥𝑢 ∈ (𝑅1𝑦)(rank‘𝑢) ⊆ (rank “ (TC‘𝑢))) ∧ (𝑧 ∈ (𝑅1𝑥) ∧ 𝑤 ∈ (rank‘𝑧))) → 𝑧 ∈ (𝑅1𝑥))
15 simplr 768 . . . . . . . . . . . . . 14 (((𝑥 ∈ On ∧ ∀𝑦𝑥𝑢 ∈ (𝑅1𝑦)(rank‘𝑢) ⊆ (rank “ (TC‘𝑢))) ∧ (𝑧 ∈ (𝑅1𝑥) ∧ 𝑤 ∈ (rank‘𝑧))) → ∀𝑦𝑥𝑢 ∈ (𝑅1𝑦)(rank‘𝑢) ⊆ (rank “ (TC‘𝑢)))
16 rankr1ai 9817 . . . . . . . . . . . . . . . 16 (𝑧 ∈ (𝑅1𝑥) → (rank‘𝑧) ∈ 𝑥)
17 fveq2 6881 . . . . . . . . . . . . . . . . . 18 (𝑦 = (rank‘𝑧) → (𝑅1𝑦) = (𝑅1‘(rank‘𝑧)))
1817raleqdv 3309 . . . . . . . . . . . . . . . . 17 (𝑦 = (rank‘𝑧) → (∀𝑢 ∈ (𝑅1𝑦)(rank‘𝑢) ⊆ (rank “ (TC‘𝑢)) ↔ ∀𝑢 ∈ (𝑅1‘(rank‘𝑧))(rank‘𝑢) ⊆ (rank “ (TC‘𝑢))))
1918rspcv 3602 . . . . . . . . . . . . . . . 16 ((rank‘𝑧) ∈ 𝑥 → (∀𝑦𝑥𝑢 ∈ (𝑅1𝑦)(rank‘𝑢) ⊆ (rank “ (TC‘𝑢)) → ∀𝑢 ∈ (𝑅1‘(rank‘𝑧))(rank‘𝑢) ⊆ (rank “ (TC‘𝑢))))
2016, 19syl 17 . . . . . . . . . . . . . . 15 (𝑧 ∈ (𝑅1𝑥) → (∀𝑦𝑥𝑢 ∈ (𝑅1𝑦)(rank‘𝑢) ⊆ (rank “ (TC‘𝑢)) → ∀𝑢 ∈ (𝑅1‘(rank‘𝑧))(rank‘𝑢) ⊆ (rank “ (TC‘𝑢))))
21 r1elwf 9815 . . . . . . . . . . . . . . . 16 (𝑧 ∈ (𝑅1𝑥) → 𝑧 (𝑅1 “ On))
22 r1rankidb 9823 . . . . . . . . . . . . . . . 16 (𝑧 (𝑅1 “ On) → 𝑧 ⊆ (𝑅1‘(rank‘𝑧)))
23 ssralv 4032 . . . . . . . . . . . . . . . 16 (𝑧 ⊆ (𝑅1‘(rank‘𝑧)) → (∀𝑢 ∈ (𝑅1‘(rank‘𝑧))(rank‘𝑢) ⊆ (rank “ (TC‘𝑢)) → ∀𝑢𝑧 (rank‘𝑢) ⊆ (rank “ (TC‘𝑢))))
2421, 22, 233syl 18 . . . . . . . . . . . . . . 15 (𝑧 ∈ (𝑅1𝑥) → (∀𝑢 ∈ (𝑅1‘(rank‘𝑧))(rank‘𝑢) ⊆ (rank “ (TC‘𝑢)) → ∀𝑢𝑧 (rank‘𝑢) ⊆ (rank “ (TC‘𝑢))))
2520, 24syld 47 . . . . . . . . . . . . . 14 (𝑧 ∈ (𝑅1𝑥) → (∀𝑦𝑥𝑢 ∈ (𝑅1𝑦)(rank‘𝑢) ⊆ (rank “ (TC‘𝑢)) → ∀𝑢𝑧 (rank‘𝑢) ⊆ (rank “ (TC‘𝑢))))
2614, 15, 25sylc 65 . . . . . . . . . . . . 13 (((𝑥 ∈ On ∧ ∀𝑦𝑥𝑢 ∈ (𝑅1𝑦)(rank‘𝑢) ⊆ (rank “ (TC‘𝑢))) ∧ (𝑧 ∈ (𝑅1𝑥) ∧ 𝑤 ∈ (rank‘𝑧))) → ∀𝑢𝑧 (rank‘𝑢) ⊆ (rank “ (TC‘𝑢)))
27 rankval3b 9845 . . . . . . . . . . . . . . . . . . . 20 (𝑧 (𝑅1 “ On) → (rank‘𝑧) = {𝑥 ∈ On ∣ ∀𝑢𝑧 (rank‘𝑢) ∈ 𝑥})
2827eleq2d 2821 . . . . . . . . . . . . . . . . . . 19 (𝑧 (𝑅1 “ On) → (𝑤 ∈ (rank‘𝑧) ↔ 𝑤 {𝑥 ∈ On ∣ ∀𝑢𝑧 (rank‘𝑢) ∈ 𝑥}))
2928biimpd 229 . . . . . . . . . . . . . . . . . 18 (𝑧 (𝑅1 “ On) → (𝑤 ∈ (rank‘𝑧) → 𝑤 {𝑥 ∈ On ∣ ∀𝑢𝑧 (rank‘𝑢) ∈ 𝑥}))
30 rankon 9814 . . . . . . . . . . . . . . . . . . . 20 (rank‘𝑧) ∈ On
3130oneli 6473 . . . . . . . . . . . . . . . . . . 19 (𝑤 ∈ (rank‘𝑧) → 𝑤 ∈ On)
32 eleq2w 2819 . . . . . . . . . . . . . . . . . . . . 21 (𝑥 = 𝑤 → ((rank‘𝑢) ∈ 𝑥 ↔ (rank‘𝑢) ∈ 𝑤))
3332ralbidv 3164 . . . . . . . . . . . . . . . . . . . 20 (𝑥 = 𝑤 → (∀𝑢𝑧 (rank‘𝑢) ∈ 𝑥 ↔ ∀𝑢𝑧 (rank‘𝑢) ∈ 𝑤))
3433onnminsb 7798 . . . . . . . . . . . . . . . . . . 19 (𝑤 ∈ On → (𝑤 {𝑥 ∈ On ∣ ∀𝑢𝑧 (rank‘𝑢) ∈ 𝑥} → ¬ ∀𝑢𝑧 (rank‘𝑢) ∈ 𝑤))
3531, 34syl 17 . . . . . . . . . . . . . . . . . 18 (𝑤 ∈ (rank‘𝑧) → (𝑤 {𝑥 ∈ On ∣ ∀𝑢𝑧 (rank‘𝑢) ∈ 𝑥} → ¬ ∀𝑢𝑧 (rank‘𝑢) ∈ 𝑤))
3629, 35sylcom 30 . . . . . . . . . . . . . . . . 17 (𝑧 (𝑅1 “ On) → (𝑤 ∈ (rank‘𝑧) → ¬ ∀𝑢𝑧 (rank‘𝑢) ∈ 𝑤))
3721, 36syl 17 . . . . . . . . . . . . . . . 16 (𝑧 ∈ (𝑅1𝑥) → (𝑤 ∈ (rank‘𝑧) → ¬ ∀𝑢𝑧 (rank‘𝑢) ∈ 𝑤))
3837imp 406 . . . . . . . . . . . . . . 15 ((𝑧 ∈ (𝑅1𝑥) ∧ 𝑤 ∈ (rank‘𝑧)) → ¬ ∀𝑢𝑧 (rank‘𝑢) ∈ 𝑤)
39 rexnal 3090 . . . . . . . . . . . . . . 15 (∃𝑢𝑧 ¬ (rank‘𝑢) ∈ 𝑤 ↔ ¬ ∀𝑢𝑧 (rank‘𝑢) ∈ 𝑤)
4038, 39sylibr 234 . . . . . . . . . . . . . 14 ((𝑧 ∈ (𝑅1𝑥) ∧ 𝑤 ∈ (rank‘𝑧)) → ∃𝑢𝑧 ¬ (rank‘𝑢) ∈ 𝑤)
4140adantl 481 . . . . . . . . . . . . 13 (((𝑥 ∈ On ∧ ∀𝑦𝑥𝑢 ∈ (𝑅1𝑦)(rank‘𝑢) ⊆ (rank “ (TC‘𝑢))) ∧ (𝑧 ∈ (𝑅1𝑥) ∧ 𝑤 ∈ (rank‘𝑧))) → ∃𝑢𝑧 ¬ (rank‘𝑢) ∈ 𝑤)
42 r19.29 3102 . . . . . . . . . . . . 13 ((∀𝑢𝑧 (rank‘𝑢) ⊆ (rank “ (TC‘𝑢)) ∧ ∃𝑢𝑧 ¬ (rank‘𝑢) ∈ 𝑤) → ∃𝑢𝑧 ((rank‘𝑢) ⊆ (rank “ (TC‘𝑢)) ∧ ¬ (rank‘𝑢) ∈ 𝑤))
4326, 41, 42syl2anc 584 . . . . . . . . . . . 12 (((𝑥 ∈ On ∧ ∀𝑦𝑥𝑢 ∈ (𝑅1𝑦)(rank‘𝑢) ⊆ (rank “ (TC‘𝑢))) ∧ (𝑧 ∈ (𝑅1𝑥) ∧ 𝑤 ∈ (rank‘𝑧))) → ∃𝑢𝑧 ((rank‘𝑢) ⊆ (rank “ (TC‘𝑢)) ∧ ¬ (rank‘𝑢) ∈ 𝑤))
44 simp2 1137 . . . . . . . . . . . . . . 15 (((𝑧 ∈ (𝑅1𝑥) ∧ 𝑤 ∈ (rank‘𝑧)) ∧ 𝑢𝑧 ∧ ((rank‘𝑢) ⊆ (rank “ (TC‘𝑢)) ∧ ¬ (rank‘𝑢) ∈ 𝑤)) → 𝑢𝑧)
45 tcid 9758 . . . . . . . . . . . . . . . . 17 (𝑧 ∈ V → 𝑧 ⊆ (TC‘𝑧))
4645elv 3469 . . . . . . . . . . . . . . . 16 𝑧 ⊆ (TC‘𝑧)
4746sseli 3959 . . . . . . . . . . . . . . 15 (𝑢𝑧𝑢 ∈ (TC‘𝑧))
48 fveqeq2 6890 . . . . . . . . . . . . . . . . 17 (𝑥 = 𝑢 → ((rank‘𝑥) = 𝑤 ↔ (rank‘𝑢) = 𝑤))
4948rspcev 3606 . . . . . . . . . . . . . . . 16 ((𝑢 ∈ (TC‘𝑧) ∧ (rank‘𝑢) = 𝑤) → ∃𝑥 ∈ (TC‘𝑧)(rank‘𝑥) = 𝑤)
5049ex 412 . . . . . . . . . . . . . . 15 (𝑢 ∈ (TC‘𝑧) → ((rank‘𝑢) = 𝑤 → ∃𝑥 ∈ (TC‘𝑧)(rank‘𝑥) = 𝑤))
5144, 47, 503syl 18 . . . . . . . . . . . . . 14 (((𝑧 ∈ (𝑅1𝑥) ∧ 𝑤 ∈ (rank‘𝑧)) ∧ 𝑢𝑧 ∧ ((rank‘𝑢) ⊆ (rank “ (TC‘𝑢)) ∧ ¬ (rank‘𝑢) ∈ 𝑤)) → ((rank‘𝑢) = 𝑤 → ∃𝑥 ∈ (TC‘𝑧)(rank‘𝑥) = 𝑤))
52 simp3l 1202 . . . . . . . . . . . . . . . 16 (((𝑧 ∈ (𝑅1𝑥) ∧ 𝑤 ∈ (rank‘𝑧)) ∧ 𝑢𝑧 ∧ ((rank‘𝑢) ⊆ (rank “ (TC‘𝑢)) ∧ ¬ (rank‘𝑢) ∈ 𝑤)) → (rank‘𝑢) ⊆ (rank “ (TC‘𝑢)))
5352sseld 3962 . . . . . . . . . . . . . . 15 (((𝑧 ∈ (𝑅1𝑥) ∧ 𝑤 ∈ (rank‘𝑧)) ∧ 𝑢𝑧 ∧ ((rank‘𝑢) ⊆ (rank “ (TC‘𝑢)) ∧ ¬ (rank‘𝑢) ∈ 𝑤)) → (𝑤 ∈ (rank‘𝑢) → 𝑤 ∈ (rank “ (TC‘𝑢))))
54 simp1l 1198 . . . . . . . . . . . . . . . 16 (((𝑧 ∈ (𝑅1𝑥) ∧ 𝑤 ∈ (rank‘𝑧)) ∧ 𝑢𝑧 ∧ ((rank‘𝑢) ⊆ (rank “ (TC‘𝑢)) ∧ ¬ (rank‘𝑢) ∈ 𝑤)) → 𝑧 ∈ (𝑅1𝑥))
55 rankf 9813 . . . . . . . . . . . . . . . . . . 19 rank: (𝑅1 “ On)⟶On
56 ffn 6711 . . . . . . . . . . . . . . . . . . 19 (rank: (𝑅1 “ On)⟶On → rank Fn (𝑅1 “ On))
5755, 56ax-mp 5 . . . . . . . . . . . . . . . . . 18 rank Fn (𝑅1 “ On)
58 r1tr 9795 . . . . . . . . . . . . . . . . . . . 20 Tr (𝑅1𝑥)
59 trel 5243 . . . . . . . . . . . . . . . . . . . 20 (Tr (𝑅1𝑥) → ((𝑢𝑧𝑧 ∈ (𝑅1𝑥)) → 𝑢 ∈ (𝑅1𝑥)))
6058, 59ax-mp 5 . . . . . . . . . . . . . . . . . . 19 ((𝑢𝑧𝑧 ∈ (𝑅1𝑥)) → 𝑢 ∈ (𝑅1𝑥))
61 r1elwf 9815 . . . . . . . . . . . . . . . . . . 19 (𝑢 ∈ (𝑅1𝑥) → 𝑢 (𝑅1 “ On))
62 tcwf 9902 . . . . . . . . . . . . . . . . . . . 20 (𝑢 (𝑅1 “ On) → (TC‘𝑢) ∈ (𝑅1 “ On))
63 fvex 6894 . . . . . . . . . . . . . . . . . . . . 21 (TC‘𝑢) ∈ V
6463r1elss 9825 . . . . . . . . . . . . . . . . . . . 20 ((TC‘𝑢) ∈ (𝑅1 “ On) ↔ (TC‘𝑢) ⊆ (𝑅1 “ On))
6562, 64sylib 218 . . . . . . . . . . . . . . . . . . 19 (𝑢 (𝑅1 “ On) → (TC‘𝑢) ⊆ (𝑅1 “ On))
6660, 61, 653syl 18 . . . . . . . . . . . . . . . . . 18 ((𝑢𝑧𝑧 ∈ (𝑅1𝑥)) → (TC‘𝑢) ⊆ (𝑅1 “ On))
67 fvelimab 6956 . . . . . . . . . . . . . . . . . 18 ((rank Fn (𝑅1 “ On) ∧ (TC‘𝑢) ⊆ (𝑅1 “ On)) → (𝑤 ∈ (rank “ (TC‘𝑢)) ↔ ∃𝑥 ∈ (TC‘𝑢)(rank‘𝑥) = 𝑤))
6857, 66, 67sylancr 587 . . . . . . . . . . . . . . . . 17 ((𝑢𝑧𝑧 ∈ (𝑅1𝑥)) → (𝑤 ∈ (rank “ (TC‘𝑢)) ↔ ∃𝑥 ∈ (TC‘𝑢)(rank‘𝑥) = 𝑤))
69 vex 3468 . . . . . . . . . . . . . . . . . . . 20 𝑧 ∈ V
7069tcel 9764 . . . . . . . . . . . . . . . . . . 19 (𝑢𝑧 → (TC‘𝑢) ⊆ (TC‘𝑧))
71 ssrexv 4033 . . . . . . . . . . . . . . . . . . 19 ((TC‘𝑢) ⊆ (TC‘𝑧) → (∃𝑥 ∈ (TC‘𝑢)(rank‘𝑥) = 𝑤 → ∃𝑥 ∈ (TC‘𝑧)(rank‘𝑥) = 𝑤))
7270, 71syl 17 . . . . . . . . . . . . . . . . . 18 (𝑢𝑧 → (∃𝑥 ∈ (TC‘𝑢)(rank‘𝑥) = 𝑤 → ∃𝑥 ∈ (TC‘𝑧)(rank‘𝑥) = 𝑤))
7372adantr 480 . . . . . . . . . . . . . . . . 17 ((𝑢𝑧𝑧 ∈ (𝑅1𝑥)) → (∃𝑥 ∈ (TC‘𝑢)(rank‘𝑥) = 𝑤 → ∃𝑥 ∈ (TC‘𝑧)(rank‘𝑥) = 𝑤))
7468, 73sylbid 240 . . . . . . . . . . . . . . . 16 ((𝑢𝑧𝑧 ∈ (𝑅1𝑥)) → (𝑤 ∈ (rank “ (TC‘𝑢)) → ∃𝑥 ∈ (TC‘𝑧)(rank‘𝑥) = 𝑤))
7544, 54, 74syl2anc 584 . . . . . . . . . . . . . . 15 (((𝑧 ∈ (𝑅1𝑥) ∧ 𝑤 ∈ (rank‘𝑧)) ∧ 𝑢𝑧 ∧ ((rank‘𝑢) ⊆ (rank “ (TC‘𝑢)) ∧ ¬ (rank‘𝑢) ∈ 𝑤)) → (𝑤 ∈ (rank “ (TC‘𝑢)) → ∃𝑥 ∈ (TC‘𝑧)(rank‘𝑥) = 𝑤))
7653, 75syld 47 . . . . . . . . . . . . . 14 (((𝑧 ∈ (𝑅1𝑥) ∧ 𝑤 ∈ (rank‘𝑧)) ∧ 𝑢𝑧 ∧ ((rank‘𝑢) ⊆ (rank “ (TC‘𝑢)) ∧ ¬ (rank‘𝑢) ∈ 𝑤)) → (𝑤 ∈ (rank‘𝑢) → ∃𝑥 ∈ (TC‘𝑧)(rank‘𝑥) = 𝑤))
77 rankon 9814 . . . . . . . . . . . . . . . . . . 19 (rank‘𝑢) ∈ On
78 eloni 6367 . . . . . . . . . . . . . . . . . . . 20 ((rank‘𝑢) ∈ On → Ord (rank‘𝑢))
79 eloni 6367 . . . . . . . . . . . . . . . . . . . 20 (𝑤 ∈ On → Ord 𝑤)
80 ordtri3or 6389 . . . . . . . . . . . . . . . . . . . 20 ((Ord (rank‘𝑢) ∧ Ord 𝑤) → ((rank‘𝑢) ∈ 𝑤 ∨ (rank‘𝑢) = 𝑤𝑤 ∈ (rank‘𝑢)))
8178, 79, 80syl2an 596 . . . . . . . . . . . . . . . . . . 19 (((rank‘𝑢) ∈ On ∧ 𝑤 ∈ On) → ((rank‘𝑢) ∈ 𝑤 ∨ (rank‘𝑢) = 𝑤𝑤 ∈ (rank‘𝑢)))
8277, 31, 81sylancr 587 . . . . . . . . . . . . . . . . . 18 (𝑤 ∈ (rank‘𝑧) → ((rank‘𝑢) ∈ 𝑤 ∨ (rank‘𝑢) = 𝑤𝑤 ∈ (rank‘𝑢)))
83 3orass 1089 . . . . . . . . . . . . . . . . . 18 (((rank‘𝑢) ∈ 𝑤 ∨ (rank‘𝑢) = 𝑤𝑤 ∈ (rank‘𝑢)) ↔ ((rank‘𝑢) ∈ 𝑤 ∨ ((rank‘𝑢) = 𝑤𝑤 ∈ (rank‘𝑢))))
8482, 83sylib 218 . . . . . . . . . . . . . . . . 17 (𝑤 ∈ (rank‘𝑧) → ((rank‘𝑢) ∈ 𝑤 ∨ ((rank‘𝑢) = 𝑤𝑤 ∈ (rank‘𝑢))))
8584orcanai 1004 . . . . . . . . . . . . . . . 16 ((𝑤 ∈ (rank‘𝑧) ∧ ¬ (rank‘𝑢) ∈ 𝑤) → ((rank‘𝑢) = 𝑤𝑤 ∈ (rank‘𝑢)))
8685ad2ant2l 746 . . . . . . . . . . . . . . 15 (((𝑧 ∈ (𝑅1𝑥) ∧ 𝑤 ∈ (rank‘𝑧)) ∧ ((rank‘𝑢) ⊆ (rank “ (TC‘𝑢)) ∧ ¬ (rank‘𝑢) ∈ 𝑤)) → ((rank‘𝑢) = 𝑤𝑤 ∈ (rank‘𝑢)))
87863adant2 1131 . . . . . . . . . . . . . 14 (((𝑧 ∈ (𝑅1𝑥) ∧ 𝑤 ∈ (rank‘𝑧)) ∧ 𝑢𝑧 ∧ ((rank‘𝑢) ⊆ (rank “ (TC‘𝑢)) ∧ ¬ (rank‘𝑢) ∈ 𝑤)) → ((rank‘𝑢) = 𝑤𝑤 ∈ (rank‘𝑢)))
8851, 76, 87mpjaod 860 . . . . . . . . . . . . 13 (((𝑧 ∈ (𝑅1𝑥) ∧ 𝑤 ∈ (rank‘𝑧)) ∧ 𝑢𝑧 ∧ ((rank‘𝑢) ⊆ (rank “ (TC‘𝑢)) ∧ ¬ (rank‘𝑢) ∈ 𝑤)) → ∃𝑥 ∈ (TC‘𝑧)(rank‘𝑥) = 𝑤)
8988rexlimdv3a 3146 . . . . . . . . . . . 12 ((𝑧 ∈ (𝑅1𝑥) ∧ 𝑤 ∈ (rank‘𝑧)) → (∃𝑢𝑧 ((rank‘𝑢) ⊆ (rank “ (TC‘𝑢)) ∧ ¬ (rank‘𝑢) ∈ 𝑤) → ∃𝑥 ∈ (TC‘𝑧)(rank‘𝑥) = 𝑤))
9013, 43, 89sylc 65 . . . . . . . . . . 11 (((𝑥 ∈ On ∧ ∀𝑦𝑥𝑢 ∈ (𝑅1𝑦)(rank‘𝑢) ⊆ (rank “ (TC‘𝑢))) ∧ (𝑧 ∈ (𝑅1𝑥) ∧ 𝑤 ∈ (rank‘𝑧))) → ∃𝑥 ∈ (TC‘𝑧)(rank‘𝑥) = 𝑤)
9190expr 456 . . . . . . . . . 10 (((𝑥 ∈ On ∧ ∀𝑦𝑥𝑢 ∈ (𝑅1𝑦)(rank‘𝑢) ⊆ (rank “ (TC‘𝑢))) ∧ 𝑧 ∈ (𝑅1𝑥)) → (𝑤 ∈ (rank‘𝑧) → ∃𝑥 ∈ (TC‘𝑧)(rank‘𝑥) = 𝑤))
92 tcwf 9902 . . . . . . . . . . . . 13 (𝑧 (𝑅1 “ On) → (TC‘𝑧) ∈ (𝑅1 “ On))
93 r1elssi 9824 . . . . . . . . . . . . . 14 ((TC‘𝑧) ∈ (𝑅1 “ On) → (TC‘𝑧) ⊆ (𝑅1 “ On))
94 fvelimab 6956 . . . . . . . . . . . . . 14 ((rank Fn (𝑅1 “ On) ∧ (TC‘𝑧) ⊆ (𝑅1 “ On)) → (𝑤 ∈ (rank “ (TC‘𝑧)) ↔ ∃𝑥 ∈ (TC‘𝑧)(rank‘𝑥) = 𝑤))
9593, 94sylan2 593 . . . . . . . . . . . . 13 ((rank Fn (𝑅1 “ On) ∧ (TC‘𝑧) ∈ (𝑅1 “ On)) → (𝑤 ∈ (rank “ (TC‘𝑧)) ↔ ∃𝑥 ∈ (TC‘𝑧)(rank‘𝑥) = 𝑤))
9657, 92, 95sylancr 587 . . . . . . . . . . . 12 (𝑧 (𝑅1 “ On) → (𝑤 ∈ (rank “ (TC‘𝑧)) ↔ ∃𝑥 ∈ (TC‘𝑧)(rank‘𝑥) = 𝑤))
9721, 96syl 17 . . . . . . . . . . 11 (𝑧 ∈ (𝑅1𝑥) → (𝑤 ∈ (rank “ (TC‘𝑧)) ↔ ∃𝑥 ∈ (TC‘𝑧)(rank‘𝑥) = 𝑤))
9897adantl 481 . . . . . . . . . 10 (((𝑥 ∈ On ∧ ∀𝑦𝑥𝑢 ∈ (𝑅1𝑦)(rank‘𝑢) ⊆ (rank “ (TC‘𝑢))) ∧ 𝑧 ∈ (𝑅1𝑥)) → (𝑤 ∈ (rank “ (TC‘𝑧)) ↔ ∃𝑥 ∈ (TC‘𝑧)(rank‘𝑥) = 𝑤))
9991, 98sylibrd 259 . . . . . . . . 9 (((𝑥 ∈ On ∧ ∀𝑦𝑥𝑢 ∈ (𝑅1𝑦)(rank‘𝑢) ⊆ (rank “ (TC‘𝑢))) ∧ 𝑧 ∈ (𝑅1𝑥)) → (𝑤 ∈ (rank‘𝑧) → 𝑤 ∈ (rank “ (TC‘𝑧))))
10099ssrdv 3969 . . . . . . . 8 (((𝑥 ∈ On ∧ ∀𝑦𝑥𝑢 ∈ (𝑅1𝑦)(rank‘𝑢) ⊆ (rank “ (TC‘𝑢))) ∧ 𝑧 ∈ (𝑅1𝑥)) → (rank‘𝑧) ⊆ (rank “ (TC‘𝑧)))
101100ralrimiva 3133 . . . . . . 7 ((𝑥 ∈ On ∧ ∀𝑦𝑥𝑢 ∈ (𝑅1𝑦)(rank‘𝑢) ⊆ (rank “ (TC‘𝑢))) → ∀𝑧 ∈ (𝑅1𝑥)(rank‘𝑧) ⊆ (rank “ (TC‘𝑧)))
102101ex 412 . . . . . 6 (𝑥 ∈ On → (∀𝑦𝑥𝑢 ∈ (𝑅1𝑦)(rank‘𝑢) ⊆ (rank “ (TC‘𝑢)) → ∀𝑧 ∈ (𝑅1𝑥)(rank‘𝑧) ⊆ (rank “ (TC‘𝑧))))
10310, 12, 102tfis3 7858 . . . . 5 (suc 𝑦 ∈ On → ∀𝑧 ∈ (𝑅1‘suc 𝑦)(rank‘𝑧) ⊆ (rank “ (TC‘𝑧)))
104 fveq2 6881 . . . . . . 7 (𝑧 = 𝐴 → (rank‘𝑧) = (rank‘𝐴))
105 fveq2 6881 . . . . . . . 8 (𝑧 = 𝐴 → (TC‘𝑧) = (TC‘𝐴))
106105imaeq2d 6052 . . . . . . 7 (𝑧 = 𝐴 → (rank “ (TC‘𝑧)) = (rank “ (TC‘𝐴)))
107104, 106sseq12d 3997 . . . . . 6 (𝑧 = 𝐴 → ((rank‘𝑧) ⊆ (rank “ (TC‘𝑧)) ↔ (rank‘𝐴) ⊆ (rank “ (TC‘𝐴))))
108107rspccv 3603 . . . . 5 (∀𝑧 ∈ (𝑅1‘suc 𝑦)(rank‘𝑧) ⊆ (rank “ (TC‘𝑧)) → (𝐴 ∈ (𝑅1‘suc 𝑦) → (rank‘𝐴) ⊆ (rank “ (TC‘𝐴))))
1092, 103, 1083syl 18 . . . 4 (𝑦 ∈ On → (𝐴 ∈ (𝑅1‘suc 𝑦) → (rank‘𝐴) ⊆ (rank “ (TC‘𝐴))))
110109rexlimiv 3135 . . 3 (∃𝑦 ∈ On 𝐴 ∈ (𝑅1‘suc 𝑦) → (rank‘𝐴) ⊆ (rank “ (TC‘𝐴)))
1111, 110sylbi 217 . 2 (𝐴 (𝑅1 “ On) → (rank‘𝐴) ⊆ (rank “ (TC‘𝐴)))
112 tcvalg 9757 . . . 4 (𝐴 (𝑅1 “ On) → (TC‘𝐴) = {𝑥 ∣ (𝐴𝑥 ∧ Tr 𝑥)})
113 r1rankidb 9823 . . . . 5 (𝐴 (𝑅1 “ On) → 𝐴 ⊆ (𝑅1‘(rank‘𝐴)))
114 r1tr 9795 . . . . 5 Tr (𝑅1‘(rank‘𝐴))
115 fvex 6894 . . . . . . 7 (𝑅1‘(rank‘𝐴)) ∈ V
116 sseq2 3990 . . . . . . . 8 (𝑥 = (𝑅1‘(rank‘𝐴)) → (𝐴𝑥𝐴 ⊆ (𝑅1‘(rank‘𝐴))))
117 treq 5242 . . . . . . . 8 (𝑥 = (𝑅1‘(rank‘𝐴)) → (Tr 𝑥 ↔ Tr (𝑅1‘(rank‘𝐴))))
118116, 117anbi12d 632 . . . . . . 7 (𝑥 = (𝑅1‘(rank‘𝐴)) → ((𝐴𝑥 ∧ Tr 𝑥) ↔ (𝐴 ⊆ (𝑅1‘(rank‘𝐴)) ∧ Tr (𝑅1‘(rank‘𝐴)))))
119115, 118elab 3663 . . . . . 6 ((𝑅1‘(rank‘𝐴)) ∈ {𝑥 ∣ (𝐴𝑥 ∧ Tr 𝑥)} ↔ (𝐴 ⊆ (𝑅1‘(rank‘𝐴)) ∧ Tr (𝑅1‘(rank‘𝐴))))
120 intss1 4944 . . . . . 6 ((𝑅1‘(rank‘𝐴)) ∈ {𝑥 ∣ (𝐴𝑥 ∧ Tr 𝑥)} → {𝑥 ∣ (𝐴𝑥 ∧ Tr 𝑥)} ⊆ (𝑅1‘(rank‘𝐴)))
121119, 120sylbir 235 . . . . 5 ((𝐴 ⊆ (𝑅1‘(rank‘𝐴)) ∧ Tr (𝑅1‘(rank‘𝐴))) → {𝑥 ∣ (𝐴𝑥 ∧ Tr 𝑥)} ⊆ (𝑅1‘(rank‘𝐴)))
122113, 114, 121sylancl 586 . . . 4 (𝐴 (𝑅1 “ On) → {𝑥 ∣ (𝐴𝑥 ∧ Tr 𝑥)} ⊆ (𝑅1‘(rank‘𝐴)))
123112, 122eqsstrd 3998 . . 3 (𝐴 (𝑅1 “ On) → (TC‘𝐴) ⊆ (𝑅1‘(rank‘𝐴)))
124 imass2 6094 . . . 4 ((TC‘𝐴) ⊆ (𝑅1‘(rank‘𝐴)) → (rank “ (TC‘𝐴)) ⊆ (rank “ (𝑅1‘(rank‘𝐴))))
125 ffun 6714 . . . . . . . 8 (rank: (𝑅1 “ On)⟶On → Fun rank)
12655, 125ax-mp 5 . . . . . . 7 Fun rank
127 fvelima 6949 . . . . . . 7 ((Fun rank ∧ 𝑥 ∈ (rank “ (𝑅1‘(rank‘𝐴)))) → ∃𝑦 ∈ (𝑅1‘(rank‘𝐴))(rank‘𝑦) = 𝑥)
128126, 127mpan 690 . . . . . 6 (𝑥 ∈ (rank “ (𝑅1‘(rank‘𝐴))) → ∃𝑦 ∈ (𝑅1‘(rank‘𝐴))(rank‘𝑦) = 𝑥)
129 rankr1ai 9817 . . . . . . . 8 (𝑦 ∈ (𝑅1‘(rank‘𝐴)) → (rank‘𝑦) ∈ (rank‘𝐴))
130 eleq1 2823 . . . . . . . 8 ((rank‘𝑦) = 𝑥 → ((rank‘𝑦) ∈ (rank‘𝐴) ↔ 𝑥 ∈ (rank‘𝐴)))
131129, 130syl5ibcom 245 . . . . . . 7 (𝑦 ∈ (𝑅1‘(rank‘𝐴)) → ((rank‘𝑦) = 𝑥𝑥 ∈ (rank‘𝐴)))
132131rexlimiv 3135 . . . . . 6 (∃𝑦 ∈ (𝑅1‘(rank‘𝐴))(rank‘𝑦) = 𝑥𝑥 ∈ (rank‘𝐴))
133128, 132syl 17 . . . . 5 (𝑥 ∈ (rank “ (𝑅1‘(rank‘𝐴))) → 𝑥 ∈ (rank‘𝐴))
134133ssriv 3967 . . . 4 (rank “ (𝑅1‘(rank‘𝐴))) ⊆ (rank‘𝐴)
135124, 134sstrdi 3976 . . 3 ((TC‘𝐴) ⊆ (𝑅1‘(rank‘𝐴)) → (rank “ (TC‘𝐴)) ⊆ (rank‘𝐴))
136123, 135syl 17 . 2 (𝐴 (𝑅1 “ On) → (rank “ (TC‘𝐴)) ⊆ (rank‘𝐴))
137111, 136eqssd 3981 1 (𝐴 (𝑅1 “ On) → (rank‘𝐴) = (rank “ (TC‘𝐴)))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 206  wa 395  wo 847  w3o 1085  w3a 1086   = wceq 1540  wcel 2109  {cab 2714  wral 3052  wrex 3061  {crab 3420  Vcvv 3464  wss 3931   cuni 4888   cint 4927  Tr wtr 5234  cima 5662  Ord word 6356  Oncon0 6357  suc csuc 6359  Fun wfun 6530   Fn wfn 6531  wf 6532  cfv 6536  TCctc 9755  𝑅1cr1 9781  rankcrnk 9782
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1795  ax-4 1809  ax-5 1910  ax-6 1967  ax-7 2008  ax-8 2111  ax-9 2119  ax-10 2142  ax-11 2158  ax-12 2178  ax-ext 2708  ax-rep 5254  ax-sep 5271  ax-nul 5281  ax-pow 5340  ax-pr 5407  ax-un 7734  ax-inf2 9660
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3or 1087  df-3an 1088  df-tru 1543  df-fal 1553  df-ex 1780  df-nf 1784  df-sb 2066  df-mo 2540  df-eu 2569  df-clab 2715  df-cleq 2728  df-clel 2810  df-nfc 2886  df-ne 2934  df-ral 3053  df-rex 3062  df-reu 3365  df-rab 3421  df-v 3466  df-sbc 3771  df-csb 3880  df-dif 3934  df-un 3936  df-in 3938  df-ss 3948  df-pss 3951  df-nul 4314  df-if 4506  df-pw 4582  df-sn 4607  df-pr 4609  df-op 4613  df-uni 4889  df-int 4928  df-iun 4974  df-br 5125  df-opab 5187  df-mpt 5207  df-tr 5235  df-id 5553  df-eprel 5558  df-po 5566  df-so 5567  df-fr 5611  df-we 5613  df-xp 5665  df-rel 5666  df-cnv 5667  df-co 5668  df-dm 5669  df-rn 5670  df-res 5671  df-ima 5672  df-pred 6295  df-ord 6360  df-on 6361  df-lim 6362  df-suc 6363  df-iota 6489  df-fun 6538  df-fn 6539  df-f 6540  df-f1 6541  df-fo 6542  df-f1o 6543  df-fv 6544  df-ov 7413  df-om 7867  df-2nd 7994  df-frecs 8285  df-wrecs 8316  df-recs 8390  df-rdg 8429  df-tc 9756  df-r1 9783  df-rank 9784
This theorem is referenced by:  hsmexlem5  10449  grur1  10839
  Copyright terms: Public domain W3C validator