Metamath Proof Explorer


Theorem 2cshwcshw

Description: If a word is a cyclically shifted word, and a second word is the result of cyclically shifting the same word, then the second word is the result of cyclically shifting the first word. (Contributed by AV, 11-May-2018) (Revised by AV, 12-Jun-2018) (Proof shortened by AV, 3-Nov-2018)

Ref Expression
Assertion 2cshwcshw YWordVY=NK0NX=YcyclShiftKm0NZ=YcyclShiftmn0NZ=XcyclShiftn

Proof

Step Hyp Ref Expression
1 difelfznle K0Nm0N¬Kmm+N-K0N
2 1 3exp K0Nm0N¬Kmm+N-K0N
3 2 ad2antrr K0NYWordVY=NX=YcyclShiftKm0N¬Kmm+N-K0N
4 3 imp K0NYWordVY=NX=YcyclShiftKm0N¬Kmm+N-K0N
5 4 adantr K0NYWordVY=NX=YcyclShiftKm0NZ=YcyclShiftm¬Kmm+N-K0N
6 5 com12 ¬KmK0NYWordVY=NX=YcyclShiftKm0NZ=YcyclShiftmm+N-K0N
7 6 adantl ¬m=0¬KmK0NYWordVY=NX=YcyclShiftKm0NZ=YcyclShiftmm+N-K0N
8 7 imp ¬m=0¬KmK0NYWordVY=NX=YcyclShiftKm0NZ=YcyclShiftmm+N-K0N
9 simprl K0NYWordVY=NYWordV
10 9 ad2antrr K0NYWordVY=N¬m=0¬Kmm0NYWordV
11 elfzelz K0NK
12 11 adantr K0NYWordVY=NK
13 12 ad2antrr K0NYWordVY=N¬m=0¬Kmm0NK
14 elfz2 K0N0NK0KKN
15 zaddcl mNm+N
16 15 adantrr mNKm+N
17 simprr mNKK
18 16 17 zsubcld mNKm+N-K
19 18 ex mNKm+N-K
20 elfzelz m0Nm
21 19 20 syl11 NKm0Nm+N-K
22 21 3adant1 0NKm0Nm+N-K
23 22 adantr 0NK0KKNm0Nm+N-K
24 14 23 sylbi K0Nm0Nm+N-K
25 24 ad2antrr K0NYWordVY=N¬m=0¬Kmm0Nm+N-K
26 25 imp K0NYWordVY=N¬m=0¬Kmm0Nm+N-K
27 2cshw YWordVKm+N-KYcyclShiftKcyclShiftm+N-K=YcyclShiftK+m+N-K
28 10 13 26 27 syl3anc K0NYWordVY=N¬m=0¬Kmm0NYcyclShiftKcyclShiftm+N-K=YcyclShiftK+m+N-K
29 17 18 zaddcld mNKK+m+N-K
30 29 ex mNKK+m+N-K
31 30 20 syl11 NKm0NK+m+N-K
32 31 3adant1 0NKm0NK+m+N-K
33 32 adantr 0NK0KKNm0NK+m+N-K
34 14 33 sylbi K0Nm0NK+m+N-K
35 34 ad2antrr K0NYWordVY=N¬m=0¬Kmm0NK+m+N-K
36 35 imp K0NYWordVY=N¬m=0¬Kmm0NK+m+N-K
37 cshwsublen YWordVK+m+N-KYcyclShiftK+m+N-K=YcyclShiftK+m+N-K-Y
38 10 36 37 syl2anc K0NYWordVY=N¬m=0¬Kmm0NYcyclShiftK+m+N-K=YcyclShiftK+m+N-K-Y
39 28 38 eqtrd K0NYWordVY=N¬m=0¬Kmm0NYcyclShiftKcyclShiftm+N-K=YcyclShiftK+m+N-K-Y
40 elfz2nn0 K0NK0N0KN
41 nn0cn m0m
42 nn0cn K0K
43 nn0cn N0N
44 42 43 anim12i K0N0KN
45 simprl mKNK
46 addcl mNm+N
47 46 adantrl mKNm+N
48 45 47 pncan3d mKNK+m+N-K=m+N
49 48 oveq1d mKNK+m+N-K-N=m+N-N
50 pncan mNm+N-N=m
51 50 adantrl mKNm+N-N=m
52 49 51 eqtrd mKNK+m+N-K-N=m
53 41 44 52 syl2an m0K0N0K+m+N-K-N=m
54 53 ex m0K0N0K+m+N-K-N=m
55 elfznn0 m0Nm0
56 54 55 syl11 K0N0m0NK+m+N-K-N=m
57 56 3adant3 K0N0KNm0NK+m+N-K-N=m
58 40 57 sylbi K0Nm0NK+m+N-K-N=m
59 58 adantr K0NYWordVY=Nm0NK+m+N-K-N=m
60 oveq2 Y=NK+m+N-K-Y=K+m+N-K-N
61 60 eqeq1d Y=NK+m+N-K-Y=mK+m+N-K-N=m
62 61 imbi2d Y=Nm0NK+m+N-K-Y=mm0NK+m+N-K-N=m
63 62 adantl YWordVY=Nm0NK+m+N-K-Y=mm0NK+m+N-K-N=m
64 63 adantl K0NYWordVY=Nm0NK+m+N-K-Y=mm0NK+m+N-K-N=m
65 59 64 mpbird K0NYWordVY=Nm0NK+m+N-K-Y=m
66 65 adantr K0NYWordVY=N¬m=0¬Kmm0NK+m+N-K-Y=m
67 66 imp K0NYWordVY=N¬m=0¬Kmm0NK+m+N-K-Y=m
68 67 oveq2d K0NYWordVY=N¬m=0¬Kmm0NYcyclShiftK+m+N-K-Y=YcyclShiftm
69 39 68 eqtr2d K0NYWordVY=N¬m=0¬Kmm0NYcyclShiftm=YcyclShiftKcyclShiftm+N-K
70 69 adantr K0NYWordVY=N¬m=0¬Kmm0NX=YcyclShiftKYcyclShiftm=YcyclShiftKcyclShiftm+N-K
71 oveq1 X=YcyclShiftKXcyclShiftm+N-K=YcyclShiftKcyclShiftm+N-K
72 71 adantl K0NYWordVY=N¬m=0¬Kmm0NX=YcyclShiftKXcyclShiftm+N-K=YcyclShiftKcyclShiftm+N-K
73 70 72 eqtr4d K0NYWordVY=N¬m=0¬Kmm0NX=YcyclShiftKYcyclShiftm=XcyclShiftm+N-K
74 73 exp41 K0NYWordVY=N¬m=0¬Kmm0NX=YcyclShiftKYcyclShiftm=XcyclShiftm+N-K
75 74 com24 K0NYWordVY=NX=YcyclShiftKm0N¬m=0¬KmYcyclShiftm=XcyclShiftm+N-K
76 75 imp41 K0NYWordVY=NX=YcyclShiftKm0N¬m=0¬KmYcyclShiftm=XcyclShiftm+N-K
77 76 eqeq2d K0NYWordVY=NX=YcyclShiftKm0N¬m=0¬KmZ=YcyclShiftmZ=XcyclShiftm+N-K
78 77 biimpd K0NYWordVY=NX=YcyclShiftKm0N¬m=0¬KmZ=YcyclShiftmZ=XcyclShiftm+N-K
79 78 impancom K0NYWordVY=NX=YcyclShiftKm0NZ=YcyclShiftm¬m=0¬KmZ=XcyclShiftm+N-K
80 79 impcom ¬m=0¬KmK0NYWordVY=NX=YcyclShiftKm0NZ=YcyclShiftmZ=XcyclShiftm+N-K
81 oveq2 n=m+N-KXcyclShiftn=XcyclShiftm+N-K
82 81 rspceeqv m+N-K0NZ=XcyclShiftm+N-Kn0NZ=XcyclShiftn
83 8 80 82 syl2anc ¬m=0¬KmK0NYWordVY=NX=YcyclShiftKm0NZ=YcyclShiftmn0NZ=XcyclShiftn
84 83 exp31 ¬m=0¬KmK0NYWordVY=NX=YcyclShiftKm0NZ=YcyclShiftmn0NZ=XcyclShiftn
85 oveq2 m=0YcyclShiftm=YcyclShift0
86 85 eqeq2d m=0Z=YcyclShiftmZ=YcyclShift0
87 cshw0 YWordVYcyclShift0=Y
88 87 adantr YWordVY=NYcyclShift0=Y
89 88 eqeq2d YWordVY=NZ=YcyclShift0Z=Y
90 fznn0sub2 K0NNK0N
91 90 adantl YWordVY=NK0NNK0N
92 oveq1 Y=NYK=NK
93 92 eleq1d Y=NYK0NNK0N
94 93 ad2antlr YWordVY=NK0NYK0NNK0N
95 91 94 mpbird YWordVY=NK0NYK0N
96 95 adantr YWordVY=NK0NX=YcyclShiftKYK0N
97 oveq1 X=YcyclShiftKXcyclShiftYK=YcyclShiftKcyclShiftYK
98 simpl YWordVY=NYWordV
99 2cshwid YWordVKYcyclShiftKcyclShiftYK=Y
100 98 11 99 syl2an YWordVY=NK0NYcyclShiftKcyclShiftYK=Y
101 97 100 sylan9eqr YWordVY=NK0NX=YcyclShiftKXcyclShiftYK=Y
102 101 eqcomd YWordVY=NK0NX=YcyclShiftKY=XcyclShiftYK
103 oveq2 n=YKXcyclShiftn=XcyclShiftYK
104 103 rspceeqv YK0NY=XcyclShiftYKn0NY=XcyclShiftn
105 96 102 104 syl2anc YWordVY=NK0NX=YcyclShiftKn0NY=XcyclShiftn
106 105 adantr YWordVY=NK0NX=YcyclShiftKZ=Yn0NY=XcyclShiftn
107 eqeq1 Z=YZ=XcyclShiftnY=XcyclShiftn
108 107 rexbidv Z=Yn0NZ=XcyclShiftnn0NY=XcyclShiftn
109 108 adantl YWordVY=NK0NX=YcyclShiftKZ=Yn0NZ=XcyclShiftnn0NY=XcyclShiftn
110 106 109 mpbird YWordVY=NK0NX=YcyclShiftKZ=Yn0NZ=XcyclShiftn
111 110 exp41 YWordVY=NK0NX=YcyclShiftKZ=Yn0NZ=XcyclShiftn
112 111 com24 YWordVY=NZ=YX=YcyclShiftKK0Nn0NZ=XcyclShiftn
113 89 112 sylbid YWordVY=NZ=YcyclShift0X=YcyclShiftKK0Nn0NZ=XcyclShiftn
114 113 com24 YWordVY=NK0NX=YcyclShiftKZ=YcyclShift0n0NZ=XcyclShiftn
115 114 impcom K0NYWordVY=NX=YcyclShiftKZ=YcyclShift0n0NZ=XcyclShiftn
116 115 com13 Z=YcyclShift0X=YcyclShiftKK0NYWordVY=Nn0NZ=XcyclShiftn
117 116 a1d Z=YcyclShift0m0NX=YcyclShiftKK0NYWordVY=Nn0NZ=XcyclShiftn
118 86 117 biimtrdi m=0Z=YcyclShiftmm0NX=YcyclShiftKK0NYWordVY=Nn0NZ=XcyclShiftn
119 118 com24 m=0X=YcyclShiftKm0NZ=YcyclShiftmK0NYWordVY=Nn0NZ=XcyclShiftn
120 119 com15 K0NYWordVY=NX=YcyclShiftKm0NZ=YcyclShiftmm=0n0NZ=XcyclShiftn
121 120 imp41 K0NYWordVY=NX=YcyclShiftKm0NZ=YcyclShiftmm=0n0NZ=XcyclShiftn
122 121 com12 m=0K0NYWordVY=NX=YcyclShiftKm0NZ=YcyclShiftmn0NZ=XcyclShiftn
123 difelfzle K0Nm0NKmmK0N
124 123 3exp K0Nm0NKmmK0N
125 124 ad2antrr K0NYWordVY=NX=YcyclShiftKm0NKmmK0N
126 125 imp K0NYWordVY=NX=YcyclShiftKm0NKmmK0N
127 126 adantr K0NYWordVY=NX=YcyclShiftKm0NZ=YcyclShiftmKmmK0N
128 127 impcom KmK0NYWordVY=NX=YcyclShiftKm0NZ=YcyclShiftmmK0N
129 9 ad2antrr K0NYWordVY=NKmm0NYWordV
130 12 ad2antrr K0NYWordVY=NKmm0NK
131 zsubcl mKmK
132 131 ex mKmK
133 20 11 132 syl2imc K0Nm0NmK
134 133 ad2antrr K0NYWordVY=NKmm0NmK
135 134 imp K0NYWordVY=NKmm0NmK
136 2cshw YWordVKmKYcyclShiftKcyclShiftmK=YcyclShiftK+m-K
137 129 130 135 136 syl3anc K0NYWordVY=NKmm0NYcyclShiftKcyclShiftmK=YcyclShiftK+m-K
138 zcn KK
139 20 zcnd m0Nm
140 pncan3 KmK+m-K=m
141 138 139 140 syl2anr m0NKK+m-K=m
142 141 ex m0NKK+m-K=m
143 11 142 syl5com K0Nm0NK+m-K=m
144 143 ad2antrr K0NYWordVY=NKmm0NK+m-K=m
145 144 imp K0NYWordVY=NKmm0NK+m-K=m
146 145 oveq2d K0NYWordVY=NKmm0NYcyclShiftK+m-K=YcyclShiftm
147 137 146 eqtr2d K0NYWordVY=NKmm0NYcyclShiftm=YcyclShiftKcyclShiftmK
148 147 adantr K0NYWordVY=NKmm0NX=YcyclShiftKYcyclShiftm=YcyclShiftKcyclShiftmK
149 oveq1 X=YcyclShiftKXcyclShiftmK=YcyclShiftKcyclShiftmK
150 149 eqeq2d X=YcyclShiftKYcyclShiftm=XcyclShiftmKYcyclShiftm=YcyclShiftKcyclShiftmK
151 150 adantl K0NYWordVY=NKmm0NX=YcyclShiftKYcyclShiftm=XcyclShiftmKYcyclShiftm=YcyclShiftKcyclShiftmK
152 148 151 mpbird K0NYWordVY=NKmm0NX=YcyclShiftKYcyclShiftm=XcyclShiftmK
153 152 eqeq2d K0NYWordVY=NKmm0NX=YcyclShiftKZ=YcyclShiftmZ=XcyclShiftmK
154 153 biimpd K0NYWordVY=NKmm0NX=YcyclShiftKZ=YcyclShiftmZ=XcyclShiftmK
155 154 exp41 K0NYWordVY=NKmm0NX=YcyclShiftKZ=YcyclShiftmZ=XcyclShiftmK
156 155 com24 K0NYWordVY=NX=YcyclShiftKm0NKmZ=YcyclShiftmZ=XcyclShiftmK
157 156 imp31 K0NYWordVY=NX=YcyclShiftKm0NKmZ=YcyclShiftmZ=XcyclShiftmK
158 157 com23 K0NYWordVY=NX=YcyclShiftKm0NZ=YcyclShiftmKmZ=XcyclShiftmK
159 158 imp K0NYWordVY=NX=YcyclShiftKm0NZ=YcyclShiftmKmZ=XcyclShiftmK
160 159 impcom KmK0NYWordVY=NX=YcyclShiftKm0NZ=YcyclShiftmZ=XcyclShiftmK
161 oveq2 n=mKXcyclShiftn=XcyclShiftmK
162 161 rspceeqv mK0NZ=XcyclShiftmKn0NZ=XcyclShiftn
163 128 160 162 syl2anc KmK0NYWordVY=NX=YcyclShiftKm0NZ=YcyclShiftmn0NZ=XcyclShiftn
164 163 ex KmK0NYWordVY=NX=YcyclShiftKm0NZ=YcyclShiftmn0NZ=XcyclShiftn
165 84 122 164 pm2.61ii K0NYWordVY=NX=YcyclShiftKm0NZ=YcyclShiftmn0NZ=XcyclShiftn
166 165 rexlimdva2 K0NYWordVY=NX=YcyclShiftKm0NZ=YcyclShiftmn0NZ=XcyclShiftn
167 166 ex K0NYWordVY=NX=YcyclShiftKm0NZ=YcyclShiftmn0NZ=XcyclShiftn
168 167 com23 K0NYWordVY=Nm0NZ=YcyclShiftmX=YcyclShiftKn0NZ=XcyclShiftn
169 168 ex K0NYWordVY=Nm0NZ=YcyclShiftmX=YcyclShiftKn0NZ=XcyclShiftn
170 169 com24 K0NX=YcyclShiftKm0NZ=YcyclShiftmYWordVY=Nn0NZ=XcyclShiftn
171 170 3imp K0NX=YcyclShiftKm0NZ=YcyclShiftmYWordVY=Nn0NZ=XcyclShiftn
172 171 com12 YWordVY=NK0NX=YcyclShiftKm0NZ=YcyclShiftmn0NZ=XcyclShiftn