Metamath Proof Explorer


Theorem cshweqdif2

Description: If cyclically shifting two words (of the same length) results in the same word, cyclically shifting one of the words by the difference of the numbers of shifts results in the other word. (Contributed by AV, 21-Apr-2018) (Revised by AV, 6-Jun-2018) (Revised by AV, 1-Nov-2018)

Ref Expression
Assertion cshweqdif2 WWordVUWordVNMWcyclShiftN=UcyclShiftMUcyclShiftMN=W

Proof

Step Hyp Ref Expression
1 simpr WWordVUWordVUWordV
2 1 adantr WWordVUWordVNMUWordV
3 zsubcl MNMN
4 3 ancoms NMMN
5 4 adantl WWordVUWordVNMMN
6 simpr NMM
7 6 adantl WWordVUWordVNMM
8 2 5 7 3jca WWordVUWordVNMUWordVMNM
9 8 adantr WWordVUWordVNMWcyclShiftN=UcyclShiftMUWordVMNM
10 3cshw UWordVMNMUcyclShiftMN=UcyclShiftMcyclShiftMNcyclShiftUM
11 9 10 syl WWordVUWordVNMWcyclShiftN=UcyclShiftMUcyclShiftMN=UcyclShiftMcyclShiftMNcyclShiftUM
12 simpl WWordVUWordVNMWWordVUWordV
13 12 ancomd WWordVUWordVNMUWordVWWordV
14 13 adantr WWordVUWordVNMWcyclShiftN=UcyclShiftMUWordVWWordV
15 simpr WWordVUWordVNMNM
16 15 ancomd WWordVUWordVNMMN
17 16 adantr WWordVUWordVNMWcyclShiftN=UcyclShiftMMN
18 simpr WWordVUWordVNMWcyclShiftN=UcyclShiftMWcyclShiftN=UcyclShiftM
19 18 eqcomd WWordVUWordVNMWcyclShiftN=UcyclShiftMUcyclShiftM=WcyclShiftN
20 cshwleneq UWordVWWordVMNUcyclShiftM=WcyclShiftNU=W
21 14 17 19 20 syl3anc WWordVUWordVNMWcyclShiftN=UcyclShiftMU=W
22 21 oveq1d WWordVUWordVNMWcyclShiftN=UcyclShiftMUM=WM
23 22 oveq2d WWordVUWordVNMWcyclShiftN=UcyclShiftMUcyclShiftMcyclShiftMNcyclShiftUM=UcyclShiftMcyclShiftMNcyclShiftWM
24 11 23 eqtrd WWordVUWordVNMWcyclShiftN=UcyclShiftMUcyclShiftMN=UcyclShiftMcyclShiftMNcyclShiftWM
25 19 oveq1d WWordVUWordVNMWcyclShiftN=UcyclShiftMUcyclShiftMcyclShiftMN=WcyclShiftNcyclShiftMN
26 simpl WWordVUWordVWWordV
27 26 adantr WWordVUWordVNMWWordV
28 simpl NMN
29 28 adantl WWordVUWordVNMN
30 27 29 5 3jca WWordVUWordVNMWWordVNMN
31 30 adantr WWordVUWordVNMWcyclShiftN=UcyclShiftMWWordVNMN
32 2cshw WWordVNMNWcyclShiftNcyclShiftMN=WcyclShiftN+M-N
33 31 32 syl WWordVUWordVNMWcyclShiftN=UcyclShiftMWcyclShiftNcyclShiftMN=WcyclShiftN+M-N
34 zcn NN
35 zcn MM
36 34 35 anim12i NMNM
37 36 adantl WWordVUWordVNMNM
38 37 adantr WWordVUWordVNMWcyclShiftN=UcyclShiftMNM
39 pncan3 NMN+M-N=M
40 38 39 syl WWordVUWordVNMWcyclShiftN=UcyclShiftMN+M-N=M
41 40 oveq2d WWordVUWordVNMWcyclShiftN=UcyclShiftMWcyclShiftN+M-N=WcyclShiftM
42 25 33 41 3eqtrd WWordVUWordVNMWcyclShiftN=UcyclShiftMUcyclShiftMcyclShiftMN=WcyclShiftM
43 42 oveq1d WWordVUWordVNMWcyclShiftN=UcyclShiftMUcyclShiftMcyclShiftMNcyclShiftWM=WcyclShiftMcyclShiftWM
44 lencl WWordVW0
45 44 nn0zd WWordVW
46 45 adantr WWordVUWordVW
47 zsubcl WMWM
48 46 6 47 syl2an WWordVUWordVNMWM
49 27 7 48 3jca WWordVUWordVNMWWordVMWM
50 49 adantr WWordVUWordVNMWcyclShiftN=UcyclShiftMWWordVMWM
51 2cshw WWordVMWMWcyclShiftMcyclShiftWM=WcyclShiftM+W-M
52 50 51 syl WWordVUWordVNMWcyclShiftN=UcyclShiftMWcyclShiftMcyclShiftWM=WcyclShiftM+W-M
53 24 43 52 3eqtrd WWordVUWordVNMWcyclShiftN=UcyclShiftMUcyclShiftMN=WcyclShiftM+W-M
54 44 nn0cnd WWordVW
55 54 adantr WWordVUWordVW
56 35 adantl NMM
57 55 56 anim12i WWordVUWordVNMWM
58 57 ancomd WWordVUWordVNMMW
59 58 adantr WWordVUWordVNMWcyclShiftN=UcyclShiftMMW
60 pncan3 MWM+W-M=W
61 59 60 syl WWordVUWordVNMWcyclShiftN=UcyclShiftMM+W-M=W
62 61 oveq2d WWordVUWordVNMWcyclShiftN=UcyclShiftMWcyclShiftM+W-M=WcyclShiftW
63 cshwn WWordVWcyclShiftW=W
64 27 63 syl WWordVUWordVNMWcyclShiftW=W
65 64 adantr WWordVUWordVNMWcyclShiftN=UcyclShiftMWcyclShiftW=W
66 53 62 65 3eqtrd WWordVUWordVNMWcyclShiftN=UcyclShiftMUcyclShiftMN=W
67 66 ex WWordVUWordVNMWcyclShiftN=UcyclShiftMUcyclShiftMN=W