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