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 |
|
wrdfn |
|- ( M e. Word S -> M Fn ( 0 ..^ ( # ` M ) ) ) |
6 |
2 5
|
syl |
|- ( ph -> M Fn ( 0 ..^ ( # ` M ) ) ) |
7 |
|
fvex |
|- ( x ` ( ( # ` x ) - 1 ) ) e. _V |
8 |
|
df-lsw |
|- lastS = ( x e. _V |-> ( x ` ( ( # ` x ) - 1 ) ) ) |
9 |
7 8
|
fnmpti |
|- lastS Fn _V |
10 |
9
|
a1i |
|- ( ph -> lastS Fn _V ) |
11 |
|
lencl |
|- ( M e. Word S -> ( # ` M ) e. NN0 ) |
12 |
11
|
nn0zd |
|- ( M e. Word S -> ( # ` M ) e. ZZ ) |
13 |
|
seqfn |
|- ( ( # ` M ) e. ZZ -> seq ( # ` M ) ( ( x e. _V , y e. _V |-> ( x ++ <" ( F ` x ) "> ) ) , ( NN0 X. { ( M ++ <" ( F ` M ) "> ) } ) ) Fn ( ZZ>= ` ( # ` M ) ) ) |
14 |
2 12 13
|
3syl |
|- ( ph -> seq ( # ` M ) ( ( x e. _V , y e. _V |-> ( x ++ <" ( F ` x ) "> ) ) , ( NN0 X. { ( M ++ <" ( F ` M ) "> ) } ) ) Fn ( ZZ>= ` ( # ` M ) ) ) |
15 |
|
ssv |
|- ran seq ( # ` M ) ( ( x e. _V , y e. _V |-> ( x ++ <" ( F ` x ) "> ) ) , ( NN0 X. { ( M ++ <" ( F ` M ) "> ) } ) ) C_ _V |
16 |
15
|
a1i |
|- ( ph -> ran seq ( # ` M ) ( ( x e. _V , y e. _V |-> ( x ++ <" ( F ` x ) "> ) ) , ( NN0 X. { ( M ++ <" ( F ` M ) "> ) } ) ) C_ _V ) |
17 |
|
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 ) ) ) |
18 |
10 14 16 17
|
syl3anc |
|- ( ph -> ( lastS o. seq ( # ` M ) ( ( x e. _V , y e. _V |-> ( x ++ <" ( F ` x ) "> ) ) , ( NN0 X. { ( M ++ <" ( F ` M ) "> ) } ) ) ) Fn ( ZZ>= ` ( # ` M ) ) ) |
19 |
|
fzouzdisj |
|- ( ( 0 ..^ ( # ` M ) ) i^i ( ZZ>= ` ( # ` M ) ) ) = (/) |
20 |
19
|
a1i |
|- ( ph -> ( ( 0 ..^ ( # ` M ) ) i^i ( ZZ>= ` ( # ` M ) ) ) = (/) ) |
21 |
6 18 20
|
fnund |
|- ( ph -> ( M u. ( lastS o. seq ( # ` M ) ( ( x e. _V , y e. _V |-> ( x ++ <" ( F ` x ) "> ) ) , ( NN0 X. { ( M ++ <" ( F ` M ) "> ) } ) ) ) ) Fn ( ( 0 ..^ ( # ` M ) ) u. ( ZZ>= ` ( # ` M ) ) ) ) |
22 |
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 ) "> ) } ) ) ) ) ) |
23 |
|
nn0uz |
|- NN0 = ( ZZ>= ` 0 ) |
24 |
|
elnn0uz |
|- ( ( # ` M ) e. NN0 <-> ( # ` M ) e. ( ZZ>= ` 0 ) ) |
25 |
|
fzouzsplit |
|- ( ( # ` M ) e. ( ZZ>= ` 0 ) -> ( ZZ>= ` 0 ) = ( ( 0 ..^ ( # ` M ) ) u. ( ZZ>= ` ( # ` M ) ) ) ) |
26 |
24 25
|
sylbi |
|- ( ( # ` M ) e. NN0 -> ( ZZ>= ` 0 ) = ( ( 0 ..^ ( # ` M ) ) u. ( ZZ>= ` ( # ` M ) ) ) ) |
27 |
2 11 26
|
3syl |
|- ( ph -> ( ZZ>= ` 0 ) = ( ( 0 ..^ ( # ` M ) ) u. ( ZZ>= ` ( # ` M ) ) ) ) |
28 |
23 27
|
syl5eq |
|- ( ph -> NN0 = ( ( 0 ..^ ( # ` M ) ) u. ( ZZ>= ` ( # ` M ) ) ) ) |
29 |
22 28
|
fneq12d |
|- ( ph -> ( ( M seqstr F ) Fn NN0 <-> ( M u. ( lastS o. seq ( # ` M ) ( ( x e. _V , y e. _V |-> ( x ++ <" ( F ` x ) "> ) ) , ( NN0 X. { ( M ++ <" ( F ` M ) "> ) } ) ) ) ) Fn ( ( 0 ..^ ( # ` M ) ) u. ( ZZ>= ` ( # ` M ) ) ) ) ) |
30 |
21 29
|
mpbird |
|- ( ph -> ( M seqstr F ) Fn NN0 ) |