Metamath Proof Explorer


Theorem cycpmco2lem5

Description: Lemma for cycpmco2 . (Contributed by Thierry Arnoux, 4-Jan-2024)

Ref Expression
Hypotheses cycpmco2.c ⊢ M = toCyc ⁡ D
cycpmco2.s ⊢ S = SymGrp ⁡ D
cycpmco2.d ⊢ φ → D ∈ V
cycpmco2.w ⊢ φ → W ∈ dom ⁡ M
cycpmco2.i ⊢ φ → I ∈ D ∖ ran ⁡ W
cycpmco2.j ⊢ φ → J ∈ ran ⁡ W
cycpmco2.e ⊢ E = W -1 ⁡ J + 1
cycpmco2.1 ⊢ U = W splice E E ⟨“ I ”⟩
cycpmco2lem.1 ⊢ φ → K ∈ ran ⁡ W
cycpmco2lem5.1 ⊢ φ → U -1 ⁡ K = U − 1
Assertion cycpmco2lem5 ⊢ φ → M ⁡ U ⁡ K = M ⁡ W ⁡ K

Proof

Step Hyp Ref Expression
1 cycpmco2.c ⊢ M = toCyc ⁡ D
2 cycpmco2.s ⊢ S = SymGrp ⁡ D
3 cycpmco2.d ⊢ φ → D ∈ V
4 cycpmco2.w ⊢ φ → W ∈ dom ⁡ M
5 cycpmco2.i ⊢ φ → I ∈ D ∖ ran ⁡ W
6 cycpmco2.j ⊢ φ → J ∈ ran ⁡ W
7 cycpmco2.e ⊢ E = W -1 ⁡ J + 1
8 cycpmco2.1 ⊢ U = W splice E E ⟨“ I ”⟩
9 cycpmco2lem.1 ⊢ φ → K ∈ ran ⁡ W
10 cycpmco2lem5.1 ⊢ φ → U -1 ⁡ K = U − 1
11 9 adantr ⊢ φ ∧ W = E → K ∈ ran ⁡ W
12 ovexd ⊢ φ → W -1 ⁡ J + 1 ∈ V
13 7 12 eqeltrid ⊢ φ → E ∈ V
14 5 eldifad ⊢ φ → I ∈ D
15 14 s1cld ⊢ φ → ⟨“ I ”⟩ ∈ Word D
16 splval ⊢ W ∈ dom ⁡ M ∧ E ∈ V ∧ E ∈ V ∧ ⟨“ I ”⟩ ∈ Word D → W splice E E ⟨“ I ”⟩ = W prefix E ++ ⟨“ I ”⟩ ++ W substr E W
17 4 13 13 15 16 syl13anc ⊢ φ → W splice E E ⟨“ I ”⟩ = W prefix E ++ ⟨“ I ”⟩ ++ W substr E W
18 8 17 eqtrid ⊢ φ → U = W prefix E ++ ⟨“ I ”⟩ ++ W substr E W
19 18 fveq2d ⊢ φ → U = W prefix E ++ ⟨“ I ”⟩ ++ W substr E W
20 ssrab2 ⊢ w ∈ Word D | w : dom ⁡ w ⟶ 1-1 D ⊆ Word D
21 eqid ⊢ Base S = Base S
22 1 2 21 tocycf ⊢ D ∈ V → M : w ∈ Word D | w : dom ⁡ w ⟶ 1-1 D ⟶ Base S
23 3 22 syl ⊢ φ → M : w ∈ Word D | w : dom ⁡ w ⟶ 1-1 D ⟶ Base S
24 23 fdmd ⊢ φ → dom ⁡ M = w ∈ Word D | w : dom ⁡ w ⟶ 1-1 D
25 4 24 eleqtrd ⊢ φ → W ∈ w ∈ Word D | w : dom ⁡ w ⟶ 1-1 D
26 20 25 sselid ⊢ φ → W ∈ Word D
27 pfxcl ⊢ W ∈ Word D → W prefix E ∈ Word D
28 26 27 syl ⊢ φ → W prefix E ∈ Word D
29 ccatcl ⊢ W prefix E ∈ Word D ∧ ⟨“ I ”⟩ ∈ Word D → W prefix E ++ ⟨“ I ”⟩ ∈ Word D
30 28 15 29 syl2anc ⊢ φ → W prefix E ++ ⟨“ I ”⟩ ∈ Word D
31 swrdcl ⊢ W ∈ Word D → W substr E W ∈ Word D
32 26 31 syl ⊢ φ → W substr E W ∈ Word D
33 ccatlen ⊢ W prefix E ++ ⟨“ I ”⟩ ∈ Word D ∧ W substr E W ∈ Word D → W prefix E ++ ⟨“ I ”⟩ ++ W substr E W = W prefix E ++ ⟨“ I ”⟩ + W substr E W
34 30 32 33 syl2anc ⊢ φ → W prefix E ++ ⟨“ I ”⟩ ++ W substr E W = W prefix E ++ ⟨“ I ”⟩ + W substr E W
35 ccatws1len ⊢ W prefix E ∈ Word D → W prefix E ++ ⟨“ I ”⟩ = W prefix E + 1
36 28 35 syl ⊢ φ → W prefix E ++ ⟨“ I ”⟩ = W prefix E + 1
37 id ⊢ w = W → w = W
38 dmeq ⊢ w = W → dom ⁡ w = dom ⁡ W
39 eqidd ⊢ w = W → D = D
40 37 38 39 f1eq123d ⊢ w = W → w : dom ⁡ w ⟶ 1-1 D ↔ W : dom ⁡ W ⟶ 1-1 D
41 40 elrab ⊢ W ∈ w ∈ Word D | w : dom ⁡ w ⟶ 1-1 D ↔ W ∈ Word D ∧ W : dom ⁡ W ⟶ 1-1 D
42 25 41 sylib ⊢ φ → W ∈ Word D ∧ W : dom ⁡ W ⟶ 1-1 D
43 42 simprd ⊢ φ → W : dom ⁡ W ⟶ 1-1 D
44 f1cnv ⊢ W : dom ⁡ W ⟶ 1-1 D → W -1 : ran ⁡ W ⟶ 1-1 onto dom ⁡ W
45 43 44 syl ⊢ φ → W -1 : ran ⁡ W ⟶ 1-1 onto dom ⁡ W
46 f1of ⊢ W -1 : ran ⁡ W ⟶ 1-1 onto dom ⁡ W → W -1 : ran ⁡ W ⟶ dom ⁡ W
47 45 46 syl ⊢ φ → W -1 : ran ⁡ W ⟶ dom ⁡ W
48 47 6 ffvelcdmd ⊢ φ → W -1 ⁡ J ∈ dom ⁡ W
49 wrddm ⊢ W ∈ Word D → dom ⁡ W = 0 ..^ W
50 26 49 syl ⊢ φ → dom ⁡ W = 0 ..^ W
51 48 50 eleqtrd ⊢ φ → W -1 ⁡ J ∈ 0 ..^ W
52 fzofzp1 ⊢ W -1 ⁡ J ∈ 0 ..^ W → W -1 ⁡ J + 1 ∈ 0 … W
53 51 52 syl ⊢ φ → W -1 ⁡ J + 1 ∈ 0 … W
54 7 53 eqeltrid ⊢ φ → E ∈ 0 … W
55 pfxlen ⊢ W ∈ Word D ∧ E ∈ 0 … W → W prefix E = E
56 26 54 55 syl2anc ⊢ φ → W prefix E = E
57 56 oveq1d ⊢ φ → W prefix E + 1 = E + 1
58 36 57 eqtrd ⊢ φ → W prefix E ++ ⟨“ I ”⟩ = E + 1
59 lencl ⊢ W ∈ Word D → W ∈ ℕ 0
60 26 59 syl ⊢ φ → W ∈ ℕ 0
61 nn0fz0 ⊢ W ∈ ℕ 0 ↔ W ∈ 0 … W
62 60 61 sylib ⊢ φ → W ∈ 0 … W
63 swrdlen ⊢ W ∈ Word D ∧ E ∈ 0 … W ∧ W ∈ 0 … W → W substr E W = W − E
64 26 54 62 63 syl3anc ⊢ φ → W substr E W = W − E
65 58 64 oveq12d ⊢ φ → W prefix E ++ ⟨“ I ”⟩ + W substr E W = E + 1 + W − E
66 19 34 65 3eqtrd ⊢ φ → U = E + 1 + W − E
67 fz0ssnn0 ⊢ 0 … W ⊆ ℕ 0
68 67 54 sselid ⊢ φ → E ∈ ℕ 0
69 68 nn0zd ⊢ φ → E ∈ ℤ
70 69 peano2zd ⊢ φ → E + 1 ∈ ℤ
71 70 zcnd ⊢ φ → E + 1 ∈ ℂ
72 60 nn0cnd ⊢ φ → W ∈ ℂ
73 68 nn0cnd ⊢ φ → E ∈ ℂ
74 71 72 73 addsubassd ⊢ φ → E + 1 + W - E = E + 1 + W − E
75 1cnd ⊢ φ → 1 ∈ ℂ
76 73 75 72 addassd ⊢ φ → E + 1 + W = E + 1 + W
77 76 oveq1d ⊢ φ → E + 1 + W - E = E + 1 + W - E
78 66 74 77 3eqtr2d ⊢ φ → U = E + 1 + W - E
79 75 72 addcld ⊢ φ → 1 + W ∈ ℂ
80 73 79 pncan2d ⊢ φ → E + 1 + W - E = 1 + W
81 75 72 addcomd ⊢ φ → 1 + W = W + 1
82 78 80 81 3eqtrd ⊢ φ → U = W + 1
83 oveq1 ⊢ W = E → W + 1 = E + 1
84 82 83 sylan9eq ⊢ φ ∧ W = E → U = E + 1
85 84 oveq1d ⊢ φ ∧ W = E → U − 1 = E + 1 - 1
86 73 75 pncand ⊢ φ → E + 1 - 1 = E
87 86 adantr ⊢ φ ∧ W = E → E + 1 - 1 = E
88 85 87 eqtrd ⊢ φ ∧ W = E → U − 1 = E
89 88 fveq2d ⊢ φ ∧ W = E → U ⁡ U − 1 = U ⁡ E
90 10 fveq2d ⊢ φ → U ⁡ U -1 ⁡ K = U ⁡ U − 1
91 1 2 3 4 5 6 7 8 cycpmco2f1 ⊢ φ → U : dom ⁡ U ⟶ 1-1 D
92 f1f1orn ⊢ U : dom ⁡ U ⟶ 1-1 D → U : dom ⁡ U ⟶ 1-1 onto ran ⁡ U
93 91 92 syl ⊢ φ → U : dom ⁡ U ⟶ 1-1 onto ran ⁡ U
94 ssun1 ⊢ ran ⁡ W ⊆ ran ⁡ W ∪ I
95 1 2 3 4 5 6 7 8 cycpmco2rn ⊢ φ → ran ⁡ U = ran ⁡ W ∪ I
96 94 95 sseqtrrid ⊢ φ → ran ⁡ W ⊆ ran ⁡ U
97 96 sselda ⊢ φ ∧ K ∈ ran ⁡ W → K ∈ ran ⁡ U
98 f1ocnvfv2 ⊢ U : dom ⁡ U ⟶ 1-1 onto ran ⁡ U ∧ K ∈ ran ⁡ U → U ⁡ U -1 ⁡ K = K
99 93 97 98 syl2an2r ⊢ φ ∧ K ∈ ran ⁡ W → U ⁡ U -1 ⁡ K = K
100 9 99 mpdan ⊢ φ → U ⁡ U -1 ⁡ K = K
101 90 100 eqtr3d ⊢ φ → U ⁡ U − 1 = K
102 101 adantr ⊢ φ ∧ W = E → U ⁡ U − 1 = K
103 1 2 3 4 5 6 7 8 cycpmco2lem2 ⊢ φ → U ⁡ E = I
104 103 adantr ⊢ φ ∧ W = E → U ⁡ E = I
105 89 102 104 3eqtr3d ⊢ φ ∧ W = E → K = I
106 5 eldifbd ⊢ φ → ¬ I ∈ ran ⁡ W
107 106 adantr ⊢ φ ∧ W = E → ¬ I ∈ ran ⁡ W
108 105 107 eqneltrd ⊢ φ ∧ W = E → ¬ K ∈ ran ⁡ W
109 11 108 pm2.21dd ⊢ φ ∧ W = E → M ⁡ U ⁡ U ⁡ U − 1 = M ⁡ W ⁡ U ⁡ U − 1
110 splcl ⊢ W ∈ Word D ∧ ⟨“ I ”⟩ ∈ Word D → W splice E E ⟨“ I ”⟩ ∈ Word D
111 26 15 110 syl2anc ⊢ φ → W splice E E ⟨“ I ”⟩ ∈ Word D
112 8 111 eqeltrid ⊢ φ → U ∈ Word D
113 nn0p1gt0 ⊢ W ∈ ℕ 0 → 0 < W + 1
114 60 113 syl ⊢ φ → 0 < W + 1
115 114 82 breqtrrd ⊢ φ → 0 < U
116 eqidd ⊢ φ → U − 1 = U − 1
117 1 3 112 91 115 116 cycpmfv2 ⊢ φ → M ⁡ U ⁡ U ⁡ U − 1 = U ⁡ 0
118 117 adantr ⊢ φ ∧ W ≠ E → M ⁡ U ⁡ U ⁡ U − 1 = U ⁡ 0
119 f1f ⊢ W : dom ⁡ W ⟶ 1-1 D → W : dom ⁡ W ⟶ D
120 43 119 syl ⊢ φ → W : dom ⁡ W ⟶ D
121 120 frnd ⊢ φ → ran ⁡ W ⊆ D
122 3 121 ssexd ⊢ φ → ran ⁡ W ∈ V
123 6 ne0d ⊢ φ → ran ⁡ W ≠ ∅
124 hashgt0 ⊢ ran ⁡ W ∈ V ∧ ran ⁡ W ≠ ∅ → 0 < ran ⁡ W
125 122 123 124 syl2anc ⊢ φ → 0 < ran ⁡ W
126 4 dmexd ⊢ φ → dom ⁡ W ∈ V
127 hashf1rn ⊢ dom ⁡ W ∈ V ∧ W : dom ⁡ W ⟶ 1-1 D → W = ran ⁡ W
128 126 43 127 syl2anc ⊢ φ → W = ran ⁡ W
129 125 128 breqtrrd ⊢ φ → 0 < W
130 eqidd ⊢ φ → W − 1 = W − 1
131 1 3 26 43 129 130 cycpmfv2 ⊢ φ → M ⁡ W ⁡ W ⁡ W − 1 = W ⁡ 0
132 131 adantr ⊢ φ ∧ W ≠ E → M ⁡ W ⁡ W ⁡ W − 1 = W ⁡ 0
133 8 a1i ⊢ φ ∧ W ≠ E → U = W splice E E ⟨“ I ”⟩
134 1 2 3 4 5 6 7 8 cycpmco2lem3 ⊢ φ → U − 1 = W
135 73 75 addcomd ⊢ φ → E + 1 = 1 + E
136 135 oveq2d ⊢ φ → W - 1 - E + E + 1 = W - 1 - E + 1 + E
137 72 75 subcld ⊢ φ → W − 1 ∈ ℂ
138 137 73 75 nppcan3d ⊢ φ → W - 1 - E + 1 + E = W - 1 + 1
139 72 75 npcand ⊢ φ → W - 1 + 1 = W
140 136 138 139 3eqtrd ⊢ φ → W - 1 - E + E + 1 = W
141 134 140 eqtr4d ⊢ φ → U − 1 = W - 1 - E + E + 1
142 141 adantr ⊢ φ ∧ W ≠ E → U − 1 = W - 1 - E + E + 1
143 133 142 fveq12d ⊢ φ ∧ W ≠ E → U ⁡ U − 1 = W splice E E ⟨“ I ”⟩ ⁡ W - 1 - E + E + 1
144 26 adantr ⊢ φ ∧ W ≠ E → W ∈ Word D
145 nn0fz0 ⊢ E ∈ ℕ 0 ↔ E ∈ 0 … E
146 68 145 sylib ⊢ φ → E ∈ 0 … E
147 146 adantr ⊢ φ ∧ W ≠ E → E ∈ 0 … E
148 54 adantr ⊢ φ ∧ W ≠ E → E ∈ 0 … W
149 15 adantr ⊢ φ ∧ W ≠ E → ⟨“ I ”⟩ ∈ Word D
150 72 adantr ⊢ φ ∧ W ≠ E → W ∈ ℂ
151 1cnd ⊢ φ ∧ W ≠ E → 1 ∈ ℂ
152 73 adantr ⊢ φ ∧ W ≠ E → E ∈ ℂ
153 150 151 152 sub32d ⊢ φ ∧ W ≠ E → W - 1 - E = W - E - 1
154 fznn0sub ⊢ E ∈ 0 … W → W − E ∈ ℕ 0
155 54 154 syl ⊢ φ → W − E ∈ ℕ 0
156 155 adantr ⊢ φ ∧ W ≠ E → W − E ∈ ℕ 0
157 simpr ⊢ φ ∧ W ≠ E → W ≠ E
158 150 152 156 157 subne0nn ⊢ φ ∧ W ≠ E → W − E ∈ ℕ
159 fzo0end ⊢ W − E ∈ ℕ → W - E - 1 ∈ 0 ..^ W − E
160 158 159 syl ⊢ φ ∧ W ≠ E → W - E - 1 ∈ 0 ..^ W − E
161 153 160 eqeltrd ⊢ φ ∧ W ≠ E → W - 1 - E ∈ 0 ..^ W − E
162 s1len ⊢ ⟨“ I ”⟩ = 1
163 162 eqcomi ⊢ 1 = ⟨“ I ”⟩
164 163 oveq2i ⊢ E + 1 = E + ⟨“ I ”⟩
165 164 a1i ⊢ φ ∧ W ≠ E → E + 1 = E + ⟨“ I ”⟩
166 144 147 148 149 161 165 splfv3 ⊢ φ ∧ W ≠ E → W splice E E ⟨“ I ”⟩ ⁡ W - 1 - E + E + 1 = W ⁡ W − 1 - E + E
167 137 73 npcand ⊢ φ → W − 1 - E + E = W − 1
168 167 fveq2d ⊢ φ → W ⁡ W − 1 - E + E = W ⁡ W − 1
169 168 adantr ⊢ φ ∧ W ≠ E → W ⁡ W − 1 - E + E = W ⁡ W − 1
170 143 166 169 3eqtrd ⊢ φ ∧ W ≠ E → U ⁡ U − 1 = W ⁡ W − 1
171 170 fveq2d ⊢ φ ∧ W ≠ E → M ⁡ W ⁡ U ⁡ U − 1 = M ⁡ W ⁡ W ⁡ W − 1
172 18 fveq1d ⊢ φ → U ⁡ 0 = W prefix E ++ ⟨“ I ”⟩ ++ W substr E W ⁡ 0
173 nn0p1nn ⊢ E ∈ ℕ 0 → E + 1 ∈ ℕ
174 68 173 syl ⊢ φ → E + 1 ∈ ℕ
175 lbfzo0 ⊢ 0 ∈ 0 ..^ E + 1 ↔ E + 1 ∈ ℕ
176 174 175 sylibr ⊢ φ → 0 ∈ 0 ..^ E + 1
177 58 oveq2d ⊢ φ → 0 ..^ W prefix E ++ ⟨“ I ”⟩ = 0 ..^ E + 1
178 176 177 eleqtrrd ⊢ φ → 0 ∈ 0 ..^ W prefix E ++ ⟨“ I ”⟩
179 ccatval1 ⊢ W prefix E ++ ⟨“ I ”⟩ ∈ Word D ∧ W substr E W ∈ Word D ∧ 0 ∈ 0 ..^ W prefix E ++ ⟨“ I ”⟩ → W prefix E ++ ⟨“ I ”⟩ ++ W substr E W ⁡ 0 = W prefix E ++ ⟨“ I ”⟩ ⁡ 0
180 30 32 178 179 syl3anc ⊢ φ → W prefix E ++ ⟨“ I ”⟩ ++ W substr E W ⁡ 0 = W prefix E ++ ⟨“ I ”⟩ ⁡ 0
181 elfzonn0 ⊢ W -1 ⁡ J ∈ 0 ..^ W → W -1 ⁡ J ∈ ℕ 0
182 51 181 syl ⊢ φ → W -1 ⁡ J ∈ ℕ 0
183 nn0p1nn ⊢ W -1 ⁡ J ∈ ℕ 0 → W -1 ⁡ J + 1 ∈ ℕ
184 182 183 syl ⊢ φ → W -1 ⁡ J + 1 ∈ ℕ
185 7 184 eqeltrid ⊢ φ → E ∈ ℕ
186 lbfzo0 ⊢ 0 ∈ 0 ..^ E ↔ E ∈ ℕ
187 185 186 sylibr ⊢ φ → 0 ∈ 0 ..^ E
188 56 oveq2d ⊢ φ → 0 ..^ W prefix E = 0 ..^ E
189 187 188 eleqtrrd ⊢ φ → 0 ∈ 0 ..^ W prefix E
190 ccatval1 ⊢ W prefix E ∈ Word D ∧ ⟨“ I ”⟩ ∈ Word D ∧ 0 ∈ 0 ..^ W prefix E → W prefix E ++ ⟨“ I ”⟩ ⁡ 0 = W prefix E ⁡ 0
191 28 15 189 190 syl3anc ⊢ φ → W prefix E ++ ⟨“ I ”⟩ ⁡ 0 = W prefix E ⁡ 0
192 nn0p1gt0 ⊢ W -1 ⁡ J ∈ ℕ 0 → 0 < W -1 ⁡ J + 1
193 182 192 syl ⊢ φ → 0 < W -1 ⁡ J + 1
194 193 7 breqtrrdi ⊢ φ → 0 < E
195 194 gt0ne0d ⊢ φ → E ≠ 0
196 fzne1 ⊢ E ∈ 0 … W ∧ E ≠ 0 → E ∈ 0 + 1 … W
197 54 195 196 syl2anc ⊢ φ → E ∈ 0 + 1 … W
198 0p1e1 ⊢ 0 + 1 = 1
199 198 oveq1i ⊢ 0 + 1 … W = 1 … W
200 197 199 eleqtrdi ⊢ φ → E ∈ 1 … W
201 pfxfv0 ⊢ W ∈ Word D ∧ E ∈ 1 … W → W prefix E ⁡ 0 = W ⁡ 0
202 26 200 201 syl2anc ⊢ φ → W prefix E ⁡ 0 = W ⁡ 0
203 180 191 202 3eqtrd ⊢ φ → W prefix E ++ ⟨“ I ”⟩ ++ W substr E W ⁡ 0 = W ⁡ 0
204 172 203 eqtrd ⊢ φ → U ⁡ 0 = W ⁡ 0
205 204 adantr ⊢ φ ∧ W ≠ E → U ⁡ 0 = W ⁡ 0
206 132 171 205 3eqtr4rd ⊢ φ ∧ W ≠ E → U ⁡ 0 = M ⁡ W ⁡ U ⁡ U − 1
207 118 206 eqtrd ⊢ φ ∧ W ≠ E → M ⁡ U ⁡ U ⁡ U − 1 = M ⁡ W ⁡ U ⁡ U − 1
208 109 207 pm2.61dane ⊢ φ → M ⁡ U ⁡ U ⁡ U − 1 = M ⁡ W ⁡ U ⁡ U − 1
209 101 fveq2d ⊢ φ → M ⁡ U ⁡ U ⁡ U − 1 = M ⁡ U ⁡ K
210 101 fveq2d ⊢ φ → M ⁡ W ⁡ U ⁡ U − 1 = M ⁡ W ⁡ K
211 208 209 210 3eqtr3d ⊢ φ → M ⁡ U ⁡ K = M ⁡ W ⁡ K