Metamath Proof Explorer


Theorem eucrctshift

Description: Cyclically shifting the indices of an Eulerian circuit <. F , P >. results in an Eulerian circuit <. H , Q >. . (Contributed by AV, 15-Mar-2021) (Proof shortened by AV, 30-Oct-2021)

Ref Expression
Hypotheses eucrctshift.v V = Vtx G
eucrctshift.i I = iEdg G
eucrctshift.c φ F Circuits G P
eucrctshift.n N = F
eucrctshift.s φ S 0 ..^ N
eucrctshift.h H = F cyclShift S
eucrctshift.q Q = x 0 N if x N S P x + S P x + S - N
eucrctshift.e φ F EulerPaths G P
Assertion eucrctshift φ H EulerPaths G Q H Circuits G Q

Proof

Step Hyp Ref Expression
1 eucrctshift.v V = Vtx G
2 eucrctshift.i I = iEdg G
3 eucrctshift.c φ F Circuits G P
4 eucrctshift.n N = F
5 eucrctshift.s φ S 0 ..^ N
6 eucrctshift.h H = F cyclShift S
7 eucrctshift.q Q = x 0 N if x N S P x + S P x + S - N
8 eucrctshift.e φ F EulerPaths G P
9 1 2 3 4 5 6 7 crctcshtrl φ H Trails G Q
10 simpr φ H Trails G Q H Trails G Q
11 2 eupthf1o F EulerPaths G P F : 0 ..^ F 1-1 onto dom I
12 8 11 syl φ F : 0 ..^ F 1-1 onto dom I
13 12 adantr φ H Trails G Q F : 0 ..^ F 1-1 onto dom I
14 trliswlk H Trails G Q H Walks G Q
15 2 wlkf H Walks G Q H Word dom I
16 wrdf H Word dom I H : 0 ..^ H dom I
17 df-f1o F : 0 ..^ F 1-1 onto dom I F : 0 ..^ F 1-1 dom I F : 0 ..^ F onto dom I
18 dffo3 F : 0 ..^ F onto dom I F : 0 ..^ F dom I i dom I y 0 ..^ F i = F y
19 crctiswlk F Circuits G P F Walks G P
20 2 wlkf F Walks G P F Word dom I
21 lencl F Word dom I F 0
22 4 oveq2i 0 ..^ N = 0 ..^ F
23 22 eleq2i S 0 ..^ N S 0 ..^ F
24 elfzonn0 S 0 ..^ F S 0
25 24 adantl F 0 S 0 ..^ F S 0
26 elfzonn0 y 0 ..^ F y 0
27 nn0sub S 0 y 0 S y y S 0
28 25 26 27 syl2an F 0 S 0 ..^ F y 0 ..^ F S y y S 0
29 28 biimpac S y F 0 S 0 ..^ F y 0 ..^ F y S 0
30 elfzo0 y 0 ..^ F y 0 F y < F
31 simp2 y 0 F y < F F
32 30 31 sylbi y 0 ..^ F F
33 32 ad2antll S y F 0 S 0 ..^ F y 0 ..^ F F
34 nn0re y 0 y
35 34 ad2antrr y 0 F S 0 ..^ F y
36 nnre F F
37 36 adantl y 0 F F
38 37 adantr y 0 F S 0 ..^ F F
39 elfzoelz S 0 ..^ F S
40 39 zred S 0 ..^ F S
41 readdcl F S F + S
42 37 40 41 syl2an y 0 F S 0 ..^ F F + S
43 35 38 42 3jca y 0 F S 0 ..^ F y F F + S
44 elfzole1 S 0 ..^ F 0 S
45 44 adantl y 0 F S 0 ..^ F 0 S
46 addge01 F S 0 S F F + S
47 37 40 46 syl2an y 0 F S 0 ..^ F 0 S F F + S
48 45 47 mpbid y 0 F S 0 ..^ F F F + S
49 43 48 lelttrdi y 0 F S 0 ..^ F y < F y < F + S
50 49 ex y 0 F S 0 ..^ F y < F y < F + S
51 50 com23 y 0 F y < F S 0 ..^ F y < F + S
52 51 3impia y 0 F y < F S 0 ..^ F y < F + S
53 52 adantld y 0 F y < F F 0 S 0 ..^ F y < F + S
54 53 imp y 0 F y < F F 0 S 0 ..^ F y < F + S
55 34 3ad2ant1 y 0 F y < F y
56 55 adantr y 0 F y < F F 0 S 0 ..^ F y
57 40 ad2antll y 0 F y < F F 0 S 0 ..^ F S
58 elfzoel2 S 0 ..^ F F
59 58 zred S 0 ..^ F F
60 59 ad2antll y 0 F y < F F 0 S 0 ..^ F F
61 56 57 60 ltsubaddd y 0 F y < F F 0 S 0 ..^ F y S < F y < F + S
62 54 61 mpbird y 0 F y < F F 0 S 0 ..^ F y S < F
63 62 ex y 0 F y < F F 0 S 0 ..^ F y S < F
64 30 63 sylbi y 0 ..^ F F 0 S 0 ..^ F y S < F
65 64 impcom F 0 S 0 ..^ F y 0 ..^ F y S < F
66 65 adantl S y F 0 S 0 ..^ F y 0 ..^ F y S < F
67 elfzo0 y S 0 ..^ F y S 0 F y S < F
68 29 33 66 67 syl3anbrc S y F 0 S 0 ..^ F y 0 ..^ F y S 0 ..^ F
69 oveq1 z = y S z + S = y - S + S
70 69 oveq1d z = y S z + S mod F = y - S + S mod F
71 39 zcnd S 0 ..^ F S
72 71 adantl F 0 S 0 ..^ F S
73 elfzoelz y 0 ..^ F y
74 73 zcnd y 0 ..^ F y
75 72 74 anim12ci F 0 S 0 ..^ F y 0 ..^ F y S
76 75 adantl S y F 0 S 0 ..^ F y 0 ..^ F y S
77 npcan y S y - S + S = y
78 76 77 syl S y F 0 S 0 ..^ F y 0 ..^ F y - S + S = y
79 78 oveq1d S y F 0 S 0 ..^ F y 0 ..^ F y - S + S mod F = y mod F
80 zmodidfzoimp y 0 ..^ F y mod F = y
81 80 ad2antll S y F 0 S 0 ..^ F y 0 ..^ F y mod F = y
82 79 81 eqtrd S y F 0 S 0 ..^ F y 0 ..^ F y - S + S mod F = y
83 70 82 sylan9eqr S y F 0 S 0 ..^ F y 0 ..^ F z = y S z + S mod F = y
84 83 eqcomd S y F 0 S 0 ..^ F y 0 ..^ F z = y S y = z + S mod F
85 68 84 rspcedeq2vd S y F 0 S 0 ..^ F y 0 ..^ F z 0 ..^ F y = z + S mod F
86 elfzo0 S 0 ..^ F S 0 F S < F
87 nn0cn y 0 y
88 87 ad2antrr y 0 y < F S 0 F S < F y
89 nn0cn S 0 S
90 89 3ad2ant1 S 0 F S < F S
91 90 adantl y 0 y < F S 0 F S < F S
92 nncn F F
93 92 3ad2ant2 S 0 F S < F F
94 93 adantl y 0 y < F S 0 F S < F F
95 88 91 94 subadd23d y 0 y < F S 0 F S < F y - S + F = y + F - S
96 simpll y 0 y < F S 0 F S < F y 0
97 nn0z S 0 S
98 nnz F F
99 znnsub S F S < F F S
100 97 98 99 syl2an S 0 F S < F F S
101 100 biimp3a S 0 F S < F F S
102 101 adantl y 0 y < F S 0 F S < F F S
103 102 nnnn0d y 0 y < F S 0 F S < F F S 0
104 96 103 nn0addcld y 0 y < F S 0 F S < F y + F - S 0
105 95 104 eqeltrd y 0 y < F S 0 F S < F y - S + F 0
106 105 adantr y 0 y < F S 0 F S < F ¬ S y y - S + F 0
107 simplr2 y 0 y < F S 0 F S < F ¬ S y F
108 87 adantr y 0 y < F y
109 subcl y S y S
110 108 90 109 syl2an y 0 y < F S 0 F S < F y S
111 94 110 jca y 0 y < F S 0 F S < F F y S
112 111 adantr y 0 y < F S 0 F S < F ¬ S y F y S
113 addcom F y S F + y - S = y - S + F
114 112 113 syl y 0 y < F S 0 F S < F ¬ S y F + y - S = y - S + F
115 34 adantr y 0 y < F y
116 nn0re S 0 S
117 116 3ad2ant1 S 0 F S < F S
118 ltnle y S y < S ¬ S y
119 simpl y S y
120 simpr y S S
121 119 120 sublt0d y S y S < 0 y < S
122 121 biimprd y S y < S y S < 0
123 118 122 sylbird y S ¬ S y y S < 0
124 115 117 123 syl2an y 0 y < F S 0 F S < F ¬ S y y S < 0
125 124 imp y 0 y < F S 0 F S < F ¬ S y y S < 0
126 resubcl y S y S
127 115 117 126 syl2an y 0 y < F S 0 F S < F y S
128 36 3ad2ant2 S 0 F S < F F
129 128 adantl y 0 y < F S 0 F S < F F
130 127 129 jca y 0 y < F S 0 F S < F y S F
131 130 adantr y 0 y < F S 0 F S < F ¬ S y y S F
132 ltaddneg y S F y S < 0 F + y - S < F
133 131 132 syl y 0 y < F S 0 F S < F ¬ S y y S < 0 F + y - S < F
134 125 133 mpbid y 0 y < F S 0 F S < F ¬ S y F + y - S < F
135 114 134 eqbrtrrd y 0 y < F S 0 F S < F ¬ S y y - S + F < F
136 106 107 135 3jca y 0 y < F S 0 F S < F ¬ S y y - S + F 0 F y - S + F < F
137 136 exp31 y 0 y < F S 0 F S < F ¬ S y y - S + F 0 F y - S + F < F
138 137 3adant2 y 0 F y < F S 0 F S < F ¬ S y y - S + F 0 F y - S + F < F
139 86 138 biimtrid y 0 F y < F S 0 ..^ F ¬ S y y - S + F 0 F y - S + F < F
140 139 adantld y 0 F y < F F 0 S 0 ..^ F ¬ S y y - S + F 0 F y - S + F < F
141 30 140 sylbi y 0 ..^ F F 0 S 0 ..^ F ¬ S y y - S + F 0 F y - S + F < F
142 141 impcom F 0 S 0 ..^ F y 0 ..^ F ¬ S y y - S + F 0 F y - S + F < F
143 142 impcom ¬ S y F 0 S 0 ..^ F y 0 ..^ F y - S + F 0 F y - S + F < F
144 elfzo0 y - S + F 0 ..^ F y - S + F 0 F y - S + F < F
145 143 144 sylibr ¬ S y F 0 S 0 ..^ F y 0 ..^ F y - S + F 0 ..^ F
146 oveq1 z = y - S + F z + S = y S + F + S
147 146 oveq1d z = y - S + F z + S mod F = y S + F + S mod F
148 72 adantr F 0 S 0 ..^ F y 0 ..^ F S
149 74 adantl F 0 S 0 ..^ F y 0 ..^ F y
150 nn0cn F 0 F
151 150 ad2antrr F 0 S 0 ..^ F y 0 ..^ F F
152 148 149 151 3jca F 0 S 0 ..^ F y 0 ..^ F S y F
153 152 adantl ¬ S y F 0 S 0 ..^ F y 0 ..^ F S y F
154 simp2 S y F y
155 simp3 S y F F
156 simp1 S y F S
157 154 156 155 nppcand S y F y S + F + S = y + F
158 154 155 157 comraddd S y F y S + F + S = F + y
159 153 158 syl ¬ S y F 0 S 0 ..^ F y 0 ..^ F y S + F + S = F + y
160 159 oveq1d ¬ S y F 0 S 0 ..^ F y 0 ..^ F y S + F + S mod F = F + y mod F
161 30 biimpi y 0 ..^ F y 0 F y < F
162 161 ad2antll ¬ S y F 0 S 0 ..^ F y 0 ..^ F y 0 F y < F
163 addmodid y 0 F y < F F + y mod F = y
164 162 163 syl ¬ S y F 0 S 0 ..^ F y 0 ..^ F F + y mod F = y
165 160 164 eqtrd ¬ S y F 0 S 0 ..^ F y 0 ..^ F y S + F + S mod F = y
166 147 165 sylan9eqr ¬ S y F 0 S 0 ..^ F y 0 ..^ F z = y - S + F z + S mod F = y
167 166 eqcomd ¬ S y F 0 S 0 ..^ F y 0 ..^ F z = y - S + F y = z + S mod F
168 145 167 rspcedeq2vd ¬ S y F 0 S 0 ..^ F y 0 ..^ F z 0 ..^ F y = z + S mod F
169 85 168 pm2.61ian F 0 S 0 ..^ F y 0 ..^ F z 0 ..^ F y = z + S mod F
170 22 rexeqi z 0 ..^ N y = z + S mod F z 0 ..^ F y = z + S mod F
171 169 170 sylibr F 0 S 0 ..^ F y 0 ..^ F z 0 ..^ N y = z + S mod F
172 171 exp31 F 0 S 0 ..^ F y 0 ..^ F z 0 ..^ N y = z + S mod F
173 23 172 biimtrid F 0 S 0 ..^ N y 0 ..^ F z 0 ..^ N y = z + S mod F
174 19 20 21 173 4syl F Circuits G P S 0 ..^ N y 0 ..^ F z 0 ..^ N y = z + S mod F
175 3 5 174 sylc φ y 0 ..^ F z 0 ..^ N y = z + S mod F
176 175 adantr φ i dom I y 0 ..^ F z 0 ..^ N y = z + S mod F
177 176 imp φ i dom I y 0 ..^ F z 0 ..^ N y = z + S mod F
178 177 adantr φ i dom I y 0 ..^ F i = F y z 0 ..^ N y = z + S mod F
179 fveq2 y = z + S mod F F y = F z + S mod F
180 179 reximi z 0 ..^ N y = z + S mod F z 0 ..^ N F y = F z + S mod F
181 178 180 syl φ i dom I y 0 ..^ F i = F y z 0 ..^ N F y = F z + S mod F
182 3 19 20 3syl φ F Word dom I
183 182 ad3antrrr φ i dom I y 0 ..^ F i = F y F Word dom I
184 elfzoelz S 0 ..^ N S
185 5 184 syl φ S
186 185 ad3antrrr φ i dom I y 0 ..^ F i = F y S
187 22 eleq2i z 0 ..^ N z 0 ..^ F
188 187 biimpi z 0 ..^ N z 0 ..^ F
189 cshwidxmod F Word dom I S z 0 ..^ F F cyclShift S z = F z + S mod F
190 183 186 188 189 syl2an3an φ i dom I y 0 ..^ F i = F y z 0 ..^ N F cyclShift S z = F z + S mod F
191 190 eqeq2d φ i dom I y 0 ..^ F i = F y z 0 ..^ N F y = F cyclShift S z F y = F z + S mod F
192 191 rexbidva φ i dom I y 0 ..^ F i = F y z 0 ..^ N F y = F cyclShift S z z 0 ..^ N F y = F z + S mod F
193 181 192 mpbird φ i dom I y 0 ..^ F i = F y z 0 ..^ N F y = F cyclShift S z
194 1 2 3 4 5 6 crctcshlem2 φ H = N
195 194 oveq2d φ 0 ..^ H = 0 ..^ N
196 195 ad3antrrr φ i dom I y 0 ..^ F i = F y 0 ..^ H = 0 ..^ N
197 simpr φ i dom I y 0 ..^ F i = F y i = F y
198 6 fveq1i H z = F cyclShift S z
199 198 a1i φ i dom I y 0 ..^ F i = F y H z = F cyclShift S z
200 197 199 eqeq12d φ i dom I y 0 ..^ F i = F y i = H z F y = F cyclShift S z
201 196 200 rexeqbidv φ i dom I y 0 ..^ F i = F y z 0 ..^ H i = H z z 0 ..^ N F y = F cyclShift S z
202 193 201 mpbird φ i dom I y 0 ..^ F i = F y z 0 ..^ H i = H z
203 202 rexlimdva2 φ i dom I y 0 ..^ F i = F y z 0 ..^ H i = H z
204 203 ralimdva φ i dom I y 0 ..^ F i = F y i dom I z 0 ..^ H i = H z
205 204 impcom i dom I y 0 ..^ F i = F y φ i dom I z 0 ..^ H i = H z
206 205 anim1ci i dom I y 0 ..^ F i = F y φ H : 0 ..^ H dom I H : 0 ..^ H dom I i dom I z 0 ..^ H i = H z
207 dffo3 H : 0 ..^ H onto dom I H : 0 ..^ H dom I i dom I z 0 ..^ H i = H z
208 206 207 sylibr i dom I y 0 ..^ F i = F y φ H : 0 ..^ H dom I H : 0 ..^ H onto dom I
209 208 exp31 i dom I y 0 ..^ F i = F y φ H : 0 ..^ H dom I H : 0 ..^ H onto dom I
210 18 209 simplbiim F : 0 ..^ F onto dom I φ H : 0 ..^ H dom I H : 0 ..^ H onto dom I
211 17 210 simplbiim F : 0 ..^ F 1-1 onto dom I φ H : 0 ..^ H dom I H : 0 ..^ H onto dom I
212 211 com13 H : 0 ..^ H dom I φ F : 0 ..^ F 1-1 onto dom I H : 0 ..^ H onto dom I
213 14 15 16 212 4syl H Trails G Q φ F : 0 ..^ F 1-1 onto dom I H : 0 ..^ H onto dom I
214 213 impcom φ H Trails G Q F : 0 ..^ F 1-1 onto dom I H : 0 ..^ H onto dom I
215 13 214 mpd φ H Trails G Q H : 0 ..^ H onto dom I
216 10 215 jca φ H Trails G Q H Trails G Q H : 0 ..^ H onto dom I
217 9 216 mpdan φ H Trails G Q H : 0 ..^ H onto dom I
218 2 iseupth H EulerPaths G Q H Trails G Q H : 0 ..^ H onto dom I
219 217 218 sylibr φ H EulerPaths G Q
220 1 2 3 4 5 6 7 crctcsh φ H Circuits G Q
221 219 220 jca φ H EulerPaths G Q H Circuits G Q