| Step |
Hyp |
Ref |
Expression |
| 1 |
|
lencl |
|- ( W e. Word V -> ( # ` W ) e. NN0 ) |
| 2 |
1
|
nn0zd |
|- ( W e. Word V -> ( # ` W ) e. ZZ ) |
| 3 |
|
zsubcl |
|- ( ( ( # ` W ) e. ZZ /\ N e. ZZ ) -> ( ( # ` W ) - N ) e. ZZ ) |
| 4 |
2 3
|
sylan |
|- ( ( W e. Word V /\ N e. ZZ ) -> ( ( # ` W ) - N ) e. ZZ ) |
| 5 |
|
2cshw |
|- ( ( W e. Word V /\ N e. ZZ /\ ( ( # ` W ) - N ) e. ZZ ) -> ( ( W cyclShift N ) cyclShift ( ( # ` W ) - N ) ) = ( W cyclShift ( N + ( ( # ` W ) - N ) ) ) ) |
| 6 |
4 5
|
mpd3an3 |
|- ( ( W e. Word V /\ N e. ZZ ) -> ( ( W cyclShift N ) cyclShift ( ( # ` W ) - N ) ) = ( W cyclShift ( N + ( ( # ` W ) - N ) ) ) ) |
| 7 |
|
zcn |
|- ( N e. ZZ -> N e. CC ) |
| 8 |
1
|
nn0cnd |
|- ( W e. Word V -> ( # ` W ) e. CC ) |
| 9 |
|
pncan3 |
|- ( ( N e. CC /\ ( # ` W ) e. CC ) -> ( N + ( ( # ` W ) - N ) ) = ( # ` W ) ) |
| 10 |
7 8 9
|
syl2anr |
|- ( ( W e. Word V /\ N e. ZZ ) -> ( N + ( ( # ` W ) - N ) ) = ( # ` W ) ) |
| 11 |
10
|
oveq2d |
|- ( ( W e. Word V /\ N e. ZZ ) -> ( W cyclShift ( N + ( ( # ` W ) - N ) ) ) = ( W cyclShift ( # ` W ) ) ) |
| 12 |
|
cshwn |
|- ( W e. Word V -> ( W cyclShift ( # ` W ) ) = W ) |
| 13 |
12
|
adantr |
|- ( ( W e. Word V /\ N e. ZZ ) -> ( W cyclShift ( # ` W ) ) = W ) |
| 14 |
6 11 13
|
3eqtrd |
|- ( ( W e. Word V /\ N e. ZZ ) -> ( ( W cyclShift N ) cyclShift ( ( # ` W ) - N ) ) = W ) |