| Step |
Hyp |
Ref |
Expression |
| 1 |
|
swrdcl |
|- ( W e. Word V -> ( W substr <. M , ( # ` W ) >. ) e. Word V ) |
| 2 |
|
pfxcl |
|- ( W e. Word V -> ( W prefix M ) e. Word V ) |
| 3 |
|
ccatlen |
|- ( ( ( W substr <. M , ( # ` W ) >. ) e. Word V /\ ( W prefix M ) e. Word V ) -> ( # ` ( ( W substr <. M , ( # ` W ) >. ) ++ ( W prefix M ) ) ) = ( ( # ` ( W substr <. M , ( # ` W ) >. ) ) + ( # ` ( W prefix M ) ) ) ) |
| 4 |
1 2 3
|
syl2anc |
|- ( W e. Word V -> ( # ` ( ( W substr <. M , ( # ` W ) >. ) ++ ( W prefix M ) ) ) = ( ( # ` ( W substr <. M , ( # ` W ) >. ) ) + ( # ` ( W prefix M ) ) ) ) |
| 5 |
4
|
adantr |
|- ( ( W e. Word V /\ M e. ( 0 ... ( # ` W ) ) ) -> ( # ` ( ( W substr <. M , ( # ` W ) >. ) ++ ( W prefix M ) ) ) = ( ( # ` ( W substr <. M , ( # ` W ) >. ) ) + ( # ` ( W prefix M ) ) ) ) |
| 6 |
|
swrdrlen |
|- ( ( W e. Word V /\ M e. ( 0 ... ( # ` W ) ) ) -> ( # ` ( W substr <. M , ( # ` W ) >. ) ) = ( ( # ` W ) - M ) ) |
| 7 |
|
fznn0sub |
|- ( M e. ( 0 ... ( # ` W ) ) -> ( ( # ` W ) - M ) e. NN0 ) |
| 8 |
7
|
adantl |
|- ( ( W e. Word V /\ M e. ( 0 ... ( # ` W ) ) ) -> ( ( # ` W ) - M ) e. NN0 ) |
| 9 |
6 8
|
eqeltrd |
|- ( ( W e. Word V /\ M e. ( 0 ... ( # ` W ) ) ) -> ( # ` ( W substr <. M , ( # ` W ) >. ) ) e. NN0 ) |
| 10 |
9
|
nn0cnd |
|- ( ( W e. Word V /\ M e. ( 0 ... ( # ` W ) ) ) -> ( # ` ( W substr <. M , ( # ` W ) >. ) ) e. CC ) |
| 11 |
|
pfxlen |
|- ( ( W e. Word V /\ M e. ( 0 ... ( # ` W ) ) ) -> ( # ` ( W prefix M ) ) = M ) |
| 12 |
|
elfznn0 |
|- ( M e. ( 0 ... ( # ` W ) ) -> M e. NN0 ) |
| 13 |
12
|
adantl |
|- ( ( W e. Word V /\ M e. ( 0 ... ( # ` W ) ) ) -> M e. NN0 ) |
| 14 |
11 13
|
eqeltrd |
|- ( ( W e. Word V /\ M e. ( 0 ... ( # ` W ) ) ) -> ( # ` ( W prefix M ) ) e. NN0 ) |
| 15 |
14
|
nn0cnd |
|- ( ( W e. Word V /\ M e. ( 0 ... ( # ` W ) ) ) -> ( # ` ( W prefix M ) ) e. CC ) |
| 16 |
10 15
|
addcomd |
|- ( ( W e. Word V /\ M e. ( 0 ... ( # ` W ) ) ) -> ( ( # ` ( W substr <. M , ( # ` W ) >. ) ) + ( # ` ( W prefix M ) ) ) = ( ( # ` ( W prefix M ) ) + ( # ` ( W substr <. M , ( # ` W ) >. ) ) ) ) |
| 17 |
|
addlenpfx |
|- ( ( W e. Word V /\ M e. ( 0 ... ( # ` W ) ) ) -> ( ( # ` ( W prefix M ) ) + ( # ` ( W substr <. M , ( # ` W ) >. ) ) ) = ( # ` W ) ) |
| 18 |
5 16 17
|
3eqtrd |
|- ( ( W e. Word V /\ M e. ( 0 ... ( # ` W ) ) ) -> ( # ` ( ( W substr <. M , ( # ` W ) >. ) ++ ( W prefix M ) ) ) = ( # ` W ) ) |