Proof of Theorem rankr1
| Step | Hyp | Ref
| Expression |
| 1 | | rankon 3515 |
. . . . 5
⊢ (rank ‘A) ∈ On |
| 2 | | eleq1 1149 |
. . . . 5
⊢ (B =
(rank ‘A) → (B ∈ On ↔ (rank ‘A) ∈ On)) |
| 3 | 1, 2 | mpbiri 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 =
∅ → (R1 ‘B) = (R1
‘∅)) |
| 8 | | r10 3495 |
. . . . . . . . . . 11
⊢ (R1 ‘∅) =
∅ |
| 9 | 7, 8 | syl6eq 1140 |
. . . . . . . . . 10
⊢ (B =
∅ → (R1 ‘B) = ∅) |
| 10 | 9 | eleq2d 1156 |
. . . . . . . . 9
⊢ (B =
∅ → (A ∈
(R1 ‘B) ↔
A ∈ ∅)) |
| 11 | 6, 10 | mtbiri 539 |
. . . . . . . 8
⊢ (B =
∅ → ¬ A ∈
(R1 ‘B)) |
| 12 | 11 | a1d 14 |
. . . . . . 7
⊢ (B =
∅ → (B = (rank ‘A) → ¬ A ∈ (R1 ‘B))) |
| 13 | | visset 1350 |
. . . . . . . . . . . . . . 15
⊢ x
∈ V |
| 14 | 13 | sucid 2304 |
. . . . . . . . . . . . . 14
⊢ x
∈ suc x |
| 15 | | eleq2 1150 |
. . . . . . . . . . . . . 14
⊢ (B =
suc x → (x ∈ B
↔ x ∈ suc x)) |
| 16 | 14, 15 | mpbiri 169 |
. . . . . . . . . . . . 13
⊢ (B =
suc x → x ∈ B) |
| 17 | 16 | adantl 305 |
. . . . . . . . . . . 12
⊢ ((x
∈ On ∧ B = suc x) → x
∈ B) |
| 18 | | ontri1 2232 |
. . . . . . . . . . . . . 14
⊢ ((B
∈ On ∧ x ∈ On) →
(B ⊆ x ↔ ¬ x
∈ B)) |
| 19 | 18 | bicon2d 404 |
. . . . . . . . . . . . 13
⊢ ((B
∈ On ∧ x ∈ On) →
(x ∈ B ↔ ¬ B
⊆ x)) |
| 20 | | eleq1a 1158 |
. . . . . . . . . . . . . . 15
⊢ (suc x
∈ On → (B = suc x → B
∈ On)) |
| 21 | 20 | imp 277 |
. . . . . . . . . . . . . 14
⊢ ((suc x ∈ On ∧ B = suc x)
→ B ∈ On) |
| 22 | | suceloni 2314 |
. . . . . . . . . . . . . 14
⊢ (x
∈ On → suc x ∈ On) |
| 23 | 21, 22 | sylan 343 |
. . . . . . . . . . . . 13
⊢ ((x
∈ On ∧ B = suc x) → B
∈ On) |
| 24 | | pm3.26 256 |
. . . . . . . . . . . . 13
⊢ ((x
∈ On ∧ B = suc x) → x
∈ On) |
| 25 | 19, 23, 24 | sylanc 361 |
. . . . . . . . . . . 12
⊢ ((x
∈ On ∧ B = suc x) → (x
∈ B ↔ ¬ B ⊆ x)) |
| 26 | 17, 25 | mpbid 170 |
. . . . . . . . . . 11
⊢ ((x
∈ On ∧ B = suc x) → ¬ B ⊆ x) |
| 27 | 26 | adantr 306 |
. . . . . . . . . 10
⊢ (((x
∈ On ∧ B = suc x) ∧ B =
(rank ‘A)) → ¬ B ⊆ x) |
| 28 | | rankr1.1 |
. . . . . . . . . . . . . . . . . . 19
⊢ A
∈ V |
| 29 | 28 | rankval 3512 |
. . . . . . . . . . . . . . . . . 18
⊢ (rank ‘A) = ∩{y ∈ On∣A ∈ (R1 ‘suc y)} |
| 30 | 29 | cleq2i 1111 |
. . . . . . . . . . . . . . . . 17
⊢ (B =
(rank ‘A) ↔ B = ∩{y ∈ On∣A ∈ (R1 ‘suc y)}) |
| 31 | 30 | biimp 133 |
. . . . . . . . . . . . . . . 16
⊢ (B =
(rank ‘A) → B = ∩{y ∈ On∣A ∈ (R1 ‘suc y)}) |
| 32 | 31 | sseq1d 1527 |
. . . . . . . . . . . . . . 15
⊢ (B =
(rank ‘A) → (B ⊆ x
↔ ∩{y
∈ On∣A ∈
(R1 ‘suc y)}
⊆ x)) |
| 33 | | suceq 2288 |
. . . . . . . . . . . . . . . . . . 19
⊢ (y =
x → suc y = suc x) |
| 34 | 33 | fveq2d 2836 |
. . . . . . . . . . . . . . . . . 18
⊢ (y =
x → (R1 ‘suc
y) = (R1 ‘suc
x)) |
| 35 | 34 | eleq2d 1156 |
. . . . . . . . . . . . . . . . 17
⊢ (y =
x → (A ∈ (R1 ‘suc y) ↔ A
∈ (R1 ‘suc x))) |
| 36 | 35 | onintss 2266 |
. . . . . . . . . . . . . . . 16
⊢ (x
∈ On → (A ∈
(R1 ‘suc x) →
∩{y ∈
On∣A ∈ (R1
‘suc y)} ⊆ x)) |
| 37 | 36 | imp 277 |
. . . . . . . . . . . . . . 15
⊢ ((x
∈ On ∧ A ∈
(R1 ‘suc x)) →
∩{y ∈
On∣A ∈ (R1
‘suc y)} ⊆ x) |
| 38 | 32, 37 | syl5bir 184 |
. . . . . . . . . . . . . 14
⊢ (B =
(rank ‘A) → ((x ∈ On ∧ A ∈ (R1 ‘suc x)) → B
⊆ x)) |
| 39 | | fveq2 2832 |
. . . . . . . . . . . . . . . 16
⊢ (B =
suc x → (R1
‘B) = (R1
‘suc x)) |
| 40 | 39 | eleq2d 1156 |
. . . . . . . . . . . . . . 15
⊢ (B =
suc x → (A ∈ (R1 ‘B) ↔ A
∈ (R1 ‘suc x))) |
| 41 | 40 | biimpa 324 |
. . . . . . . . . . . . . 14
⊢ ((B =
suc x ∧ A ∈ (R1 ‘B)) → A
∈ (R1 ‘suc x)) |
| 42 | 38, 41 | sylan2i 357 |
. . . . . . . . . . . . 13
⊢ (B =
(rank ‘A) → ((x ∈ On ∧ (B = suc x ∧
A ∈ (R1
‘B))) → B ⊆ x)) |
| 43 | 42 | exp4d 298 |
. . . . . . . . . . . 12
⊢ (B =
(rank ‘A) → (x ∈ On → (B = suc x →
(A ∈ (R1
‘B) → B ⊆ x)))) |
| 44 | 43 | com3l 34 |
. . . . . . . . . . 11
⊢ (x
∈ On → (B = suc x → (B =
(rank ‘A) → (A ∈ (R1 ‘B) → B
⊆ x)))) |
| 45 | 44 | imp31 280 |
. . . . . . . . . 10
⊢ (((x
∈ On ∧ B = suc x) ∧ B =
(rank ‘A)) → (A ∈ (R1 ‘B) → B
⊆ x)) |
| 46 | 27, 45 | mtod 95 |
. . . . . . . . 9
⊢ (((x
∈ On ∧ B = suc x) ∧ B =
(rank ‘A)) → ¬ A ∈ (R1 ‘B)) |
| 47 | 46 | exp31 293 |
. . . . . . . 8
⊢ (x
∈ On → (B = suc x → (B =
(rank ‘A) → ¬ A ∈ (R1 ‘B)))) |
| 48 | 47 | r19.23aiv 1284 |
. . . . . . 7
⊢ (∃x ∈ On B =
suc x → (B = (rank ‘A) → ¬ A ∈ (R1 ‘B))) |
| 49 | | eleq2 1150 |
. . . . . . . . . . . . . . . . . . 19
⊢ (B =
(rank ‘A) → (x ∈ B
↔ x ∈ (rank ‘A))) |
| 50 | 1 | onel 2346 |
. . . . . . . . . . . . . . . . . . 19
⊢ (x
∈ (rank ‘A) → x ∈ On) |
| 51 | 49, 50 | syl6bi 187 |
. . . . . . . . . . . . . . . . . 18
⊢ (B =
(rank ‘A) → (x ∈ B
→ x ∈ On)) |
| 52 | 51 | anc2li 250 |
. . . . . . . . . . . . . . . . 17
⊢ (B =
(rank ‘A) → (x ∈ B
→ (B = (rank ‘A) ∧ x
∈ On))) |
| 53 | | r1ord2 3500 |
. . . . . . . . . . . . . . . . . . . . . . 23
⊢ (suc x
∈ On → (x ∈ suc x → (R1 ‘x) ⊆ (R1 ‘suc x))) |
| 54 | 14, 53 | mpi 44 |
. . . . . . . . . . . . . . . . . . . . . 22
⊢ (suc x
∈ On → (R1 ‘x) ⊆ (R1 ‘suc x)) |
| 55 | 22, 54 | syl 12 |
. . . . . . . . . . . . . . . . . . . . 21
⊢ (x
∈ On → (R1 ‘x) ⊆ (R1 ‘suc x)) |
| 56 | 55 | sseld 1506 |
. . . . . . . . . . . . . . . . . . . 20
⊢ (x
∈ On → (A ∈
(R1 ‘x) →
A ∈ (R1 ‘suc
x))) |
| 57 | 29 | sseq1i 1524 |
. . . . . . . . . . . . . . . . . . . . 21
⊢ ((rank ‘A) ⊆ x
↔ ∩{y
∈ On∣A ∈
(R1 ‘suc y)}
⊆ x) |
| 58 | 36, 57 | syl6ibr 186 |
. . . . . . . . . . . . . . . . . . . 20
⊢ (x
∈ On → (A ∈
(R1 ‘suc x) →
(rank ‘A) ⊆ x)) |
| 59 | 56, 58 | syld 27 |
. . . . . . . . . . . . . . . . . . 19
⊢ (x
∈ On → (A ∈
(R1 ‘x) →
(rank ‘A) ⊆ x)) |
| 60 | | sseq1 1521 |
. . . . . . . . . . . . . . . . . . . 20
⊢ (B =
(rank ‘A) → (B ⊆ x
↔ (rank ‘A) ⊆ x)) |
| 61 | 60 | biimprd 136 |
. . . . . . . . . . . . . . . . . . 19
⊢ (B =
(rank ‘A) → ((rank
‘A) ⊆ x → B
⊆ x)) |
| 62 | 59, 61 | sylan9r 360 |
. . . . . . . . . . . . . . . . . 18
⊢ ((B =
(rank ‘A) ∧ x ∈ On) → (A ∈ (R1 ‘x) → B
⊆ x)) |
| 63 | 18, 3 | sylan 343 |
. . . . . . . . . . . . . . . . . 18
⊢ ((B =
(rank ‘A) ∧ x ∈ On) → (B ⊆ x
↔ ¬ x ∈ B)) |
| 64 | 62, 63 | sylibd 177 |
. . . . . . . . . . . . . . . . 17
⊢ ((B =
(rank ‘A) ∧ x ∈ On) → (A ∈ (R1 ‘x) → ¬ x ∈ B)) |
| 65 | 52, 64 | syl6 23 |
. . . . . . . . . . . . . . . 16
⊢ (B =
(rank ‘A) → (x ∈ B
→ (A ∈ (R1
‘x) → ¬ x ∈ B))) |
| 66 | 65 | com3l 34 |
. . . . . . . . . . . . . . 15
⊢ (x
∈ B → (A ∈ (R1 ‘x) → (B =
(rank ‘A) → ¬ x ∈ B))) |
| 67 | | con2 82 |
. . . . . . . . . . . . . . 15
⊢ ((B =
(rank ‘A) → ¬ x ∈ B)
→ (x ∈ B → ¬ B
= (rank ‘A))) |
| 68 | 66, 67 | syl6 23 |
. . . . . . . . . . . . . 14
⊢ (x
∈ B → (A ∈ (R1 ‘x) → (x
∈ B → ¬ B = (rank ‘A)))) |
| 69 | 68 | pm2.43a 60 |
. . . . . . . . . . . . 13
⊢ (x
∈ B → (A ∈ (R1 ‘x) → ¬ B = (rank ‘A))) |
| 70 | 69 | r19.23aiv 1284 |
. . . . . . . . . . . 12
⊢ (∃x ∈ B
A ∈ (R1
‘x) → ¬ B = (rank ‘A)) |
| 71 | 70 | con2i 89 |
. . . . . . . . . . 11
⊢ (B =
(rank ‘A) → ¬
∃x ∈ B A ∈
(R1 ‘x)) |
| 72 | 71 | adantr 306 |
. . . . . . . . . 10
⊢ ((B =
(rank ‘A) ∧ Lim B) → ¬ ∃x ∈ B
A ∈ (R1
‘x)) |
| 73 | | r1lim 3497 |
. . . . . . . . . . . . 13
⊢ ((B
∈ V ∧ Lim B) →
(R1 ‘B) = ∪x ∈ B (R1 ‘x)) |
| 74 | | fvex 2838 |
. . . . . . . . . . . . . 14
⊢ (rank ‘A) ∈ V |
| 75 | | eleq1 1149 |
. . . . . . . . . . . . . 14
⊢ (B =
(rank ‘A) → (B ∈ V ↔ (rank ‘A) ∈ V)) |
| 76 | 74, 75 | mpbiri 169 |
. . . . . . . . . . . . 13
⊢ (B =
(rank ‘A) → B ∈ V) |
| 77 | 73, 76 | sylan 343 |
. . . . . . . . . . . 12
⊢ ((B =
(rank ‘A) ∧ Lim B) → (R1 ‘B) = ∪x ∈ B
(R1 ‘x)) |
| 78 | 77 | eleq2d 1156 |
. . . . . . . . . . 11
⊢ ((B =
(rank ‘A) ∧ Lim B) → (A
∈ (R1 ‘B)
↔ A ∈ ∪x ∈ B (R1 ‘x))) |
| 79 | | eliun 1998 |
. . . . . . . . . . 11
⊢ (A
∈ ∪x ∈
B (R1 ‘x) ↔ ∃x ∈ B
A ∈ (R1
‘x)) |
| 80 | 78, 79 | syl6bb 414 |
. . . . . . . . . 10
⊢ ((B =
(rank ‘A) ∧ Lim B) → (A
∈ (R1 ‘B)
↔ ∃x ∈ B A ∈
(R1 ‘x))) |
| 81 | 72, 80 | mtbird 537 |
. . . . . . . . 9
⊢ ((B =
(rank ‘A) ∧ Lim B) → ¬ A ∈ (R1 ‘B)) |
| 82 | 81 | exp 291 |
. . . . . . . 8
⊢ (B =
(rank ‘A) → (Lim B → ¬ A
∈ (R1 ‘B))) |
| 83 | 82 | com12 13 |
. . . . . . 7
⊢ (Lim B
→ (B = (rank ‘A) → ¬ A ∈ (R1 ‘B))) |
| 84 | 12, 48, 83 | 3jaoi 633 |
. . . . . 6
⊢ ((B =
∅ ∨ ∃x ∈ On B = suc x ∨
Lim B) → (B = (rank ‘A) → ¬ A ∈ (R1 ‘B))) |
| 85 | 5, 84 | sylbi 174 |
. . . . 5
⊢ (Ord B
→ (B = (rank ‘A) → ¬ A ∈ (R1 ‘B))) |
| 86 | 4, 85 | syl 12 |
. . . 4
⊢ (B
∈ On → (B = (rank ‘A) → ¬ A ∈ (R1 ‘B))) |
| 87 | 3, 86 | mpcom 49 |
. . 3
⊢ (B =
(rank ‘A) → ¬ A ∈ (R1 ‘B)) |
| 88 | | ssrab 1556 |
. . . . . . 7
⊢ {y
∈ On∣A ∈
(R1 ‘suc y)}
⊆ On |
| 89 | | rankwflem 3509 |
. . . . . . . . 9
⊢ (A
∈ V → ∃y ∈ On
A ∈ (R1 ‘suc
y)) |
| 90 | 28, 89 | ax-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)) |
| 92 | 90, 91 | mpbir 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)}) |
| 94 | 88, 92, 93 | mp2an 520 |
. . . . . 6
⊢ ∩{y ∈ On∣A ∈ (R1 ‘suc y)} ∈ {y
∈ On∣A ∈
(R1 ‘suc y)} |
| 95 | 29, 94 | eqeltr 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)})) |
| 97 | 95, 96 | mpbiri 169 |
. . . 4
⊢ (B =
(rank ‘A) → B ∈ {y
∈ On∣A ∈
(R1 ‘suc y)}) |
| 98 | | suceq 2288 |
. . . . . . . 8
⊢ (y =
B → suc y = suc B) |
| 99 | 98 | fveq2d 2836 |
. . . . . . 7
⊢ (y =
B → (R1 ‘suc
y) = (R1 ‘suc
B)) |
| 100 | 99 | eleq2d 1156 |
. . . . . 6
⊢ (y =
B → (A ∈ (R1 ‘suc y) ↔ A
∈ (R1 ‘suc B))) |
| 101 | 100 | elrab 1422 |
. . . . 5
⊢ (B
∈ {y ∈ On∣A ∈ (R1 ‘suc y)} ↔ (B
∈ On ∧ A ∈
(R1 ‘suc B))) |
| 102 | 101 | pm3.27bd 263 |
. . . 4
⊢ (B
∈ {y ∈ On∣A ∈ (R1 ‘suc y)} → A
∈ (R1 ‘suc B)) |
| 103 | 97, 102 | syl 12 |
. . 3
⊢ (B =
(rank ‘A) → A ∈ (R1 ‘suc B)) |
| 104 | 87, 103 | jca 236 |
. 2
⊢ (B =
(rank ‘A) → (¬ A ∈ (R1 ‘B) ∧ A
∈ (R1 ‘suc B))) |
| 105 | 28 | rankr1lem 3517 |
. . . . . 6
⊢ (B
∈ On → (¬ A ∈
(R1 ‘B) →
B ⊆ (rank ‘A))) |
| 106 | 105 | com12 13 |
. . . . 5
⊢ (¬ A ∈ (R1 ‘B) → (B
∈ On → B ⊆ (rank
‘A))) |
| 107 | | ndmfv 2848 |
. . . . . . . . 9
⊢ (¬ suc B ∈ dom R1 →
(R1 ‘suc B) =
∅) |
| 108 | 107 | eleq2d 1156 |
. . . . . . . 8
⊢ (¬ suc B ∈ dom R1 → (A ∈ (R1 ‘suc B) ↔ A
∈ ∅)) |
| 109 | 6, 108 | mtbiri 539 |
. . . . . . 7
⊢ (¬ suc B ∈ dom R1 → ¬
A ∈ (R1 ‘suc
B)) |
| 110 | 109 | a3i 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) |
| 113 | 111, 112 | ax-mp 6 |
. . . . . . . 8
⊢ dom R1 = On |
| 114 | 113 | eleq2i 1153 |
. . . . . . 7
⊢ (suc B
∈ dom R1 ↔ suc B ∈ On) |
| 115 | | sucelon 2319 |
. . . . . . 7
⊢ (B
∈ On ↔ suc B ∈ On) |
| 116 | 114, 115 | bitr4 154 |
. . . . . 6
⊢ (suc B
∈ dom R1 ↔ B
∈ On) |
| 117 | 110, 116 | sylib 173 |
. . . . 5
⊢ (A
∈ (R1 ‘suc B)
→ B ∈ On) |
| 118 | 106, 117 | syl5 22 |
. . . 4
⊢ (¬ A ∈ (R1 ‘B) → (A
∈ (R1 ‘suc B)
→ B ⊆ (rank ‘A))) |
| 119 | 118 | imp 277 |
. . 3
⊢ ((¬ A ∈ (R1 ‘B) ∧ A
∈ (R1 ‘suc B))
→ B ⊆ (rank ‘A)) |
| 120 | 100 | onintss 2266 |
. . . . . 6
⊢ (B
∈ On → (A ∈
(R1 ‘suc B) →
∩{y ∈
On∣A ∈ (R1
‘suc y)} ⊆ B)) |
| 121 | 117, 120 | mpcom 49 |
. . . . 5
⊢ (A
∈ (R1 ‘suc B)
→ ∩{y
∈ On∣A ∈
(R1 ‘suc y)}
⊆ B) |
| 122 | 121, 29 | syl5ss 1544 |
. . . 4
⊢ (A
∈ (R1 ‘suc B)
→ (rank ‘A) ⊆ B) |
| 123 | 122 | adantl 305 |
. . 3
⊢ ((¬ A ∈ (R1 ‘B) ∧ A
∈ (R1 ‘suc B))
→ (rank ‘A) ⊆ B) |
| 124 | 119, 123 | eqssd 1518 |
. 2
⊢ ((¬ A ∈ (R1 ‘B) ∧ A
∈ (R1 ‘suc B))
→ B = (rank ‘A)) |
| 125 | 104, 124 | impbi 139 |
1
⊢ (B =
(rank ‘A) ↔ (¬ A ∈ (R1 ‘B) ∧ A
∈ (R1 ‘suc B))) |