Metamath Proof Explorer


Theorem cshwidxmodr

Description: The symbol at a given index of a cyclically shifted nonempty word is the symbol at the shifted index of the original word. (Contributed by AV, 17-Mar-2021)

Ref Expression
Assertion cshwidxmodr W Word V N I 0 ..^ W W cyclShift N I N mod W = W I

Proof

Step Hyp Ref Expression
1 elfzo0 I 0 ..^ W I 0 W I < W
2 nn0z I 0 I
3 2 3ad2ant1 I 0 W I < W I
4 zsubcl I N I N
5 3 4 sylan I 0 W I < W N I N
6 simpl2 I 0 W I < W N W
7 5 6 jca I 0 W I < W N I N W
8 7 ex I 0 W I < W N I N W
9 1 8 sylbi I 0 ..^ W N I N W
10 9 impcom N I 0 ..^ W I N W
11 10 3adant1 W Word V N I 0 ..^ W I N W
12 zmodfzo I N W I N mod W 0 ..^ W
13 11 12 syl W Word V N I 0 ..^ W I N mod W 0 ..^ W
14 cshwidxmod W Word V N I N mod W 0 ..^ W W cyclShift N I N mod W = W I N mod W + N mod W
15 13 14 syld3an3 W Word V N I 0 ..^ W W cyclShift N I N mod W = W I N mod W + N mod W
16 elfzoelz I 0 ..^ W I
17 16 adantl I 0 W I 0 ..^ W I
18 17 4 sylan I 0 W I 0 ..^ W N I N
19 18 zred I 0 W I 0 ..^ W N I N
20 zre N N
21 20 adantl I 0 W I 0 ..^ W N N
22 nnrp W W +
23 22 ad3antlr I 0 W I 0 ..^ W N W +
24 modaddmod I N N W + I N mod W + N mod W = I - N + N mod W
25 19 21 23 24 syl3anc I 0 W I 0 ..^ W N I N mod W + N mod W = I - N + N mod W
26 nn0cn I 0 I
27 26 ad2antrr I 0 W I 0 ..^ W I
28 zcn N N
29 npcan I N I - N + N = I
30 27 28 29 syl2an I 0 W I 0 ..^ W N I - N + N = I
31 30 oveq1d I 0 W I 0 ..^ W N I - N + N mod W = I mod W
32 zmodidfzoimp I 0 ..^ W I mod W = I
33 32 ad2antlr I 0 W I 0 ..^ W N I mod W = I
34 25 31 33 3eqtrd I 0 W I 0 ..^ W N I N mod W + N mod W = I
35 34 fveq2d I 0 W I 0 ..^ W N W I N mod W + N mod W = W I
36 35 ex I 0 W I 0 ..^ W N W I N mod W + N mod W = W I
37 36 ex I 0 W I 0 ..^ W N W I N mod W + N mod W = W I
38 37 3adant3 I 0 W I < W I 0 ..^ W N W I N mod W + N mod W = W I
39 1 38 sylbi I 0 ..^ W I 0 ..^ W N W I N mod W + N mod W = W I
40 39 pm2.43i I 0 ..^ W N W I N mod W + N mod W = W I
41 40 impcom N I 0 ..^ W W I N mod W + N mod W = W I
42 41 3adant1 W Word V N I 0 ..^ W W I N mod W + N mod W = W I
43 15 42 eqtrd W Word V N I 0 ..^ W W cyclShift N I N mod W = W I