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 rspcedeqvd ⊢ 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 rspcedeqvd ⊢ ¬ 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