HomeHome Metamath Proof Explorer < Previous   Next >
Related theorems
GIF version

Theorem rankr1 3518
Description: A relationship between the rank function and the cumulative hierarchy of sets function R1. Proposition 9.15(2) of [TakeutiZaring] p. 79.
Hypothesis
Ref Expression
rankr1.1 AV
Assertion
Ref Expression
rankr1 (B = (rank ‘A) ↔ (¬ A ∈ (R1B) ∧ A ∈ (R1 ‘suc B)))

Proof of Theorem rankr1
StepHypRef Expression
1 rankon 3515 . . . . 5 (rank ‘A) ∈ On
2 eleq1 1149 . . . . 5 (B = (rank ‘A) → (B ∈ On ↔ (rank ‘A) ∈ On))
31, 2mpbiri 169 . . . 4 (B = (rank ‘A) → B ∈ On)
4 eloni 2209 . . . . 5 (B ∈ On → Ord B)
5 ordzsl 2366 . . . . . 6 (Ord B ↔ (B = ∅ ∨ ∃x ∈ On B = suc x ∨ Lim B))
6 noel 1711 . . . . . . . . 9 ¬ A ∈ ∅
7 fveq2 2832 . . . . . . . . . . 11 (B = ∅ → (R1B) = (R1 ‘∅))
8 r10 3495 . . . . . . . . . . 11 (R1 ‘∅) = ∅
97, 8syl6eq 1140 . . . . . . . . . 10 (B = ∅ → (R1B) = ∅)
109eleq2d 1156 . . . . . . . . 9 (B = ∅ → (A ∈ (R1B) ↔ A ∈ ∅))
116, 10mtbiri 539 . . . . . . . 8 (B = ∅ → ¬ A ∈ (R1B))
1211a1d 14 . . . . . . 7 (B = ∅ → (B = (rank ‘A) → ¬ A ∈ (R1B)))
13 visset 1350 . . . . . . . . . . . . . . 15 xV
1413sucid 2304 . . . . . . . . . . . . . 14 x ∈ suc x
15 eleq2 1150 . . . . . . . . . . . . . 14 (B = suc x → (xBx ∈ suc x))
1614, 15mpbiri 169 . . . . . . . . . . . . 13 (B = suc xxB)
1716adantl 305 . . . . . . . . . . . 12 ((x ∈ On ∧ B = suc x) → xB)
18 ontri1 2232 . . . . . . . . . . . . . 14 ((B ∈ On ∧ x ∈ On) → (Bx ↔ ¬ xB))
1918bicon2d 404 . . . . . . . . . . . . 13 ((B ∈ On ∧ x ∈ On) → (xB ↔ ¬ Bx))
20 eleq1a 1158 . . . . . . . . . . . . . . 15 (suc x ∈ On → (B = suc xB ∈ On))
2120imp 277 . . . . . . . . . . . . . 14 ((suc x ∈ On ∧ B = suc x) → B ∈ On)
22 suceloni 2314 . . . . . . . . . . . . . 14 (x ∈ On → suc x ∈ On)
2321, 22sylan 343 . . . . . . . . . . . . 13 ((x ∈ On ∧ B = suc x) → B ∈ On)
24 pm3.26 256 . . . . . . . . . . . . 13 ((x ∈ On ∧ B = suc x) → x ∈ On)
2519, 23, 24sylanc 361 . . . . . . . . . . . 12 ((x ∈ On ∧ B = suc x) → (xB ↔ ¬ Bx))
2617, 25mpbid 170 . . . . . . . . . . 11 ((x ∈ On ∧ B = suc x) → ¬ Bx)
2726adantr 306 . . . . . . . . . 10 (((x ∈ On ∧ B = suc x) ∧ B = (rank ‘A)) → ¬ Bx)
28 rankr1.1 . . . . . . . . . . . . . . . . . . 19 AV
2928rankval 3512 . . . . . . . . . . . . . . . . . 18 (rank ‘A) = {y ∈ On∣A ∈ (R1 ‘suc y)}
3029cleq2i 1111 . . . . . . . . . . . . . . . . 17 (B = (rank ‘A) ↔ B = {y ∈ On∣A ∈ (R1 ‘suc y)})
3130biimp 133 . . . . . . . . . . . . . . . 16 (B = (rank ‘A) → B = {y ∈ On∣A ∈ (R1 ‘suc y)})
3231sseq1d 1527 . . . . . . . . . . . . . . 15 (B = (rank ‘A) → (Bx{y ∈ On∣A ∈ (R1 ‘suc y)} ⊆ x))
33 suceq 2288 . . . . . . . . . . . . . . . . . . 19 (y = x → suc y = suc x)
3433fveq2d 2836 . . . . . . . . . . . . . . . . . 18 (y = x → (R1 ‘suc y) = (R1 ‘suc x))
3534eleq2d 1156 . . . . . . . . . . . . . . . . 17 (y = x → (A ∈ (R1 ‘suc y) ↔ A ∈ (R1 ‘suc x)))
3635onintss 2266 . . . . . . . . . . . . . . . 16 (x ∈ On → (A ∈ (R1 ‘suc x) → {y ∈ On∣A ∈ (R1 ‘suc y)} ⊆ x))
3736imp 277 . . . . . . . . . . . . . . 15 ((x ∈ On ∧ A ∈ (R1 ‘suc x)) → {y ∈ On∣A ∈ (R1 ‘suc y)} ⊆ x)
3832, 37syl5bir 184 . . . . . . . . . . . . . 14 (B = (rank ‘A) → ((x ∈ On ∧ A ∈ (R1 ‘suc x)) → Bx))
39 fveq2 2832 . . . . . . . . . . . . . . . 16 (B = suc x → (R1B) = (R1 ‘suc x))
4039eleq2d 1156 . . . . . . . . . . . . . . 15 (B = suc x → (A ∈ (R1B) ↔ A ∈ (R1 ‘suc x)))
4140biimpa 324 . . . . . . . . . . . . . 14 ((B = suc xA ∈ (R1B)) → A ∈ (R1 ‘suc x))
4238, 41sylan2i 357 . . . . . . . . . . . . 13 (B = (rank ‘A) → ((x ∈ On ∧ (B = suc xA ∈ (R1B))) → Bx))
4342exp4d 298 . . . . . . . . . . . 12 (B = (rank ‘A) → (x ∈ On → (B = suc x → (A ∈ (R1B) → Bx))))
4443com3l 34 . . . . . . . . . . 11 (x ∈ On → (B = suc x → (B = (rank ‘A) → (A ∈ (R1B) → Bx))))
4544imp31 280 . . . . . . . . . 10 (((x ∈ On ∧ B = suc x) ∧ B = (rank ‘A)) → (A ∈ (R1B) → Bx))
4627, 45mtod 95 . . . . . . . . 9 (((x ∈ On ∧ B = suc x) ∧ B = (rank ‘A)) → ¬ A ∈ (R1B))
4746exp31 293 . . . . . . . 8 (x ∈ On → (B = suc x → (B = (rank ‘A) → ¬ A ∈ (R1B))))
4847r19.23aiv 1284 . . . . . . 7 (∃x ∈ On B = suc x → (B = (rank ‘A) → ¬ A ∈ (R1B)))
49 eleq2 1150 . . . . . . . . . . . . . . . . . . 19 (B = (rank ‘A) → (xBx ∈ (rank ‘A)))
501onel 2346 . . . . . . . . . . . . . . . . . . 19 (x ∈ (rank ‘A) → x ∈ On)
5149, 50syl6bi 187 . . . . . . . . . . . . . . . . . 18 (B = (rank ‘A) → (xBx ∈ On))
5251anc2li 250 . . . . . . . . . . . . . . . . 17 (B = (rank ‘A) → (xB → (B = (rank ‘A) ∧ x ∈ On)))
53 r1ord2 3500 . . . . . . . . . . . . . . . . . . . . . . 23 (suc x ∈ On → (x ∈ suc x → (R1x) ⊆ (R1 ‘suc x)))
5414, 53mpi 44 . . . . . . . . . . . . . . . . . . . . . 22 (suc x ∈ On → (R1x) ⊆ (R1 ‘suc x))
5522, 54syl 12 . . . . . . . . . . . . . . . . . . . . 21 (x ∈ On → (R1x) ⊆ (R1 ‘suc x))
5655sseld 1506 . . . . . . . . . . . . . . . . . . . 20 (x ∈ On → (A ∈ (R1x) → A ∈ (R1 ‘suc x)))
5729sseq1i 1524 . . . . . . . . . . . . . . . . . . . . 21 ((rank ‘A) ⊆ x{y ∈ On∣A ∈ (R1 ‘suc y)} ⊆ x)
5836, 57syl6ibr 186 . . . . . . . . . . . . . . . . . . . 20 (x ∈ On → (A ∈ (R1 ‘suc x) → (rank ‘A) ⊆ x))
5956, 58syld 27 . . . . . . . . . . . . . . . . . . 19 (x ∈ On → (A ∈ (R1x) → (rank ‘A) ⊆ x))
60 sseq1 1521 . . . . . . . . . . . . . . . . . . . 20 (B = (rank ‘A) → (Bx ↔ (rank ‘A) ⊆ x))
6160biimprd 136 . . . . . . . . . . . . . . . . . . 19 (B = (rank ‘A) → ((rank ‘A) ⊆ xBx))
6259, 61sylan9r 360 . . . . . . . . . . . . . . . . . 18 ((B = (rank ‘A) ∧ x ∈ On) → (A ∈ (R1x) → Bx))
6318, 3sylan 343 . . . . . . . . . . . . . . . . . 18 ((B = (rank ‘A) ∧ x ∈ On) → (Bx ↔ ¬ xB))
6462, 63sylibd 177 . . . . . . . . . . . . . . . . 17 ((B = (rank ‘A) ∧ x ∈ On) → (A ∈ (R1x) → ¬ xB))
6552, 64syl6 23 . . . . . . . . . . . . . . . 16 (B = (rank ‘A) → (xB → (A ∈ (R1x) → ¬ xB)))
6665com3l 34 . . . . . . . . . . . . . . 15 (xB → (A ∈ (R1x) → (B = (rank ‘A) → ¬ xB)))
67 con2 82 . . . . . . . . . . . . . . 15 ((B = (rank ‘A) → ¬ xB) → (xB → ¬ B = (rank ‘A)))
6866, 67syl6 23 . . . . . . . . . . . . . 14 (xB → (A ∈ (R1x) → (xB → ¬ B = (rank ‘A))))
6968pm2.43a 60 . . . . . . . . . . . . 13 (xB → (A ∈ (R1x) → ¬ B = (rank ‘A)))
7069r19.23aiv 1284 . . . . . . . . . . . 12 (∃xB A ∈ (R1x) → ¬ B = (rank ‘A))
7170con2i 89 . . . . . . . . . . 11 (B = (rank ‘A) → ¬ ∃xB A ∈ (R1x))
7271adantr 306 . . . . . . . . . 10 ((B = (rank ‘A) ∧ Lim B) → ¬ ∃xB A ∈ (R1x))
73 r1lim 3497 . . . . . . . . . . . . 13 ((BV ∧ Lim B) → (R1B) = xB (R1x))
74 fvex 2838 . . . . . . . . . . . . . 14 (rank ‘A) ∈ V
75 eleq1 1149 . . . . . . . . . . . . . 14 (B = (rank ‘A) → (BV ↔ (rank ‘A) ∈ V))
7674, 75mpbiri 169 . . . . . . . . . . . . 13 (B = (rank ‘A) → BV)
7773, 76sylan 343 . . . . . . . . . . . 12 ((B = (rank ‘A) ∧ Lim B) → (R1B) = xB (R1x))
7877eleq2d 1156 . . . . . . . . . . 11 ((B = (rank ‘A) ∧ Lim B) → (A ∈ (R1B) ↔ AxB (R1x)))
79 eliun 1998 . . . . . . . . . . 11 (AxB (R1x) ↔ ∃xB A ∈ (R1x))
8078, 79syl6bb 414 . . . . . . . . . 10 ((B = (rank ‘A) ∧ Lim B) → (A ∈ (R1B) ↔ ∃xB A ∈ (R1x)))
8172, 80mtbird 537 . . . . . . . . 9 ((B = (rank ‘A) ∧ Lim B) → ¬ A ∈ (R1B))
8281exp 291 . . . . . . . 8 (B = (rank ‘A) → (Lim B → ¬ A ∈ (R1B)))
8382com12 13 . . . . . . 7 (Lim B → (B = (rank ‘A) → ¬ A ∈ (R1B)))
8412, 48, 833jaoi 633 . . . . . 6 ((B = ∅ ∨ ∃x ∈ On B = suc x ∨ Lim B) → (B = (rank ‘A) → ¬ A ∈ (R1B)))
855, 84sylbi 174 . . . . 5 (Ord B → (B = (rank ‘A) → ¬ A ∈ (R1B)))
864, 85syl 12 . . . 4 (B ∈ On → (B = (rank ‘A) → ¬ A ∈ (R1B)))
873, 86mpcom 49 . . 3 (B = (rank ‘A) → ¬ A ∈ (R1B))
88 ssrab 1556 . . . . . . 7 {y ∈ On∣A ∈ (R1 ‘suc y)} ⊆ On
89 rankwflem 3509 . . . . . . . . 9 (AV → ∃y ∈ On A ∈ (R1 ‘suc y))
9028, 89ax-mp 6 . . . . . . . 8 y ∈ On A ∈ (R1 ‘suc y)
91 rabn0 1716 . . . . . . . 8 (¬ {y ∈ On∣A ∈ (R1 ‘suc y)} = ∅ ↔ ∃y ∈ On A ∈ (R1 ‘suc y))
9290, 91mpbir 165 . . . . . . 7 ¬ {y ∈ On∣A ∈ (R1 ‘suc y)} = ∅
93 onint 2261 . . . . . . 7 (({y ∈ On∣A ∈ (R1 ‘suc y)} ⊆ On ∧ ¬ {y ∈ On∣A ∈ (R1 ‘suc y)} = ∅) → {y ∈ On∣A ∈ (R1 ‘suc y)} ∈ {y ∈ On∣A ∈ (R1 ‘suc y)})
9488, 92, 93mp2an 520 . . . . . 6 {y ∈ On∣A ∈ (R1 ‘suc y)} ∈ {y ∈ On∣A ∈ (R1 ‘suc y)}
9529, 94eqeltr 1159 . . . . 5 (rank ‘A) ∈ {y ∈ On∣A ∈ (R1 ‘suc y)}
96 eleq1 1149 . . . . 5 (B = (rank ‘A) → (B ∈ {y ∈ On∣A ∈ (R1 ‘suc y)} ↔ (rank ‘A) ∈ {y ∈ On∣A ∈ (R1 ‘suc y)}))
9795, 96mpbiri 169 . . . 4 (B = (rank ‘A) → B ∈ {y ∈ On∣A ∈ (R1 ‘suc y)})
98 suceq 2288 . . . . . . . 8 (y = B → suc y = suc B)
9998fveq2d 2836 . . . . . . 7 (y = B → (R1 ‘suc y) = (R1 ‘suc B))
10099eleq2d 1156 . . . . . 6 (y = B → (A ∈ (R1 ‘suc y) ↔ A ∈ (R1 ‘suc B)))
101100elrab 1422 . . . . 5 (B ∈ {y ∈ On∣A ∈ (R1 ‘suc y)} ↔ (B ∈ On ∧ A ∈ (R1 ‘suc B)))
102101pm3.27bd 263 . . . 4 (B ∈ {y ∈ On∣A ∈ (R1 ‘suc y)} → A ∈ (R1 ‘suc B))
10397, 102syl 12 . . 3 (B = (rank ‘A) → A ∈ (R1 ‘suc B))
10487, 103jca 236 . 2 (B = (rank ‘A) → (¬ A ∈ (R1B) ∧ A ∈ (R1 ‘suc B)))
10528rankr1lem 3517 . . . . . 6 (B ∈ On → (¬ A ∈ (R1B) → B ⊆ (rank ‘A)))
106105com12 13 . . . . 5 A ∈ (R1B) → (B ∈ On → B ⊆ (rank ‘A)))
107 ndmfv 2848 . . . . . . . . 9 (¬ suc B ∈ dom R1 → (R1 ‘suc B) = ∅)
108107eleq2d 1156 . . . . . . . 8 (¬ suc B ∈ dom R1 → (A ∈ (R1 ‘suc B) ↔ A ∈ ∅))
1096, 108mtbiri 539 . . . . . . 7 (¬ suc B ∈ dom R1 → ¬ A ∈ (R1 ‘suc B))
110109a3i 69 . . . . . 6 (A ∈ (R1 ‘suc B) → suc B ∈ dom R1)
111 r1fnon 3494 . . . . . . . . 9 R1 Fn On
112 fndm 2723 . . . . . . . . 9 (R1 Fn On → dom R1 = On)
113111, 112ax-mp 6 . . . . . . . 8 dom R1 = On
114113eleq2i 1153 . . . . . . 7 (suc B ∈ dom R1 ↔ suc B ∈ On)
115 sucelon 2319 . . . . . . 7 (B ∈ On ↔ suc B ∈ On)
116114, 115bitr4 154 . . . . . 6 (suc B ∈ dom R1B ∈ On)
117110, 116sylib 173 . . . . 5 (A ∈ (R1 ‘suc B) → B ∈ On)
118106, 117syl5 22 . . . 4 A ∈ (R1B) → (A ∈ (R1 ‘suc B) → B ⊆ (rank ‘A)))
119118imp 277 . . 3 ((¬ A ∈ (R1B) ∧ A ∈ (R1 ‘suc B)) → B ⊆ (rank ‘A))
120100onintss 2266 . . . . . 6 (B ∈ On → (A ∈ (R1 ‘suc B) → {y ∈ On∣A ∈ (R1 ‘suc y)} ⊆ B))
121117, 120mpcom 49 . . . . 5 (A ∈ (R1 ‘suc B) → {y ∈ On∣A ∈ (R1 ‘suc y)} ⊆ B)
122121, 29syl5ss 1544 . . . 4 (A ∈ (R1 ‘suc B) → (rank ‘A) ⊆ B)
123122adantl 305 . . 3 ((¬ A ∈ (R1B) ∧ A ∈ (R1 ‘suc B)) → (rank ‘A) ⊆ B)
124119, 123eqssd 1518 . 2 ((¬ A ∈ (R1B) ∧ A ∈ (R1 ‘suc B)) → B = (rank ‘A))
125104, 124impbi 139 1 (B = (rank ‘A) ↔ (¬ A ∈ (R1B) ∧ A ∈ (R1 ‘suc B)))
Colors of variables: wff set class
Syntax hints:  ¬ wn 1   → wi 2   ↔ wb 127   ∧ wa 196   ∨ w3o 580   = weq 797   = wceq 1091   ∈ wcel 1092  ∃wrex 1202  {crab 1204  Vcvv 1348   ⊆ wss 1487  ∅c0 1707  cint 1965  ciun 1994  Ord word 2198  Oncon0 2199  Lim wlim 2200  suc csuc 2201  dom cdm 2410   Fn wfn 2417   ‘cfv 2422  R1cr1 3485  rankcrnk 3486
This theorem is referenced by:  rankr1g 3519  ssrankr1 3520  rankpw 3528
This theorem was proved from axioms:  ax-1 3  ax-2 4  ax-3 5  ax-mp 6  ax-4 673  ax-5 674  ax-6 675  ax-7 676  ax-gen 677  ax-8 798  ax-9 799  ax-10 800  ax-11 801  ax-12 802  ax-13 804  ax-14 805  ax-16 922  ax-17 925  ax-ext 1074  ax-rep 1075  ax-un 1076  ax-pow 1077  ax-reg 1078  ax-inf 1079
This theorem depends on definitions:  df-bi 128  df-or 197  df-an 198  df-3or 582  df-3an 583  df-ex 679  df-sb 853  df-eu 1009  df-mo 1010  df-clab 1093  df-cleq 1097  df-clel 1099  df-ne 1192  df-ral 1205  df-rex 1206  df-rab 1208  df-v 1349  df-sbc 1441  df-dif 1489  df-un 1490  df-in 1491  df-ss 1492  df-pss 1494  df-nul 1708  df-if 1777  df-pw 1799  df-sn 1811  df-pr 1812  df-tp 1814  df-op 1815  df-uni 1920  df-int 1966  df-iun 1996  df-tr 2042  df-br 2063  df-opab 2098  df-eprel 2122  df-id 2125  df-po 2128  df-so 2138  df-fr 2169  df-we 2186  df-ord 2202  df-on 2203  df-lim 2204  df-suc 2205  df-om 2373  df-xp 2424  df-rel 2425  df-cnv 2426  df-co 2427  df-dm 2428  df-rn 2429  df-res 2430  df-ima 2431  df-fun 2432  df-fn 2433  df-f 2434  df-f1 2435  df-fv 2438  df-rdg 2970  df-r1 3487  df-rank 3488
metamath.org