| Step |
Hyp |
Ref |
Expression |
| 1 |
|
sseqval.1 |
|- ( ph -> S e. _V ) |
| 2 |
|
sseqval.2 |
|- ( ph -> M e. Word S ) |
| 3 |
|
sseqval.3 |
|- W = ( Word S i^i ( `' # " ( ZZ>= ` ( # ` M ) ) ) ) |
| 4 |
|
sseqval.4 |
|- ( ph -> F : W --> S ) |
| 5 |
|
sseqfv2.4 |
|- ( ph -> N e. ( ZZ>= ` ( # ` M ) ) ) |
| 6 |
1 2 3 4
|
sseqval |
|- ( ph -> ( M seqstr F ) = ( M u. ( lastS o. seq ( # ` M ) ( ( x e. _V , y e. _V |-> ( x ++ <" ( F ` x ) "> ) ) , ( NN0 X. { ( M ++ <" ( F ` M ) "> ) } ) ) ) ) ) |
| 7 |
6
|
fveq1d |
|- ( ph -> ( ( M seqstr F ) ` N ) = ( ( M u. ( lastS o. seq ( # ` M ) ( ( x e. _V , y e. _V |-> ( x ++ <" ( F ` x ) "> ) ) , ( NN0 X. { ( M ++ <" ( F ` M ) "> ) } ) ) ) ) ` N ) ) |
| 8 |
|
wrdfn |
|- ( M e. Word S -> M Fn ( 0 ..^ ( # ` M ) ) ) |
| 9 |
2 8
|
syl |
|- ( ph -> M Fn ( 0 ..^ ( # ` M ) ) ) |
| 10 |
|
fvex |
|- ( x ` ( ( # ` x ) - 1 ) ) e. _V |
| 11 |
|
df-lsw |
|- lastS = ( x e. _V |-> ( x ` ( ( # ` x ) - 1 ) ) ) |
| 12 |
10 11
|
fnmpti |
|- lastS Fn _V |
| 13 |
12
|
a1i |
|- ( ph -> lastS Fn _V ) |
| 14 |
|
lencl |
|- ( M e. Word S -> ( # ` M ) e. NN0 ) |
| 15 |
2 14
|
syl |
|- ( ph -> ( # ` M ) e. NN0 ) |
| 16 |
15
|
nn0zd |
|- ( ph -> ( # ` M ) e. ZZ ) |
| 17 |
|
seqfn |
|- ( ( # ` M ) e. ZZ -> seq ( # ` M ) ( ( x e. _V , y e. _V |-> ( x ++ <" ( F ` x ) "> ) ) , ( NN0 X. { ( M ++ <" ( F ` M ) "> ) } ) ) Fn ( ZZ>= ` ( # ` M ) ) ) |
| 18 |
16 17
|
syl |
|- ( ph -> seq ( # ` M ) ( ( x e. _V , y e. _V |-> ( x ++ <" ( F ` x ) "> ) ) , ( NN0 X. { ( M ++ <" ( F ` M ) "> ) } ) ) Fn ( ZZ>= ` ( # ` M ) ) ) |
| 19 |
|
ssv |
|- ran seq ( # ` M ) ( ( x e. _V , y e. _V |-> ( x ++ <" ( F ` x ) "> ) ) , ( NN0 X. { ( M ++ <" ( F ` M ) "> ) } ) ) C_ _V |
| 20 |
19
|
a1i |
|- ( ph -> ran seq ( # ` M ) ( ( x e. _V , y e. _V |-> ( x ++ <" ( F ` x ) "> ) ) , ( NN0 X. { ( M ++ <" ( F ` M ) "> ) } ) ) C_ _V ) |
| 21 |
|
fnco |
|- ( ( lastS Fn _V /\ seq ( # ` M ) ( ( x e. _V , y e. _V |-> ( x ++ <" ( F ` x ) "> ) ) , ( NN0 X. { ( M ++ <" ( F ` M ) "> ) } ) ) Fn ( ZZ>= ` ( # ` M ) ) /\ ran seq ( # ` M ) ( ( x e. _V , y e. _V |-> ( x ++ <" ( F ` x ) "> ) ) , ( NN0 X. { ( M ++ <" ( F ` M ) "> ) } ) ) C_ _V ) -> ( lastS o. seq ( # ` M ) ( ( x e. _V , y e. _V |-> ( x ++ <" ( F ` x ) "> ) ) , ( NN0 X. { ( M ++ <" ( F ` M ) "> ) } ) ) ) Fn ( ZZ>= ` ( # ` M ) ) ) |
| 22 |
13 18 20 21
|
syl3anc |
|- ( ph -> ( lastS o. seq ( # ` M ) ( ( x e. _V , y e. _V |-> ( x ++ <" ( F ` x ) "> ) ) , ( NN0 X. { ( M ++ <" ( F ` M ) "> ) } ) ) ) Fn ( ZZ>= ` ( # ` M ) ) ) |
| 23 |
|
fzouzdisj |
|- ( ( 0 ..^ ( # ` M ) ) i^i ( ZZ>= ` ( # ` M ) ) ) = (/) |
| 24 |
23
|
a1i |
|- ( ph -> ( ( 0 ..^ ( # ` M ) ) i^i ( ZZ>= ` ( # ` M ) ) ) = (/) ) |
| 25 |
|
fvun2 |
|- ( ( M Fn ( 0 ..^ ( # ` M ) ) /\ ( lastS o. seq ( # ` M ) ( ( x e. _V , y e. _V |-> ( x ++ <" ( F ` x ) "> ) ) , ( NN0 X. { ( M ++ <" ( F ` M ) "> ) } ) ) ) Fn ( ZZ>= ` ( # ` M ) ) /\ ( ( ( 0 ..^ ( # ` M ) ) i^i ( ZZ>= ` ( # ` M ) ) ) = (/) /\ N e. ( ZZ>= ` ( # ` M ) ) ) ) -> ( ( M u. ( lastS o. seq ( # ` M ) ( ( x e. _V , y e. _V |-> ( x ++ <" ( F ` x ) "> ) ) , ( NN0 X. { ( M ++ <" ( F ` M ) "> ) } ) ) ) ) ` N ) = ( ( lastS o. seq ( # ` M ) ( ( x e. _V , y e. _V |-> ( x ++ <" ( F ` x ) "> ) ) , ( NN0 X. { ( M ++ <" ( F ` M ) "> ) } ) ) ) ` N ) ) |
| 26 |
9 22 24 5 25
|
syl112anc |
|- ( ph -> ( ( M u. ( lastS o. seq ( # ` M ) ( ( x e. _V , y e. _V |-> ( x ++ <" ( F ` x ) "> ) ) , ( NN0 X. { ( M ++ <" ( F ` M ) "> ) } ) ) ) ) ` N ) = ( ( lastS o. seq ( # ` M ) ( ( x e. _V , y e. _V |-> ( x ++ <" ( F ` x ) "> ) ) , ( NN0 X. { ( M ++ <" ( F ` M ) "> ) } ) ) ) ` N ) ) |
| 27 |
|
fnfun |
|- ( seq ( # ` M ) ( ( x e. _V , y e. _V |-> ( x ++ <" ( F ` x ) "> ) ) , ( NN0 X. { ( M ++ <" ( F ` M ) "> ) } ) ) Fn ( ZZ>= ` ( # ` M ) ) -> Fun seq ( # ` M ) ( ( x e. _V , y e. _V |-> ( x ++ <" ( F ` x ) "> ) ) , ( NN0 X. { ( M ++ <" ( F ` M ) "> ) } ) ) ) |
| 28 |
18 27
|
syl |
|- ( ph -> Fun seq ( # ` M ) ( ( x e. _V , y e. _V |-> ( x ++ <" ( F ` x ) "> ) ) , ( NN0 X. { ( M ++ <" ( F ` M ) "> ) } ) ) ) |
| 29 |
|
fvexd |
|- ( ph -> ( ( NN0 X. { ( M ++ <" ( F ` M ) "> ) } ) ` ( # ` M ) ) e. _V ) |
| 30 |
|
ovexd |
|- ( ( ph /\ ( a e. _V /\ b e. _V ) ) -> ( a ( x e. _V , y e. _V |-> ( x ++ <" ( F ` x ) "> ) ) b ) e. _V ) |
| 31 |
|
eqid |
|- ( ZZ>= ` ( # ` M ) ) = ( ZZ>= ` ( # ` M ) ) |
| 32 |
|
fvexd |
|- ( ( ph /\ a e. ( ZZ>= ` ( ( # ` M ) + 1 ) ) ) -> ( ( NN0 X. { ( M ++ <" ( F ` M ) "> ) } ) ` a ) e. _V ) |
| 33 |
29 30 31 16 32
|
seqf2 |
|- ( ph -> seq ( # ` M ) ( ( x e. _V , y e. _V |-> ( x ++ <" ( F ` x ) "> ) ) , ( NN0 X. { ( M ++ <" ( F ` M ) "> ) } ) ) : ( ZZ>= ` ( # ` M ) ) --> _V ) |
| 34 |
33
|
fdmd |
|- ( ph -> dom seq ( # ` M ) ( ( x e. _V , y e. _V |-> ( x ++ <" ( F ` x ) "> ) ) , ( NN0 X. { ( M ++ <" ( F ` M ) "> ) } ) ) = ( ZZ>= ` ( # ` M ) ) ) |
| 35 |
5 34
|
eleqtrrd |
|- ( ph -> N e. dom seq ( # ` M ) ( ( x e. _V , y e. _V |-> ( x ++ <" ( F ` x ) "> ) ) , ( NN0 X. { ( M ++ <" ( F ` M ) "> ) } ) ) ) |
| 36 |
|
fvco |
|- ( ( Fun seq ( # ` M ) ( ( x e. _V , y e. _V |-> ( x ++ <" ( F ` x ) "> ) ) , ( NN0 X. { ( M ++ <" ( F ` M ) "> ) } ) ) /\ N e. dom seq ( # ` M ) ( ( x e. _V , y e. _V |-> ( x ++ <" ( F ` x ) "> ) ) , ( NN0 X. { ( M ++ <" ( F ` M ) "> ) } ) ) ) -> ( ( lastS o. seq ( # ` M ) ( ( x e. _V , y e. _V |-> ( x ++ <" ( F ` x ) "> ) ) , ( NN0 X. { ( M ++ <" ( F ` M ) "> ) } ) ) ) ` N ) = ( lastS ` ( seq ( # ` M ) ( ( x e. _V , y e. _V |-> ( x ++ <" ( F ` x ) "> ) ) , ( NN0 X. { ( M ++ <" ( F ` M ) "> ) } ) ) ` N ) ) ) |
| 37 |
28 35 36
|
syl2anc |
|- ( ph -> ( ( lastS o. seq ( # ` M ) ( ( x e. _V , y e. _V |-> ( x ++ <" ( F ` x ) "> ) ) , ( NN0 X. { ( M ++ <" ( F ` M ) "> ) } ) ) ) ` N ) = ( lastS ` ( seq ( # ` M ) ( ( x e. _V , y e. _V |-> ( x ++ <" ( F ` x ) "> ) ) , ( NN0 X. { ( M ++ <" ( F ` M ) "> ) } ) ) ` N ) ) ) |
| 38 |
7 26 37
|
3eqtrd |
|- ( ph -> ( ( M seqstr F ) ` N ) = ( lastS ` ( seq ( # ` M ) ( ( x e. _V , y e. _V |-> ( x ++ <" ( F ` x ) "> ) ) , ( NN0 X. { ( M ++ <" ( F ` M ) "> ) } ) ) ` N ) ) ) |