| Step |
Hyp |
Ref |
Expression |
| 1 |
|
simpr |
|- ( ( W e. Word V /\ ( # ` W ) e. Prime ) -> ( # ` W ) e. Prime ) |
| 2 |
1
|
adantr |
|- ( ( ( W e. Word V /\ ( # ` W ) e. Prime ) /\ ( L e. ZZ /\ ( L mod ( # ` W ) ) =/= 0 /\ ( W cyclShift L ) = W ) ) -> ( # ` W ) e. Prime ) |
| 3 |
|
simp1 |
|- ( ( L e. ZZ /\ ( L mod ( # ` W ) ) =/= 0 /\ ( W cyclShift L ) = W ) -> L e. ZZ ) |
| 4 |
3
|
adantl |
|- ( ( ( W e. Word V /\ ( # ` W ) e. Prime ) /\ ( L e. ZZ /\ ( L mod ( # ` W ) ) =/= 0 /\ ( W cyclShift L ) = W ) ) -> L e. ZZ ) |
| 5 |
|
simpr2 |
|- ( ( ( W e. Word V /\ ( # ` W ) e. Prime ) /\ ( L e. ZZ /\ ( L mod ( # ` W ) ) =/= 0 /\ ( W cyclShift L ) = W ) ) -> ( L mod ( # ` W ) ) =/= 0 ) |
| 6 |
2 4 5
|
3jca |
|- ( ( ( W e. Word V /\ ( # ` W ) e. Prime ) /\ ( L e. ZZ /\ ( L mod ( # ` W ) ) =/= 0 /\ ( W cyclShift L ) = W ) ) -> ( ( # ` W ) e. Prime /\ L e. ZZ /\ ( L mod ( # ` W ) ) =/= 0 ) ) |
| 7 |
6
|
adantr |
|- ( ( ( ( W e. Word V /\ ( # ` W ) e. Prime ) /\ ( L e. ZZ /\ ( L mod ( # ` W ) ) =/= 0 /\ ( W cyclShift L ) = W ) ) /\ i e. ( 0 ..^ ( # ` W ) ) ) -> ( ( # ` W ) e. Prime /\ L e. ZZ /\ ( L mod ( # ` W ) ) =/= 0 ) ) |
| 8 |
|
simpr |
|- ( ( ( ( W e. Word V /\ ( # ` W ) e. Prime ) /\ ( L e. ZZ /\ ( L mod ( # ` W ) ) =/= 0 /\ ( W cyclShift L ) = W ) ) /\ i e. ( 0 ..^ ( # ` W ) ) ) -> i e. ( 0 ..^ ( # ` W ) ) ) |
| 9 |
|
modprmn0modprm0 |
|- ( ( ( # ` W ) e. Prime /\ L e. ZZ /\ ( L mod ( # ` W ) ) =/= 0 ) -> ( i e. ( 0 ..^ ( # ` W ) ) -> E. j e. ( 0 ..^ ( # ` W ) ) ( ( i + ( j x. L ) ) mod ( # ` W ) ) = 0 ) ) |
| 10 |
7 8 9
|
sylc |
|- ( ( ( ( W e. Word V /\ ( # ` W ) e. Prime ) /\ ( L e. ZZ /\ ( L mod ( # ` W ) ) =/= 0 /\ ( W cyclShift L ) = W ) ) /\ i e. ( 0 ..^ ( # ` W ) ) ) -> E. j e. ( 0 ..^ ( # ` W ) ) ( ( i + ( j x. L ) ) mod ( # ` W ) ) = 0 ) |
| 11 |
|
oveq1 |
|- ( k = j -> ( k x. L ) = ( j x. L ) ) |
| 12 |
11
|
oveq2d |
|- ( k = j -> ( i + ( k x. L ) ) = ( i + ( j x. L ) ) ) |
| 13 |
12
|
fvoveq1d |
|- ( k = j -> ( W ` ( ( i + ( k x. L ) ) mod ( # ` W ) ) ) = ( W ` ( ( i + ( j x. L ) ) mod ( # ` W ) ) ) ) |
| 14 |
13
|
eqeq2d |
|- ( k = j -> ( ( W ` i ) = ( W ` ( ( i + ( k x. L ) ) mod ( # ` W ) ) ) <-> ( W ` i ) = ( W ` ( ( i + ( j x. L ) ) mod ( # ` W ) ) ) ) ) |
| 15 |
|
simpl |
|- ( ( W e. Word V /\ ( # ` W ) e. Prime ) -> W e. Word V ) |
| 16 |
15 3
|
anim12i |
|- ( ( ( W e. Word V /\ ( # ` W ) e. Prime ) /\ ( L e. ZZ /\ ( L mod ( # ` W ) ) =/= 0 /\ ( W cyclShift L ) = W ) ) -> ( W e. Word V /\ L e. ZZ ) ) |
| 17 |
16
|
adantr |
|- ( ( ( ( W e. Word V /\ ( # ` W ) e. Prime ) /\ ( L e. ZZ /\ ( L mod ( # ` W ) ) =/= 0 /\ ( W cyclShift L ) = W ) ) /\ i e. ( 0 ..^ ( # ` W ) ) ) -> ( W e. Word V /\ L e. ZZ ) ) |
| 18 |
17
|
adantl |
|- ( ( ( j e. ( 0 ..^ ( # ` W ) ) /\ ( ( i + ( j x. L ) ) mod ( # ` W ) ) = 0 ) /\ ( ( ( W e. Word V /\ ( # ` W ) e. Prime ) /\ ( L e. ZZ /\ ( L mod ( # ` W ) ) =/= 0 /\ ( W cyclShift L ) = W ) ) /\ i e. ( 0 ..^ ( # ` W ) ) ) ) -> ( W e. Word V /\ L e. ZZ ) ) |
| 19 |
|
simpr3 |
|- ( ( ( W e. Word V /\ ( # ` W ) e. Prime ) /\ ( L e. ZZ /\ ( L mod ( # ` W ) ) =/= 0 /\ ( W cyclShift L ) = W ) ) -> ( W cyclShift L ) = W ) |
| 20 |
19
|
anim1i |
|- ( ( ( ( W e. Word V /\ ( # ` W ) e. Prime ) /\ ( L e. ZZ /\ ( L mod ( # ` W ) ) =/= 0 /\ ( W cyclShift L ) = W ) ) /\ i e. ( 0 ..^ ( # ` W ) ) ) -> ( ( W cyclShift L ) = W /\ i e. ( 0 ..^ ( # ` W ) ) ) ) |
| 21 |
20
|
adantl |
|- ( ( ( j e. ( 0 ..^ ( # ` W ) ) /\ ( ( i + ( j x. L ) ) mod ( # ` W ) ) = 0 ) /\ ( ( ( W e. Word V /\ ( # ` W ) e. Prime ) /\ ( L e. ZZ /\ ( L mod ( # ` W ) ) =/= 0 /\ ( W cyclShift L ) = W ) ) /\ i e. ( 0 ..^ ( # ` W ) ) ) ) -> ( ( W cyclShift L ) = W /\ i e. ( 0 ..^ ( # ` W ) ) ) ) |
| 22 |
|
cshweqrep |
|- ( ( W e. Word V /\ L e. ZZ ) -> ( ( ( W cyclShift L ) = W /\ i e. ( 0 ..^ ( # ` W ) ) ) -> A. k e. NN0 ( W ` i ) = ( W ` ( ( i + ( k x. L ) ) mod ( # ` W ) ) ) ) ) |
| 23 |
18 21 22
|
sylc |
|- ( ( ( j e. ( 0 ..^ ( # ` W ) ) /\ ( ( i + ( j x. L ) ) mod ( # ` W ) ) = 0 ) /\ ( ( ( W e. Word V /\ ( # ` W ) e. Prime ) /\ ( L e. ZZ /\ ( L mod ( # ` W ) ) =/= 0 /\ ( W cyclShift L ) = W ) ) /\ i e. ( 0 ..^ ( # ` W ) ) ) ) -> A. k e. NN0 ( W ` i ) = ( W ` ( ( i + ( k x. L ) ) mod ( # ` W ) ) ) ) |
| 24 |
|
elfzonn0 |
|- ( j e. ( 0 ..^ ( # ` W ) ) -> j e. NN0 ) |
| 25 |
24
|
ad2antrr |
|- ( ( ( j e. ( 0 ..^ ( # ` W ) ) /\ ( ( i + ( j x. L ) ) mod ( # ` W ) ) = 0 ) /\ ( ( ( W e. Word V /\ ( # ` W ) e. Prime ) /\ ( L e. ZZ /\ ( L mod ( # ` W ) ) =/= 0 /\ ( W cyclShift L ) = W ) ) /\ i e. ( 0 ..^ ( # ` W ) ) ) ) -> j e. NN0 ) |
| 26 |
14 23 25
|
rspcdva |
|- ( ( ( j e. ( 0 ..^ ( # ` W ) ) /\ ( ( i + ( j x. L ) ) mod ( # ` W ) ) = 0 ) /\ ( ( ( W e. Word V /\ ( # ` W ) e. Prime ) /\ ( L e. ZZ /\ ( L mod ( # ` W ) ) =/= 0 /\ ( W cyclShift L ) = W ) ) /\ i e. ( 0 ..^ ( # ` W ) ) ) ) -> ( W ` i ) = ( W ` ( ( i + ( j x. L ) ) mod ( # ` W ) ) ) ) |
| 27 |
|
fveq2 |
|- ( ( ( i + ( j x. L ) ) mod ( # ` W ) ) = 0 -> ( W ` ( ( i + ( j x. L ) ) mod ( # ` W ) ) ) = ( W ` 0 ) ) |
| 28 |
27
|
adantl |
|- ( ( j e. ( 0 ..^ ( # ` W ) ) /\ ( ( i + ( j x. L ) ) mod ( # ` W ) ) = 0 ) -> ( W ` ( ( i + ( j x. L ) ) mod ( # ` W ) ) ) = ( W ` 0 ) ) |
| 29 |
28
|
adantr |
|- ( ( ( j e. ( 0 ..^ ( # ` W ) ) /\ ( ( i + ( j x. L ) ) mod ( # ` W ) ) = 0 ) /\ ( ( ( W e. Word V /\ ( # ` W ) e. Prime ) /\ ( L e. ZZ /\ ( L mod ( # ` W ) ) =/= 0 /\ ( W cyclShift L ) = W ) ) /\ i e. ( 0 ..^ ( # ` W ) ) ) ) -> ( W ` ( ( i + ( j x. L ) ) mod ( # ` W ) ) ) = ( W ` 0 ) ) |
| 30 |
26 29
|
eqtrd |
|- ( ( ( j e. ( 0 ..^ ( # ` W ) ) /\ ( ( i + ( j x. L ) ) mod ( # ` W ) ) = 0 ) /\ ( ( ( W e. Word V /\ ( # ` W ) e. Prime ) /\ ( L e. ZZ /\ ( L mod ( # ` W ) ) =/= 0 /\ ( W cyclShift L ) = W ) ) /\ i e. ( 0 ..^ ( # ` W ) ) ) ) -> ( W ` i ) = ( W ` 0 ) ) |
| 31 |
30
|
ex |
|- ( ( j e. ( 0 ..^ ( # ` W ) ) /\ ( ( i + ( j x. L ) ) mod ( # ` W ) ) = 0 ) -> ( ( ( ( W e. Word V /\ ( # ` W ) e. Prime ) /\ ( L e. ZZ /\ ( L mod ( # ` W ) ) =/= 0 /\ ( W cyclShift L ) = W ) ) /\ i e. ( 0 ..^ ( # ` W ) ) ) -> ( W ` i ) = ( W ` 0 ) ) ) |
| 32 |
31
|
rexlimiva |
|- ( E. j e. ( 0 ..^ ( # ` W ) ) ( ( i + ( j x. L ) ) mod ( # ` W ) ) = 0 -> ( ( ( ( W e. Word V /\ ( # ` W ) e. Prime ) /\ ( L e. ZZ /\ ( L mod ( # ` W ) ) =/= 0 /\ ( W cyclShift L ) = W ) ) /\ i e. ( 0 ..^ ( # ` W ) ) ) -> ( W ` i ) = ( W ` 0 ) ) ) |
| 33 |
10 32
|
mpcom |
|- ( ( ( ( W e. Word V /\ ( # ` W ) e. Prime ) /\ ( L e. ZZ /\ ( L mod ( # ` W ) ) =/= 0 /\ ( W cyclShift L ) = W ) ) /\ i e. ( 0 ..^ ( # ` W ) ) ) -> ( W ` i ) = ( W ` 0 ) ) |
| 34 |
33
|
ralrimiva |
|- ( ( ( W e. Word V /\ ( # ` W ) e. Prime ) /\ ( L e. ZZ /\ ( L mod ( # ` W ) ) =/= 0 /\ ( W cyclShift L ) = W ) ) -> A. i e. ( 0 ..^ ( # ` W ) ) ( W ` i ) = ( W ` 0 ) ) |
| 35 |
|
repswsymballbi |
|- ( W e. Word V -> ( W = ( ( W ` 0 ) repeatS ( # ` W ) ) <-> A. i e. ( 0 ..^ ( # ` W ) ) ( W ` i ) = ( W ` 0 ) ) ) |
| 36 |
35
|
ad2antrr |
|- ( ( ( W e. Word V /\ ( # ` W ) e. Prime ) /\ ( L e. ZZ /\ ( L mod ( # ` W ) ) =/= 0 /\ ( W cyclShift L ) = W ) ) -> ( W = ( ( W ` 0 ) repeatS ( # ` W ) ) <-> A. i e. ( 0 ..^ ( # ` W ) ) ( W ` i ) = ( W ` 0 ) ) ) |
| 37 |
34 36
|
mpbird |
|- ( ( ( W e. Word V /\ ( # ` W ) e. Prime ) /\ ( L e. ZZ /\ ( L mod ( # ` W ) ) =/= 0 /\ ( W cyclShift L ) = W ) ) -> W = ( ( W ` 0 ) repeatS ( # ` W ) ) ) |
| 38 |
37
|
ex |
|- ( ( W e. Word V /\ ( # ` W ) e. Prime ) -> ( ( L e. ZZ /\ ( L mod ( # ` W ) ) =/= 0 /\ ( W cyclShift L ) = W ) -> W = ( ( W ` 0 ) repeatS ( # ` W ) ) ) ) |