Description: Cyclically shifting a word preserves its range. (Contributed by Thierry Arnoux, 19-Sep-2023)
Ref | Expression | ||
---|---|---|---|
Assertion | cshwrnid | |
Step | Hyp | Ref | Expression |
---|---|---|---|
1 | elfzoelz | |
|
2 | 1 | 3ad2ant3 | |
3 | simp2 | |
|
4 | 2 3 | zsubcld | |
5 | elfzo0 | |
|
6 | 5 | simp2bi | |
7 | 6 | 3ad2ant3 | |
8 | zmodfzo | |
|
9 | 4 7 8 | syl2anc | |
10 | 9 | 3expa | |
11 | elfzoelz | |
|
12 | 11 | adantl | |
13 | simplr | |
|
14 | 12 13 | zaddcld | |
15 | elfzo0 | |
|
16 | 15 | simp2bi | |
17 | 16 | adantl | |
18 | zmodfzo | |
|
19 | 14 17 18 | syl2anc | |
20 | simpr | |
|
21 | 20 | oveq1d | |
22 | 21 | oveq1d | |
23 | 22 | eqeq2d | |
24 | 12 | zred | |
25 | 13 | zred | |
26 | 24 25 | readdcld | |
27 | 17 | nnrpd | |
28 | modsubmod | |
|
29 | 26 25 27 28 | syl3anc | |
30 | 12 | zcnd | |
31 | 13 | zcnd | |
32 | 30 31 | pncand | |
33 | 32 | oveq1d | |
34 | zmodidfzoimp | |
|
35 | 34 | adantl | |
36 | 29 33 35 | 3eqtrrd | |
37 | 19 23 36 | rspcedvd | |
38 | simp3 | |
|
39 | 38 | fveq2d | |
40 | simp1l | |
|
41 | simp1r | |
|
42 | simp2 | |
|
43 | cshwidxmodr | |
|
44 | 40 41 42 43 | syl3anc | |
45 | 39 44 | eqtrd | |
46 | 45 | eqeq2d | |
47 | 10 37 46 | rexxfrd2 | |
48 | 47 | abbidv | |
49 | cshwfn | |
|
50 | fnrnfv | |
|
51 | 49 50 | syl | |
52 | wrdfn | |
|
53 | 52 | adantr | |
54 | fnrnfv | |
|
55 | 53 54 | syl | |
56 | 48 51 55 | 3eqtr4d | |