Step |
Hyp |
Ref |
Expression |
1 |
|
simp1 |
|- ( ( W e. Word V /\ W =/= (/) /\ N e. ZZ ) -> W e. Word V ) |
2 |
|
simp3 |
|- ( ( W e. Word V /\ W =/= (/) /\ N e. ZZ ) -> N e. ZZ ) |
3 |
|
lennncl |
|- ( ( W e. Word V /\ W =/= (/) ) -> ( # ` W ) e. NN ) |
4 |
|
lbfzo0 |
|- ( 0 e. ( 0 ..^ ( # ` W ) ) <-> ( # ` W ) e. NN ) |
5 |
3 4
|
sylibr |
|- ( ( W e. Word V /\ W =/= (/) ) -> 0 e. ( 0 ..^ ( # ` W ) ) ) |
6 |
5
|
3adant3 |
|- ( ( W e. Word V /\ W =/= (/) /\ N e. ZZ ) -> 0 e. ( 0 ..^ ( # ` W ) ) ) |
7 |
|
cshwidxmod |
|- ( ( W e. Word V /\ N e. ZZ /\ 0 e. ( 0 ..^ ( # ` W ) ) ) -> ( ( W cyclShift N ) ` 0 ) = ( W ` ( ( 0 + N ) mod ( # ` W ) ) ) ) |
8 |
1 2 6 7
|
syl3anc |
|- ( ( W e. Word V /\ W =/= (/) /\ N e. ZZ ) -> ( ( W cyclShift N ) ` 0 ) = ( W ` ( ( 0 + N ) mod ( # ` W ) ) ) ) |
9 |
|
zcn |
|- ( N e. ZZ -> N e. CC ) |
10 |
9
|
addid2d |
|- ( N e. ZZ -> ( 0 + N ) = N ) |
11 |
10
|
3ad2ant3 |
|- ( ( W e. Word V /\ W =/= (/) /\ N e. ZZ ) -> ( 0 + N ) = N ) |
12 |
11
|
fvoveq1d |
|- ( ( W e. Word V /\ W =/= (/) /\ N e. ZZ ) -> ( W ` ( ( 0 + N ) mod ( # ` W ) ) ) = ( W ` ( N mod ( # ` W ) ) ) ) |
13 |
8 12
|
eqtrd |
|- ( ( W e. Word V /\ W =/= (/) /\ N e. ZZ ) -> ( ( W cyclShift N ) ` 0 ) = ( W ` ( N mod ( # ` W ) ) ) ) |