| Step |
Hyp |
Ref |
Expression |
| 1 |
|
efgval.w |
|- W = ( _I ` Word ( I X. 2o ) ) |
| 2 |
|
efgval.r |
|- .~ = ( ~FG ` I ) |
| 3 |
|
efgval2.m |
|- M = ( y e. I , z e. 2o |-> <. y , ( 1o \ z ) >. ) |
| 4 |
|
efgval2.t |
|- T = ( v e. W |-> ( n e. ( 0 ... ( # ` v ) ) , w e. ( I X. 2o ) |-> ( v splice <. n , n , <" w ( M ` w ) "> >. ) ) ) |
| 5 |
|
efgred.d |
|- D = ( W \ U_ x e. W ran ( T ` x ) ) |
| 6 |
|
efgred.s |
|- S = ( m e. { t e. ( Word W \ { (/) } ) | ( ( t ` 0 ) e. D /\ A. k e. ( 1 ..^ ( # ` t ) ) ( t ` k ) e. ran ( T ` ( t ` ( k - 1 ) ) ) ) } |-> ( m ` ( ( # ` m ) - 1 ) ) ) |
| 7 |
1 2 3 4 5 6
|
efgsf |
|- S : { t e. ( Word W \ { (/) } ) | ( ( t ` 0 ) e. D /\ A. k e. ( 1 ..^ ( # ` t ) ) ( t ` k ) e. ran ( T ` ( t ` ( k - 1 ) ) ) ) } --> W |
| 8 |
7
|
fdmi |
|- dom S = { t e. ( Word W \ { (/) } ) | ( ( t ` 0 ) e. D /\ A. k e. ( 1 ..^ ( # ` t ) ) ( t ` k ) e. ran ( T ` ( t ` ( k - 1 ) ) ) ) } |
| 9 |
8
|
feq2i |
|- ( S : dom S --> W <-> S : { t e. ( Word W \ { (/) } ) | ( ( t ` 0 ) e. D /\ A. k e. ( 1 ..^ ( # ` t ) ) ( t ` k ) e. ran ( T ` ( t ` ( k - 1 ) ) ) ) } --> W ) |
| 10 |
7 9
|
mpbir |
|- S : dom S --> W |
| 11 |
|
frn |
|- ( S : dom S --> W -> ran S C_ W ) |
| 12 |
10 11
|
ax-mp |
|- ran S C_ W |
| 13 |
|
fviss |
|- ( _I ` Word ( I X. 2o ) ) C_ Word ( I X. 2o ) |
| 14 |
1 13
|
eqsstri |
|- W C_ Word ( I X. 2o ) |
| 15 |
14
|
sseli |
|- ( c e. W -> c e. Word ( I X. 2o ) ) |
| 16 |
|
lencl |
|- ( c e. Word ( I X. 2o ) -> ( # ` c ) e. NN0 ) |
| 17 |
15 16
|
syl |
|- ( c e. W -> ( # ` c ) e. NN0 ) |
| 18 |
|
peano2nn0 |
|- ( ( # ` c ) e. NN0 -> ( ( # ` c ) + 1 ) e. NN0 ) |
| 19 |
14
|
sseli |
|- ( a e. W -> a e. Word ( I X. 2o ) ) |
| 20 |
|
lencl |
|- ( a e. Word ( I X. 2o ) -> ( # ` a ) e. NN0 ) |
| 21 |
19 20
|
syl |
|- ( a e. W -> ( # ` a ) e. NN0 ) |
| 22 |
|
nn0nlt0 |
|- ( ( # ` a ) e. NN0 -> -. ( # ` a ) < 0 ) |
| 23 |
|
breq2 |
|- ( b = 0 -> ( ( # ` a ) < b <-> ( # ` a ) < 0 ) ) |
| 24 |
23
|
notbid |
|- ( b = 0 -> ( -. ( # ` a ) < b <-> -. ( # ` a ) < 0 ) ) |
| 25 |
22 24
|
imbitrrid |
|- ( b = 0 -> ( ( # ` a ) e. NN0 -> -. ( # ` a ) < b ) ) |
| 26 |
21 25
|
syl5 |
|- ( b = 0 -> ( a e. W -> -. ( # ` a ) < b ) ) |
| 27 |
26
|
ralrimiv |
|- ( b = 0 -> A. a e. W -. ( # ` a ) < b ) |
| 28 |
|
rabeq0 |
|- ( { a e. W | ( # ` a ) < b } = (/) <-> A. a e. W -. ( # ` a ) < b ) |
| 29 |
27 28
|
sylibr |
|- ( b = 0 -> { a e. W | ( # ` a ) < b } = (/) ) |
| 30 |
29
|
sseq1d |
|- ( b = 0 -> ( { a e. W | ( # ` a ) < b } C_ ran S <-> (/) C_ ran S ) ) |
| 31 |
|
breq2 |
|- ( b = d -> ( ( # ` a ) < b <-> ( # ` a ) < d ) ) |
| 32 |
31
|
rabbidv |
|- ( b = d -> { a e. W | ( # ` a ) < b } = { a e. W | ( # ` a ) < d } ) |
| 33 |
32
|
sseq1d |
|- ( b = d -> ( { a e. W | ( # ` a ) < b } C_ ran S <-> { a e. W | ( # ` a ) < d } C_ ran S ) ) |
| 34 |
|
breq2 |
|- ( b = ( d + 1 ) -> ( ( # ` a ) < b <-> ( # ` a ) < ( d + 1 ) ) ) |
| 35 |
34
|
rabbidv |
|- ( b = ( d + 1 ) -> { a e. W | ( # ` a ) < b } = { a e. W | ( # ` a ) < ( d + 1 ) } ) |
| 36 |
35
|
sseq1d |
|- ( b = ( d + 1 ) -> ( { a e. W | ( # ` a ) < b } C_ ran S <-> { a e. W | ( # ` a ) < ( d + 1 ) } C_ ran S ) ) |
| 37 |
|
breq2 |
|- ( b = ( ( # ` c ) + 1 ) -> ( ( # ` a ) < b <-> ( # ` a ) < ( ( # ` c ) + 1 ) ) ) |
| 38 |
37
|
rabbidv |
|- ( b = ( ( # ` c ) + 1 ) -> { a e. W | ( # ` a ) < b } = { a e. W | ( # ` a ) < ( ( # ` c ) + 1 ) } ) |
| 39 |
38
|
sseq1d |
|- ( b = ( ( # ` c ) + 1 ) -> ( { a e. W | ( # ` a ) < b } C_ ran S <-> { a e. W | ( # ` a ) < ( ( # ` c ) + 1 ) } C_ ran S ) ) |
| 40 |
|
0ss |
|- (/) C_ ran S |
| 41 |
|
simpr |
|- ( ( d e. NN0 /\ { a e. W | ( # ` a ) < d } C_ ran S ) -> { a e. W | ( # ` a ) < d } C_ ran S ) |
| 42 |
|
fveqeq2 |
|- ( a = c -> ( ( # ` a ) = d <-> ( # ` c ) = d ) ) |
| 43 |
42
|
cbvrabv |
|- { a e. W | ( # ` a ) = d } = { c e. W | ( # ` c ) = d } |
| 44 |
|
eliun |
|- ( c e. U_ x e. W ran ( T ` x ) <-> E. x e. W c e. ran ( T ` x ) ) |
| 45 |
|
fveq2 |
|- ( x = b -> ( T ` x ) = ( T ` b ) ) |
| 46 |
45
|
rneqd |
|- ( x = b -> ran ( T ` x ) = ran ( T ` b ) ) |
| 47 |
46
|
eleq2d |
|- ( x = b -> ( c e. ran ( T ` x ) <-> c e. ran ( T ` b ) ) ) |
| 48 |
47
|
cbvrexvw |
|- ( E. x e. W c e. ran ( T ` x ) <-> E. b e. W c e. ran ( T ` b ) ) |
| 49 |
44 48
|
bitri |
|- ( c e. U_ x e. W ran ( T ` x ) <-> E. b e. W c e. ran ( T ` b ) ) |
| 50 |
|
simpl1r |
|- ( ( ( ( d e. NN0 /\ { a e. W | ( # ` a ) < d } C_ ran S ) /\ c e. W /\ ( # ` c ) = d ) /\ ( b e. W /\ c e. ran ( T ` b ) ) ) -> { a e. W | ( # ` a ) < d } C_ ran S ) |
| 51 |
|
fveq2 |
|- ( a = b -> ( # ` a ) = ( # ` b ) ) |
| 52 |
51
|
breq1d |
|- ( a = b -> ( ( # ` a ) < d <-> ( # ` b ) < d ) ) |
| 53 |
|
simprl |
|- ( ( ( ( d e. NN0 /\ { a e. W | ( # ` a ) < d } C_ ran S ) /\ c e. W /\ ( # ` c ) = d ) /\ ( b e. W /\ c e. ran ( T ` b ) ) ) -> b e. W ) |
| 54 |
14 53
|
sselid |
|- ( ( ( ( d e. NN0 /\ { a e. W | ( # ` a ) < d } C_ ran S ) /\ c e. W /\ ( # ` c ) = d ) /\ ( b e. W /\ c e. ran ( T ` b ) ) ) -> b e. Word ( I X. 2o ) ) |
| 55 |
|
lencl |
|- ( b e. Word ( I X. 2o ) -> ( # ` b ) e. NN0 ) |
| 56 |
54 55
|
syl |
|- ( ( ( ( d e. NN0 /\ { a e. W | ( # ` a ) < d } C_ ran S ) /\ c e. W /\ ( # ` c ) = d ) /\ ( b e. W /\ c e. ran ( T ` b ) ) ) -> ( # ` b ) e. NN0 ) |
| 57 |
56
|
nn0red |
|- ( ( ( ( d e. NN0 /\ { a e. W | ( # ` a ) < d } C_ ran S ) /\ c e. W /\ ( # ` c ) = d ) /\ ( b e. W /\ c e. ran ( T ` b ) ) ) -> ( # ` b ) e. RR ) |
| 58 |
|
2rp |
|- 2 e. RR+ |
| 59 |
|
ltaddrp |
|- ( ( ( # ` b ) e. RR /\ 2 e. RR+ ) -> ( # ` b ) < ( ( # ` b ) + 2 ) ) |
| 60 |
57 58 59
|
sylancl |
|- ( ( ( ( d e. NN0 /\ { a e. W | ( # ` a ) < d } C_ ran S ) /\ c e. W /\ ( # ` c ) = d ) /\ ( b e. W /\ c e. ran ( T ` b ) ) ) -> ( # ` b ) < ( ( # ` b ) + 2 ) ) |
| 61 |
1 2 3 4
|
efgtlen |
|- ( ( b e. W /\ c e. ran ( T ` b ) ) -> ( # ` c ) = ( ( # ` b ) + 2 ) ) |
| 62 |
61
|
adantl |
|- ( ( ( ( d e. NN0 /\ { a e. W | ( # ` a ) < d } C_ ran S ) /\ c e. W /\ ( # ` c ) = d ) /\ ( b e. W /\ c e. ran ( T ` b ) ) ) -> ( # ` c ) = ( ( # ` b ) + 2 ) ) |
| 63 |
|
simpl3 |
|- ( ( ( ( d e. NN0 /\ { a e. W | ( # ` a ) < d } C_ ran S ) /\ c e. W /\ ( # ` c ) = d ) /\ ( b e. W /\ c e. ran ( T ` b ) ) ) -> ( # ` c ) = d ) |
| 64 |
62 63
|
eqtr3d |
|- ( ( ( ( d e. NN0 /\ { a e. W | ( # ` a ) < d } C_ ran S ) /\ c e. W /\ ( # ` c ) = d ) /\ ( b e. W /\ c e. ran ( T ` b ) ) ) -> ( ( # ` b ) + 2 ) = d ) |
| 65 |
60 64
|
breqtrd |
|- ( ( ( ( d e. NN0 /\ { a e. W | ( # ` a ) < d } C_ ran S ) /\ c e. W /\ ( # ` c ) = d ) /\ ( b e. W /\ c e. ran ( T ` b ) ) ) -> ( # ` b ) < d ) |
| 66 |
52 53 65
|
elrabd |
|- ( ( ( ( d e. NN0 /\ { a e. W | ( # ` a ) < d } C_ ran S ) /\ c e. W /\ ( # ` c ) = d ) /\ ( b e. W /\ c e. ran ( T ` b ) ) ) -> b e. { a e. W | ( # ` a ) < d } ) |
| 67 |
50 66
|
sseldd |
|- ( ( ( ( d e. NN0 /\ { a e. W | ( # ` a ) < d } C_ ran S ) /\ c e. W /\ ( # ` c ) = d ) /\ ( b e. W /\ c e. ran ( T ` b ) ) ) -> b e. ran S ) |
| 68 |
|
ffn |
|- ( S : dom S --> W -> S Fn dom S ) |
| 69 |
10 68
|
ax-mp |
|- S Fn dom S |
| 70 |
|
fvelrnb |
|- ( S Fn dom S -> ( b e. ran S <-> E. o e. dom S ( S ` o ) = b ) ) |
| 71 |
69 70
|
ax-mp |
|- ( b e. ran S <-> E. o e. dom S ( S ` o ) = b ) |
| 72 |
67 71
|
sylib |
|- ( ( ( ( d e. NN0 /\ { a e. W | ( # ` a ) < d } C_ ran S ) /\ c e. W /\ ( # ` c ) = d ) /\ ( b e. W /\ c e. ran ( T ` b ) ) ) -> E. o e. dom S ( S ` o ) = b ) |
| 73 |
|
simprrl |
|- ( ( ( ( d e. NN0 /\ { a e. W | ( # ` a ) < d } C_ ran S ) /\ c e. W /\ ( # ` c ) = d ) /\ ( ( b e. W /\ c e. ran ( T ` b ) ) /\ ( o e. dom S /\ ( S ` o ) = b ) ) ) -> o e. dom S ) |
| 74 |
1 2 3 4 5 6
|
efgsdm |
|- ( o e. dom S <-> ( o e. ( Word W \ { (/) } ) /\ ( o ` 0 ) e. D /\ A. i e. ( 1 ..^ ( # ` o ) ) ( o ` i ) e. ran ( T ` ( o ` ( i - 1 ) ) ) ) ) |
| 75 |
74
|
simp1bi |
|- ( o e. dom S -> o e. ( Word W \ { (/) } ) ) |
| 76 |
|
eldifi |
|- ( o e. ( Word W \ { (/) } ) -> o e. Word W ) |
| 77 |
73 75 76
|
3syl |
|- ( ( ( ( d e. NN0 /\ { a e. W | ( # ` a ) < d } C_ ran S ) /\ c e. W /\ ( # ` c ) = d ) /\ ( ( b e. W /\ c e. ran ( T ` b ) ) /\ ( o e. dom S /\ ( S ` o ) = b ) ) ) -> o e. Word W ) |
| 78 |
|
simpl2 |
|- ( ( ( ( d e. NN0 /\ { a e. W | ( # ` a ) < d } C_ ran S ) /\ c e. W /\ ( # ` c ) = d ) /\ ( ( b e. W /\ c e. ran ( T ` b ) ) /\ ( o e. dom S /\ ( S ` o ) = b ) ) ) -> c e. W ) |
| 79 |
|
simprlr |
|- ( ( ( ( d e. NN0 /\ { a e. W | ( # ` a ) < d } C_ ran S ) /\ c e. W /\ ( # ` c ) = d ) /\ ( ( b e. W /\ c e. ran ( T ` b ) ) /\ ( o e. dom S /\ ( S ` o ) = b ) ) ) -> c e. ran ( T ` b ) ) |
| 80 |
|
simprrr |
|- ( ( ( ( d e. NN0 /\ { a e. W | ( # ` a ) < d } C_ ran S ) /\ c e. W /\ ( # ` c ) = d ) /\ ( ( b e. W /\ c e. ran ( T ` b ) ) /\ ( o e. dom S /\ ( S ` o ) = b ) ) ) -> ( S ` o ) = b ) |
| 81 |
80
|
fveq2d |
|- ( ( ( ( d e. NN0 /\ { a e. W | ( # ` a ) < d } C_ ran S ) /\ c e. W /\ ( # ` c ) = d ) /\ ( ( b e. W /\ c e. ran ( T ` b ) ) /\ ( o e. dom S /\ ( S ` o ) = b ) ) ) -> ( T ` ( S ` o ) ) = ( T ` b ) ) |
| 82 |
81
|
rneqd |
|- ( ( ( ( d e. NN0 /\ { a e. W | ( # ` a ) < d } C_ ran S ) /\ c e. W /\ ( # ` c ) = d ) /\ ( ( b e. W /\ c e. ran ( T ` b ) ) /\ ( o e. dom S /\ ( S ` o ) = b ) ) ) -> ran ( T ` ( S ` o ) ) = ran ( T ` b ) ) |
| 83 |
79 82
|
eleqtrrd |
|- ( ( ( ( d e. NN0 /\ { a e. W | ( # ` a ) < d } C_ ran S ) /\ c e. W /\ ( # ` c ) = d ) /\ ( ( b e. W /\ c e. ran ( T ` b ) ) /\ ( o e. dom S /\ ( S ` o ) = b ) ) ) -> c e. ran ( T ` ( S ` o ) ) ) |
| 84 |
1 2 3 4 5 6
|
efgsp1 |
|- ( ( o e. dom S /\ c e. ran ( T ` ( S ` o ) ) ) -> ( o ++ <" c "> ) e. dom S ) |
| 85 |
73 83 84
|
syl2anc |
|- ( ( ( ( d e. NN0 /\ { a e. W | ( # ` a ) < d } C_ ran S ) /\ c e. W /\ ( # ` c ) = d ) /\ ( ( b e. W /\ c e. ran ( T ` b ) ) /\ ( o e. dom S /\ ( S ` o ) = b ) ) ) -> ( o ++ <" c "> ) e. dom S ) |
| 86 |
1 2 3 4 5 6
|
efgsval2 |
|- ( ( o e. Word W /\ c e. W /\ ( o ++ <" c "> ) e. dom S ) -> ( S ` ( o ++ <" c "> ) ) = c ) |
| 87 |
77 78 85 86
|
syl3anc |
|- ( ( ( ( d e. NN0 /\ { a e. W | ( # ` a ) < d } C_ ran S ) /\ c e. W /\ ( # ` c ) = d ) /\ ( ( b e. W /\ c e. ran ( T ` b ) ) /\ ( o e. dom S /\ ( S ` o ) = b ) ) ) -> ( S ` ( o ++ <" c "> ) ) = c ) |
| 88 |
|
fnfvelrn |
|- ( ( S Fn dom S /\ ( o ++ <" c "> ) e. dom S ) -> ( S ` ( o ++ <" c "> ) ) e. ran S ) |
| 89 |
69 85 88
|
sylancr |
|- ( ( ( ( d e. NN0 /\ { a e. W | ( # ` a ) < d } C_ ran S ) /\ c e. W /\ ( # ` c ) = d ) /\ ( ( b e. W /\ c e. ran ( T ` b ) ) /\ ( o e. dom S /\ ( S ` o ) = b ) ) ) -> ( S ` ( o ++ <" c "> ) ) e. ran S ) |
| 90 |
87 89
|
eqeltrrd |
|- ( ( ( ( d e. NN0 /\ { a e. W | ( # ` a ) < d } C_ ran S ) /\ c e. W /\ ( # ` c ) = d ) /\ ( ( b e. W /\ c e. ran ( T ` b ) ) /\ ( o e. dom S /\ ( S ` o ) = b ) ) ) -> c e. ran S ) |
| 91 |
90
|
anassrs |
|- ( ( ( ( ( d e. NN0 /\ { a e. W | ( # ` a ) < d } C_ ran S ) /\ c e. W /\ ( # ` c ) = d ) /\ ( b e. W /\ c e. ran ( T ` b ) ) ) /\ ( o e. dom S /\ ( S ` o ) = b ) ) -> c e. ran S ) |
| 92 |
72 91
|
rexlimddv |
|- ( ( ( ( d e. NN0 /\ { a e. W | ( # ` a ) < d } C_ ran S ) /\ c e. W /\ ( # ` c ) = d ) /\ ( b e. W /\ c e. ran ( T ` b ) ) ) -> c e. ran S ) |
| 93 |
92
|
rexlimdvaa |
|- ( ( ( d e. NN0 /\ { a e. W | ( # ` a ) < d } C_ ran S ) /\ c e. W /\ ( # ` c ) = d ) -> ( E. b e. W c e. ran ( T ` b ) -> c e. ran S ) ) |
| 94 |
49 93
|
biimtrid |
|- ( ( ( d e. NN0 /\ { a e. W | ( # ` a ) < d } C_ ran S ) /\ c e. W /\ ( # ` c ) = d ) -> ( c e. U_ x e. W ran ( T ` x ) -> c e. ran S ) ) |
| 95 |
|
eldif |
|- ( c e. ( W \ U_ x e. W ran ( T ` x ) ) <-> ( c e. W /\ -. c e. U_ x e. W ran ( T ` x ) ) ) |
| 96 |
5
|
eleq2i |
|- ( c e. D <-> c e. ( W \ U_ x e. W ran ( T ` x ) ) ) |
| 97 |
1 2 3 4 5 6
|
efgs1 |
|- ( c e. D -> <" c "> e. dom S ) |
| 98 |
96 97
|
sylbir |
|- ( c e. ( W \ U_ x e. W ran ( T ` x ) ) -> <" c "> e. dom S ) |
| 99 |
95 98
|
sylbir |
|- ( ( c e. W /\ -. c e. U_ x e. W ran ( T ` x ) ) -> <" c "> e. dom S ) |
| 100 |
1 2 3 4 5 6
|
efgsval |
|- ( <" c "> e. dom S -> ( S ` <" c "> ) = ( <" c "> ` ( ( # ` <" c "> ) - 1 ) ) ) |
| 101 |
99 100
|
syl |
|- ( ( c e. W /\ -. c e. U_ x e. W ran ( T ` x ) ) -> ( S ` <" c "> ) = ( <" c "> ` ( ( # ` <" c "> ) - 1 ) ) ) |
| 102 |
|
s1len |
|- ( # ` <" c "> ) = 1 |
| 103 |
102
|
oveq1i |
|- ( ( # ` <" c "> ) - 1 ) = ( 1 - 1 ) |
| 104 |
|
1m1e0 |
|- ( 1 - 1 ) = 0 |
| 105 |
103 104
|
eqtri |
|- ( ( # ` <" c "> ) - 1 ) = 0 |
| 106 |
105
|
fveq2i |
|- ( <" c "> ` ( ( # ` <" c "> ) - 1 ) ) = ( <" c "> ` 0 ) |
| 107 |
106
|
a1i |
|- ( ( c e. W /\ -. c e. U_ x e. W ran ( T ` x ) ) -> ( <" c "> ` ( ( # ` <" c "> ) - 1 ) ) = ( <" c "> ` 0 ) ) |
| 108 |
|
s1fv |
|- ( c e. W -> ( <" c "> ` 0 ) = c ) |
| 109 |
108
|
adantr |
|- ( ( c e. W /\ -. c e. U_ x e. W ran ( T ` x ) ) -> ( <" c "> ` 0 ) = c ) |
| 110 |
101 107 109
|
3eqtrd |
|- ( ( c e. W /\ -. c e. U_ x e. W ran ( T ` x ) ) -> ( S ` <" c "> ) = c ) |
| 111 |
|
fnfvelrn |
|- ( ( S Fn dom S /\ <" c "> e. dom S ) -> ( S ` <" c "> ) e. ran S ) |
| 112 |
69 99 111
|
sylancr |
|- ( ( c e. W /\ -. c e. U_ x e. W ran ( T ` x ) ) -> ( S ` <" c "> ) e. ran S ) |
| 113 |
110 112
|
eqeltrrd |
|- ( ( c e. W /\ -. c e. U_ x e. W ran ( T ` x ) ) -> c e. ran S ) |
| 114 |
113
|
ex |
|- ( c e. W -> ( -. c e. U_ x e. W ran ( T ` x ) -> c e. ran S ) ) |
| 115 |
114
|
3ad2ant2 |
|- ( ( ( d e. NN0 /\ { a e. W | ( # ` a ) < d } C_ ran S ) /\ c e. W /\ ( # ` c ) = d ) -> ( -. c e. U_ x e. W ran ( T ` x ) -> c e. ran S ) ) |
| 116 |
94 115
|
pm2.61d |
|- ( ( ( d e. NN0 /\ { a e. W | ( # ` a ) < d } C_ ran S ) /\ c e. W /\ ( # ` c ) = d ) -> c e. ran S ) |
| 117 |
116
|
rabssdv |
|- ( ( d e. NN0 /\ { a e. W | ( # ` a ) < d } C_ ran S ) -> { c e. W | ( # ` c ) = d } C_ ran S ) |
| 118 |
43 117
|
eqsstrid |
|- ( ( d e. NN0 /\ { a e. W | ( # ` a ) < d } C_ ran S ) -> { a e. W | ( # ` a ) = d } C_ ran S ) |
| 119 |
41 118
|
unssd |
|- ( ( d e. NN0 /\ { a e. W | ( # ` a ) < d } C_ ran S ) -> ( { a e. W | ( # ` a ) < d } u. { a e. W | ( # ` a ) = d } ) C_ ran S ) |
| 120 |
119
|
ex |
|- ( d e. NN0 -> ( { a e. W | ( # ` a ) < d } C_ ran S -> ( { a e. W | ( # ` a ) < d } u. { a e. W | ( # ` a ) = d } ) C_ ran S ) ) |
| 121 |
|
id |
|- ( d e. NN0 -> d e. NN0 ) |
| 122 |
|
nn0leltp1 |
|- ( ( ( # ` a ) e. NN0 /\ d e. NN0 ) -> ( ( # ` a ) <_ d <-> ( # ` a ) < ( d + 1 ) ) ) |
| 123 |
21 121 122
|
syl2anr |
|- ( ( d e. NN0 /\ a e. W ) -> ( ( # ` a ) <_ d <-> ( # ` a ) < ( d + 1 ) ) ) |
| 124 |
21
|
nn0red |
|- ( a e. W -> ( # ` a ) e. RR ) |
| 125 |
|
nn0re |
|- ( d e. NN0 -> d e. RR ) |
| 126 |
|
leloe |
|- ( ( ( # ` a ) e. RR /\ d e. RR ) -> ( ( # ` a ) <_ d <-> ( ( # ` a ) < d \/ ( # ` a ) = d ) ) ) |
| 127 |
124 125 126
|
syl2anr |
|- ( ( d e. NN0 /\ a e. W ) -> ( ( # ` a ) <_ d <-> ( ( # ` a ) < d \/ ( # ` a ) = d ) ) ) |
| 128 |
123 127
|
bitr3d |
|- ( ( d e. NN0 /\ a e. W ) -> ( ( # ` a ) < ( d + 1 ) <-> ( ( # ` a ) < d \/ ( # ` a ) = d ) ) ) |
| 129 |
128
|
rabbidva |
|- ( d e. NN0 -> { a e. W | ( # ` a ) < ( d + 1 ) } = { a e. W | ( ( # ` a ) < d \/ ( # ` a ) = d ) } ) |
| 130 |
|
unrab |
|- ( { a e. W | ( # ` a ) < d } u. { a e. W | ( # ` a ) = d } ) = { a e. W | ( ( # ` a ) < d \/ ( # ` a ) = d ) } |
| 131 |
129 130
|
eqtr4di |
|- ( d e. NN0 -> { a e. W | ( # ` a ) < ( d + 1 ) } = ( { a e. W | ( # ` a ) < d } u. { a e. W | ( # ` a ) = d } ) ) |
| 132 |
131
|
sseq1d |
|- ( d e. NN0 -> ( { a e. W | ( # ` a ) < ( d + 1 ) } C_ ran S <-> ( { a e. W | ( # ` a ) < d } u. { a e. W | ( # ` a ) = d } ) C_ ran S ) ) |
| 133 |
120 132
|
sylibrd |
|- ( d e. NN0 -> ( { a e. W | ( # ` a ) < d } C_ ran S -> { a e. W | ( # ` a ) < ( d + 1 ) } C_ ran S ) ) |
| 134 |
30 33 36 39 40 133
|
nn0ind |
|- ( ( ( # ` c ) + 1 ) e. NN0 -> { a e. W | ( # ` a ) < ( ( # ` c ) + 1 ) } C_ ran S ) |
| 135 |
17 18 134
|
3syl |
|- ( c e. W -> { a e. W | ( # ` a ) < ( ( # ` c ) + 1 ) } C_ ran S ) |
| 136 |
|
fveq2 |
|- ( a = c -> ( # ` a ) = ( # ` c ) ) |
| 137 |
136
|
breq1d |
|- ( a = c -> ( ( # ` a ) < ( ( # ` c ) + 1 ) <-> ( # ` c ) < ( ( # ` c ) + 1 ) ) ) |
| 138 |
|
id |
|- ( c e. W -> c e. W ) |
| 139 |
17
|
nn0red |
|- ( c e. W -> ( # ` c ) e. RR ) |
| 140 |
139
|
ltp1d |
|- ( c e. W -> ( # ` c ) < ( ( # ` c ) + 1 ) ) |
| 141 |
137 138 140
|
elrabd |
|- ( c e. W -> c e. { a e. W | ( # ` a ) < ( ( # ` c ) + 1 ) } ) |
| 142 |
135 141
|
sseldd |
|- ( c e. W -> c e. ran S ) |
| 143 |
142
|
ssriv |
|- W C_ ran S |
| 144 |
12 143
|
eqssi |
|- ran S = W |
| 145 |
|
dffo2 |
|- ( S : dom S -onto-> W <-> ( S : dom S --> W /\ ran S = W ) ) |
| 146 |
10 144 145
|
mpbir2an |
|- S : dom S -onto-> W |