Metamath Proof Explorer


Theorem efgredleme

Description: Lemma for efgred . (Contributed by Mario Carneiro, 1-Oct-2015) (Proof shortened by AV, 15-Oct-2022)

Ref Expression
Hypotheses efgval.w W = I Word I × 2 𝑜
efgval.r ˙ = ~ FG I
efgval2.m M = y I , z 2 𝑜 y 1 𝑜 z
efgval2.t T = v W n 0 v , w I × 2 𝑜 v splice n n ⟨“ w M w ”⟩
efgred.d D = W x W ran T x
efgred.s S = m t Word W | t 0 D k 1 ..^ t t k ran T t k 1 m m 1
efgredlem.1 φ a dom S b dom S S a < S A S a = S b a 0 = b 0
efgredlem.2 φ A dom S
efgredlem.3 φ B dom S
efgredlem.4 φ S A = S B
efgredlem.5 φ ¬ A 0 = B 0
efgredlemb.k K = A - 1 - 1
efgredlemb.l L = B - 1 - 1
efgredlemb.p φ P 0 A K
efgredlemb.q φ Q 0 B L
efgredlemb.u φ U I × 2 𝑜
efgredlemb.v φ V I × 2 𝑜
efgredlemb.6 φ S A = P T A K U
efgredlemb.7 φ S B = Q T B L V
efgredlemb.8 φ ¬ A K = B L
efgredlemd.9 φ P Q + 2
efgredlemd.c φ C dom S
efgredlemd.sc φ S C = B L prefix Q ++ A K substr Q + 2 A K
Assertion efgredleme φ A K ran T S C B L ran T S C

Proof

Step Hyp Ref Expression
1 efgval.w W = I Word I × 2 𝑜
2 efgval.r ˙ = ~ FG I
3 efgval2.m M = y I , z 2 𝑜 y 1 𝑜 z
4 efgval2.t T = v W n 0 v , w I × 2 𝑜 v splice n n ⟨“ w M w ”⟩
5 efgred.d D = W x W ran T x
6 efgred.s S = m t Word W | t 0 D k 1 ..^ t t k ran T t k 1 m m 1
7 efgredlem.1 φ a dom S b dom S S a < S A S a = S b a 0 = b 0
8 efgredlem.2 φ A dom S
9 efgredlem.3 φ B dom S
10 efgredlem.4 φ S A = S B
11 efgredlem.5 φ ¬ A 0 = B 0
12 efgredlemb.k K = A - 1 - 1
13 efgredlemb.l L = B - 1 - 1
14 efgredlemb.p φ P 0 A K
15 efgredlemb.q φ Q 0 B L
16 efgredlemb.u φ U I × 2 𝑜
17 efgredlemb.v φ V I × 2 𝑜
18 efgredlemb.6 φ S A = P T A K U
19 efgredlemb.7 φ S B = Q T B L V
20 efgredlemb.8 φ ¬ A K = B L
21 efgredlemd.9 φ P Q + 2
22 efgredlemd.c φ C dom S
23 efgredlemd.sc φ S C = B L prefix Q ++ A K substr Q + 2 A K
24 1 2 3 4 5 6 efgsf S : t Word W | t 0 D k 1 ..^ t t k ran T t k 1 W
25 24 fdmi dom S = t Word W | t 0 D k 1 ..^ t t k ran T t k 1
26 25 feq2i S : dom S W S : t Word W | t 0 D k 1 ..^ t t k ran T t k 1 W
27 24 26 mpbir S : dom S W
28 27 ffvelrni C dom S S C W
29 22 28 syl φ S C W
30 elfzuz Q 0 B L Q 0
31 15 30 syl φ Q 0
32 23 fveq2d φ S C = B L prefix Q ++ A K substr Q + 2 A K
33 fviss I Word I × 2 𝑜 Word I × 2 𝑜
34 1 33 eqsstri W Word I × 2 𝑜
35 1 2 3 4 5 6 7 8 9 10 11 12 13 efgredlemf φ A K W B L W
36 35 simprd φ B L W
37 34 36 sseldi φ B L Word I × 2 𝑜
38 pfxcl B L Word I × 2 𝑜 B L prefix Q Word I × 2 𝑜
39 37 38 syl φ B L prefix Q Word I × 2 𝑜
40 35 simpld φ A K W
41 34 40 sseldi φ A K Word I × 2 𝑜
42 swrdcl A K Word I × 2 𝑜 A K substr Q + 2 A K Word I × 2 𝑜
43 41 42 syl φ A K substr Q + 2 A K Word I × 2 𝑜
44 ccatlen B L prefix Q Word I × 2 𝑜 A K substr Q + 2 A K Word I × 2 𝑜 B L prefix Q ++ A K substr Q + 2 A K = B L prefix Q + A K substr Q + 2 A K
45 39 43 44 syl2anc φ B L prefix Q ++ A K substr Q + 2 A K = B L prefix Q + A K substr Q + 2 A K
46 pfxlen B L Word I × 2 𝑜 Q 0 B L B L prefix Q = Q
47 37 15 46 syl2anc φ B L prefix Q = Q
48 2nn0 2 0
49 uzaddcl Q 0 2 0 Q + 2 0
50 31 48 49 sylancl φ Q + 2 0
51 elfzuz3 P 0 A K A K P
52 14 51 syl φ A K P
53 uztrn A K P P Q + 2 A K Q + 2
54 52 21 53 syl2anc φ A K Q + 2
55 elfzuzb Q + 2 0 A K Q + 2 0 A K Q + 2
56 50 54 55 sylanbrc φ Q + 2 0 A K
57 lencl A K Word I × 2 𝑜 A K 0
58 41 57 syl φ A K 0
59 nn0uz 0 = 0
60 58 59 eleqtrdi φ A K 0
61 eluzfz2 A K 0 A K 0 A K
62 60 61 syl φ A K 0 A K
63 swrdlen A K Word I × 2 𝑜 Q + 2 0 A K A K 0 A K A K substr Q + 2 A K = A K Q + 2
64 41 56 62 63 syl3anc φ A K substr Q + 2 A K = A K Q + 2
65 47 64 oveq12d φ B L prefix Q + A K substr Q + 2 A K = Q + A K - Q + 2
66 elfzelz Q 0 B L Q
67 15 66 syl φ Q
68 67 zcnd φ Q
69 58 nn0cnd φ A K
70 2z 2
71 zaddcl Q 2 Q + 2
72 67 70 71 sylancl φ Q + 2
73 72 zcnd φ Q + 2
74 68 69 73 addsubassd φ Q + A K - Q + 2 = Q + A K - Q + 2
75 2cn 2
76 75 a1i φ 2
77 68 69 76 pnpcand φ Q + A K - Q + 2 = A K 2
78 65 74 77 3eqtr2d φ B L prefix Q + A K substr Q + 2 A K = A K 2
79 32 45 78 3eqtrd φ S C = A K 2
80 elfzelz P 0 A K P
81 14 80 syl φ P
82 zsubcl P 2 P 2
83 81 70 82 sylancl φ P 2
84 70 a1i φ 2
85 81 zcnd φ P
86 npcan P 2 P - 2 + 2 = P
87 85 75 86 sylancl φ P - 2 + 2 = P
88 87 fveq2d φ P - 2 + 2 = P
89 52 88 eleqtrrd φ A K P - 2 + 2
90 eluzsub P 2 2 A K P - 2 + 2 A K 2 P 2
91 83 84 89 90 syl3anc φ A K 2 P 2
92 79 91 eqeltrd φ S C P 2
93 eluzsub Q 2 P Q + 2 P 2 Q
94 67 84 21 93 syl3anc φ P 2 Q
95 uztrn S C P 2 P 2 Q S C Q
96 92 94 95 syl2anc φ S C Q
97 elfzuzb Q 0 S C Q 0 S C Q
98 31 96 97 sylanbrc φ Q 0 S C
99 1 2 3 4 efgtval S C W Q 0 S C V I × 2 𝑜 Q T S C V = S C splice Q Q ⟨“ V M V ”⟩
100 29 98 17 99 syl3anc φ Q T S C V = S C splice Q Q ⟨“ V M V ”⟩
101 pfxcl A K Word I × 2 𝑜 A K prefix Q Word I × 2 𝑜
102 41 101 syl φ A K prefix Q Word I × 2 𝑜
103 wrd0 Word I × 2 𝑜
104 103 a1i φ Word I × 2 𝑜
105 3 efgmf M : I × 2 𝑜 I × 2 𝑜
106 105 ffvelrni V I × 2 𝑜 M V I × 2 𝑜
107 17 106 syl φ M V I × 2 𝑜
108 17 107 s2cld φ ⟨“ V M V ”⟩ Word I × 2 𝑜
109 67 zred φ Q
110 nn0addge1 Q 2 0 Q Q + 2
111 109 48 110 sylancl φ Q Q + 2
112 eluz2 Q + 2 Q Q Q + 2 Q Q + 2
113 67 72 111 112 syl3anbrc φ Q + 2 Q
114 uztrn P Q + 2 Q + 2 Q P Q
115 21 113 114 syl2anc φ P Q
116 elfzuzb Q 0 P Q 0 P Q
117 31 115 116 sylanbrc φ Q 0 P
118 ccatpfx A K Word I × 2 𝑜 Q 0 P P 0 A K A K prefix Q ++ A K substr Q P = A K prefix P
119 41 117 14 118 syl3anc φ A K prefix Q ++ A K substr Q P = A K prefix P
120 119 oveq1d φ A K prefix Q ++ A K substr Q P ++ ⟨“ U M U ”⟩ ++ A K substr P A K = A K prefix P ++ ⟨“ U M U ”⟩ ++ A K substr P A K
121 pfxcl A K Word I × 2 𝑜 A K prefix P Word I × 2 𝑜
122 41 121 syl φ A K prefix P Word I × 2 𝑜
123 105 ffvelrni U I × 2 𝑜 M U I × 2 𝑜
124 16 123 syl φ M U I × 2 𝑜
125 16 124 s2cld φ ⟨“ U M U ”⟩ Word I × 2 𝑜
126 swrdcl A K Word I × 2 𝑜 A K substr P A K Word I × 2 𝑜
127 41 126 syl φ A K substr P A K Word I × 2 𝑜
128 ccatass A K prefix P Word I × 2 𝑜 ⟨“ U M U ”⟩ Word I × 2 𝑜 A K substr P A K Word I × 2 𝑜 A K prefix P ++ ⟨“ U M U ”⟩ ++ A K substr P A K = A K prefix P ++ ⟨“ U M U ”⟩ ++ A K substr P A K
129 122 125 127 128 syl3anc φ A K prefix P ++ ⟨“ U M U ”⟩ ++ A K substr P A K = A K prefix P ++ ⟨“ U M U ”⟩ ++ A K substr P A K
130 1 2 3 4 efgtval A K W P 0 A K U I × 2 𝑜 P T A K U = A K splice P P ⟨“ U M U ”⟩
131 40 14 16 130 syl3anc φ P T A K U = A K splice P P ⟨“ U M U ”⟩
132 splval A K W P 0 A K P 0 A K ⟨“ U M U ”⟩ Word I × 2 𝑜 A K splice P P ⟨“ U M U ”⟩ = A K prefix P ++ ⟨“ U M U ”⟩ ++ A K substr P A K
133 40 14 14 125 132 syl13anc φ A K splice P P ⟨“ U M U ”⟩ = A K prefix P ++ ⟨“ U M U ”⟩ ++ A K substr P A K
134 18 131 133 3eqtrd φ S A = A K prefix P ++ ⟨“ U M U ”⟩ ++ A K substr P A K
135 1 2 3 4 efgtval B L W Q 0 B L V I × 2 𝑜 Q T B L V = B L splice Q Q ⟨“ V M V ”⟩
136 36 15 17 135 syl3anc φ Q T B L V = B L splice Q Q ⟨“ V M V ”⟩
137 splval B L W Q 0 B L Q 0 B L ⟨“ V M V ”⟩ Word I × 2 𝑜 B L splice Q Q ⟨“ V M V ”⟩ = B L prefix Q ++ ⟨“ V M V ”⟩ ++ B L substr Q B L
138 36 15 15 108 137 syl13anc φ B L splice Q Q ⟨“ V M V ”⟩ = B L prefix Q ++ ⟨“ V M V ”⟩ ++ B L substr Q B L
139 19 136 138 3eqtrd φ S B = B L prefix Q ++ ⟨“ V M V ”⟩ ++ B L substr Q B L
140 10 134 139 3eqtr3d φ A K prefix P ++ ⟨“ U M U ”⟩ ++ A K substr P A K = B L prefix Q ++ ⟨“ V M V ”⟩ ++ B L substr Q B L
141 120 129 140 3eqtr2d φ A K prefix Q ++ A K substr Q P ++ ⟨“ U M U ”⟩ ++ A K substr P A K = B L prefix Q ++ ⟨“ V M V ”⟩ ++ B L substr Q B L
142 swrdcl A K Word I × 2 𝑜 A K substr Q P Word I × 2 𝑜
143 41 142 syl φ A K substr Q P Word I × 2 𝑜
144 ccatcl ⟨“ U M U ”⟩ Word I × 2 𝑜 A K substr P A K Word I × 2 𝑜 ⟨“ U M U ”⟩ ++ A K substr P A K Word I × 2 𝑜
145 125 127 144 syl2anc φ ⟨“ U M U ”⟩ ++ A K substr P A K Word I × 2 𝑜
146 ccatass A K prefix Q Word I × 2 𝑜 A K substr Q P Word I × 2 𝑜 ⟨“ U M U ”⟩ ++ A K substr P A K Word I × 2 𝑜 A K prefix Q ++ A K substr Q P ++ ⟨“ U M U ”⟩ ++ A K substr P A K = A K prefix Q ++ A K substr Q P ++ ⟨“ U M U ”⟩ ++ A K substr P A K
147 102 143 145 146 syl3anc φ A K prefix Q ++ A K substr Q P ++ ⟨“ U M U ”⟩ ++ A K substr P A K = A K prefix Q ++ A K substr Q P ++ ⟨“ U M U ”⟩ ++ A K substr P A K
148 swrdcl B L Word I × 2 𝑜 B L substr Q B L Word I × 2 𝑜
149 37 148 syl φ B L substr Q B L Word I × 2 𝑜
150 ccatass B L prefix Q Word I × 2 𝑜 ⟨“ V M V ”⟩ Word I × 2 𝑜 B L substr Q B L Word I × 2 𝑜 B L prefix Q ++ ⟨“ V M V ”⟩ ++ B L substr Q B L = B L prefix Q ++ ⟨“ V M V ”⟩ ++ B L substr Q B L
151 39 108 149 150 syl3anc φ B L prefix Q ++ ⟨“ V M V ”⟩ ++ B L substr Q B L = B L prefix Q ++ ⟨“ V M V ”⟩ ++ B L substr Q B L
152 141 147 151 3eqtr3d φ A K prefix Q ++ A K substr Q P ++ ⟨“ U M U ”⟩ ++ A K substr P A K = B L prefix Q ++ ⟨“ V M V ”⟩ ++ B L substr Q B L
153 ccatcl A K substr Q P Word I × 2 𝑜 ⟨“ U M U ”⟩ ++ A K substr P A K Word I × 2 𝑜 A K substr Q P ++ ⟨“ U M U ”⟩ ++ A K substr P A K Word I × 2 𝑜
154 143 145 153 syl2anc φ A K substr Q P ++ ⟨“ U M U ”⟩ ++ A K substr P A K Word I × 2 𝑜
155 ccatcl ⟨“ V M V ”⟩ Word I × 2 𝑜 B L substr Q B L Word I × 2 𝑜 ⟨“ V M V ”⟩ ++ B L substr Q B L Word I × 2 𝑜
156 108 149 155 syl2anc φ ⟨“ V M V ”⟩ ++ B L substr Q B L Word I × 2 𝑜
157 uztrn A K P P Q A K Q
158 52 115 157 syl2anc φ A K Q
159 elfzuzb Q 0 A K Q 0 A K Q
160 31 158 159 sylanbrc φ Q 0 A K
161 pfxlen A K Word I × 2 𝑜 Q 0 A K A K prefix Q = Q
162 41 160 161 syl2anc φ A K prefix Q = Q
163 162 47 eqtr4d φ A K prefix Q = B L prefix Q
164 ccatopth A K prefix Q Word I × 2 𝑜 A K substr Q P ++ ⟨“ U M U ”⟩ ++ A K substr P A K Word I × 2 𝑜 B L prefix Q Word I × 2 𝑜 ⟨“ V M V ”⟩ ++ B L substr Q B L Word I × 2 𝑜 A K prefix Q = B L prefix Q A K prefix Q ++ A K substr Q P ++ ⟨“ U M U ”⟩ ++ A K substr P A K = B L prefix Q ++ ⟨“ V M V ”⟩ ++ B L substr Q B L A K prefix Q = B L prefix Q A K substr Q P ++ ⟨“ U M U ”⟩ ++ A K substr P A K = ⟨“ V M V ”⟩ ++ B L substr Q B L
165 102 154 39 156 163 164 syl221anc φ A K prefix Q ++ A K substr Q P ++ ⟨“ U M U ”⟩ ++ A K substr P A K = B L prefix Q ++ ⟨“ V M V ”⟩ ++ B L substr Q B L A K prefix Q = B L prefix Q A K substr Q P ++ ⟨“ U M U ”⟩ ++ A K substr P A K = ⟨“ V M V ”⟩ ++ B L substr Q B L
166 152 165 mpbid φ A K prefix Q = B L prefix Q A K substr Q P ++ ⟨“ U M U ”⟩ ++ A K substr P A K = ⟨“ V M V ”⟩ ++ B L substr Q B L
167 166 simpld φ A K prefix Q = B L prefix Q
168 167 oveq1d φ A K prefix Q ++ A K substr Q + 2 A K = B L prefix Q ++ A K substr Q + 2 A K
169 ccatrid A K prefix Q Word I × 2 𝑜 A K prefix Q ++ = A K prefix Q
170 102 169 syl φ A K prefix Q ++ = A K prefix Q
171 170 oveq1d φ A K prefix Q ++ ++ A K substr Q + 2 A K = A K prefix Q ++ A K substr Q + 2 A K
172 168 171 23 3eqtr4rd φ S C = A K prefix Q ++ ++ A K substr Q + 2 A K
173 162 eqcomd φ Q = A K prefix Q
174 hash0 = 0
175 174 oveq2i Q + = Q + 0
176 68 addid1d φ Q + 0 = Q
177 175 176 syl5req φ Q = Q +
178 102 104 43 108 172 173 177 splval2 φ S C splice Q Q ⟨“ V M V ”⟩ = A K prefix Q ++ ⟨“ V M V ”⟩ ++ A K substr Q + 2 A K
179 elfzuzb Q 0 Q + 2 Q 0 Q + 2 Q
180 31 113 179 sylanbrc φ Q 0 Q + 2
181 elfzuzb Q + 2 0 P Q + 2 0 P Q + 2
182 50 21 181 sylanbrc φ Q + 2 0 P
183 ccatswrd A K Word I × 2 𝑜 Q 0 Q + 2 Q + 2 0 P P 0 A K A K substr Q Q + 2 ++ A K substr Q + 2 P = A K substr Q P
184 41 180 182 14 183 syl13anc φ A K substr Q Q + 2 ++ A K substr Q + 2 P = A K substr Q P
185 184 oveq1d φ A K substr Q Q + 2 ++ A K substr Q + 2 P ++ ⟨“ U M U ”⟩ ++ A K substr P A K = A K substr Q P ++ ⟨“ U M U ”⟩ ++ A K substr P A K
186 swrdcl A K Word I × 2 𝑜 A K substr Q Q + 2 Word I × 2 𝑜
187 41 186 syl φ A K substr Q Q + 2 Word I × 2 𝑜
188 swrdcl A K Word I × 2 𝑜 A K substr Q + 2 P Word I × 2 𝑜
189 41 188 syl φ A K substr Q + 2 P Word I × 2 𝑜
190 ccatass A K substr Q Q + 2 Word I × 2 𝑜 A K substr Q + 2 P Word I × 2 𝑜 ⟨“ U M U ”⟩ ++ A K substr P A K Word I × 2 𝑜 A K substr Q Q + 2 ++ A K substr Q + 2 P ++ ⟨“ U M U ”⟩ ++ A K substr P A K = A K substr Q Q + 2 ++ A K substr Q + 2 P ++ ⟨“ U M U ”⟩ ++ A K substr P A K
191 187 189 145 190 syl3anc φ A K substr Q Q + 2 ++ A K substr Q + 2 P ++ ⟨“ U M U ”⟩ ++ A K substr P A K = A K substr Q Q + 2 ++ A K substr Q + 2 P ++ ⟨“ U M U ”⟩ ++ A K substr P A K
192 166 simprd φ A K substr Q P ++ ⟨“ U M U ”⟩ ++ A K substr P A K = ⟨“ V M V ”⟩ ++ B L substr Q B L
193 185 191 192 3eqtr3d φ A K substr Q Q + 2 ++ A K substr Q + 2 P ++ ⟨“ U M U ”⟩ ++ A K substr P A K = ⟨“ V M V ”⟩ ++ B L substr Q B L
194 ccatcl A K substr Q + 2 P Word I × 2 𝑜 ⟨“ U M U ”⟩ ++ A K substr P A K Word I × 2 𝑜 A K substr Q + 2 P ++ ⟨“ U M U ”⟩ ++ A K substr P A K Word I × 2 𝑜
195 189 145 194 syl2anc φ A K substr Q + 2 P ++ ⟨“ U M U ”⟩ ++ A K substr P A K Word I × 2 𝑜
196 swrdlen A K Word I × 2 𝑜 Q 0 Q + 2 Q + 2 0 A K A K substr Q Q + 2 = Q + 2 - Q
197 41 180 56 196 syl3anc φ A K substr Q Q + 2 = Q + 2 - Q
198 pncan2 Q 2 Q + 2 - Q = 2
199 68 75 198 sylancl φ Q + 2 - Q = 2
200 197 199 eqtrd φ A K substr Q Q + 2 = 2
201 s2len ⟨“ V M V ”⟩ = 2
202 200 201 eqtr4di φ A K substr Q Q + 2 = ⟨“ V M V ”⟩
203 ccatopth A K substr Q Q + 2 Word I × 2 𝑜 A K substr Q + 2 P ++ ⟨“ U M U ”⟩ ++ A K substr P A K Word I × 2 𝑜 ⟨“ V M V ”⟩ Word I × 2 𝑜 B L substr Q B L Word I × 2 𝑜 A K substr Q Q + 2 = ⟨“ V M V ”⟩ A K substr Q Q + 2 ++ A K substr Q + 2 P ++ ⟨“ U M U ”⟩ ++ A K substr P A K = ⟨“ V M V ”⟩ ++ B L substr Q B L A K substr Q Q + 2 = ⟨“ V M V ”⟩ A K substr Q + 2 P ++ ⟨“ U M U ”⟩ ++ A K substr P A K = B L substr Q B L
204 187 195 108 149 202 203 syl221anc φ A K substr Q Q + 2 ++ A K substr Q + 2 P ++ ⟨“ U M U ”⟩ ++ A K substr P A K = ⟨“ V M V ”⟩ ++ B L substr Q B L A K substr Q Q + 2 = ⟨“ V M V ”⟩ A K substr Q + 2 P ++ ⟨“ U M U ”⟩ ++ A K substr P A K = B L substr Q B L
205 193 204 mpbid φ A K substr Q Q + 2 = ⟨“ V M V ”⟩ A K substr Q + 2 P ++ ⟨“ U M U ”⟩ ++ A K substr P A K = B L substr Q B L
206 205 simpld φ A K substr Q Q + 2 = ⟨“ V M V ”⟩
207 206 oveq2d φ A K prefix Q ++ A K substr Q Q + 2 = A K prefix Q ++ ⟨“ V M V ”⟩
208 ccatpfx A K Word I × 2 𝑜 Q 0 Q + 2 Q + 2 0 A K A K prefix Q ++ A K substr Q Q + 2 = A K prefix Q + 2
209 41 180 56 208 syl3anc φ A K prefix Q ++ A K substr Q Q + 2 = A K prefix Q + 2
210 207 209 eqtr3d φ A K prefix Q ++ ⟨“ V M V ”⟩ = A K prefix Q + 2
211 210 oveq1d φ A K prefix Q ++ ⟨“ V M V ”⟩ ++ A K substr Q + 2 A K = A K prefix Q + 2 ++ A K substr Q + 2 A K
212 ccatpfx A K Word I × 2 𝑜 Q + 2 0 A K A K 0 A K A K prefix Q + 2 ++ A K substr Q + 2 A K = A K prefix A K
213 41 56 62 212 syl3anc φ A K prefix Q + 2 ++ A K substr Q + 2 A K = A K prefix A K
214 pfxid A K Word I × 2 𝑜 A K prefix A K = A K
215 41 214 syl φ A K prefix A K = A K
216 211 213 215 3eqtrd φ A K prefix Q ++ ⟨“ V M V ”⟩ ++ A K substr Q + 2 A K = A K
217 100 178 216 3eqtrd φ Q T S C V = A K
218 1 2 3 4 efgtf S C W T S C = a 0 S C , i I × 2 𝑜 S C splice a a ⟨“ i M i ”⟩ T S C : 0 S C × I × 2 𝑜 W
219 29 218 syl φ T S C = a 0 S C , i I × 2 𝑜 S C splice a a ⟨“ i M i ”⟩ T S C : 0 S C × I × 2 𝑜 W
220 219 simprd φ T S C : 0 S C × I × 2 𝑜 W
221 220 ffnd φ T S C Fn 0 S C × I × 2 𝑜
222 fnovrn T S C Fn 0 S C × I × 2 𝑜 Q 0 S C V I × 2 𝑜 Q T S C V ran T S C
223 221 98 17 222 syl3anc φ Q T S C V ran T S C
224 217 223 eqeltrrd φ A K ran T S C
225 uztrn P 2 Q Q 0 P 2 0
226 94 31 225 syl2anc φ P 2 0
227 elfzuzb P 2 0 S C P 2 0 S C P 2
228 226 92 227 sylanbrc φ P 2 0 S C
229 1 2 3 4 efgtval S C W P 2 0 S C U I × 2 𝑜 P 2 T S C U = S C splice P 2 P 2 ⟨“ U M U ”⟩
230 29 228 16 229 syl3anc φ P 2 T S C U = S C splice P 2 P 2 ⟨“ U M U ”⟩
231 pfxcl B L Word I × 2 𝑜 B L prefix P 2 Word I × 2 𝑜
232 37 231 syl φ B L prefix P 2 Word I × 2 𝑜
233 swrdcl B L Word I × 2 𝑜 B L substr P B L Word I × 2 𝑜
234 37 233 syl φ B L substr P B L Word I × 2 𝑜
235 ccatswrd A K Word I × 2 𝑜 Q + 2 0 P P 0 A K A K 0 A K A K substr Q + 2 P ++ A K substr P A K = A K substr Q + 2 A K
236 41 182 14 62 235 syl13anc φ A K substr Q + 2 P ++ A K substr P A K = A K substr Q + 2 A K
237 205 simprd φ A K substr Q + 2 P ++ ⟨“ U M U ”⟩ ++ A K substr P A K = B L substr Q B L
238 elfzuzb Q 0 P 2 Q 0 P 2 Q
239 31 94 238 sylanbrc φ Q 0 P 2
240 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 efgredlemg φ A K = B L
241 240 52 eqeltrrd φ B L P
242 0le2 0 2
243 242 a1i φ 0 2
244 81 zred φ P
245 2re 2
246 subge02 P 2 0 2 P 2 P
247 244 245 246 sylancl φ 0 2 P 2 P
248 243 247 mpbid φ P 2 P
249 eluz2 P P 2 P 2 P P 2 P
250 83 81 248 249 syl3anbrc φ P P 2
251 uztrn B L P P P 2 B L P 2
252 241 250 251 syl2anc φ B L P 2
253 elfzuzb P 2 0 B L P 2 0 B L P 2
254 226 252 253 sylanbrc φ P 2 0 B L
255 lencl B L Word I × 2 𝑜 B L 0
256 37 255 syl φ B L 0
257 256 59 eleqtrdi φ B L 0
258 eluzfz2 B L 0 B L 0 B L
259 257 258 syl φ B L 0 B L
260 ccatswrd B L Word I × 2 𝑜 Q 0 P 2 P 2 0 B L B L 0 B L B L substr Q P 2 ++ B L substr P 2 B L = B L substr Q B L
261 37 239 254 259 260 syl13anc φ B L substr Q P 2 ++ B L substr P 2 B L = B L substr Q B L
262 237 261 eqtr4d φ A K substr Q + 2 P ++ ⟨“ U M U ”⟩ ++ A K substr P A K = B L substr Q P 2 ++ B L substr P 2 B L
263 swrdcl B L Word I × 2 𝑜 B L substr Q P 2 Word I × 2 𝑜
264 37 263 syl φ B L substr Q P 2 Word I × 2 𝑜
265 swrdcl B L Word I × 2 𝑜 B L substr P 2 B L Word I × 2 𝑜
266 37 265 syl φ B L substr P 2 B L Word I × 2 𝑜
267 swrdlen A K Word I × 2 𝑜 Q + 2 0 P P 0 A K A K substr Q + 2 P = P Q + 2
268 41 182 14 267 syl3anc φ A K substr Q + 2 P = P Q + 2
269 swrdlen B L Word I × 2 𝑜 Q 0 P 2 P 2 0 B L B L substr Q P 2 = P - 2 - Q
270 37 239 254 269 syl3anc φ B L substr Q P 2 = P - 2 - Q
271 85 68 76 sub32d φ P - Q - 2 = P - 2 - Q
272 85 68 76 subsub4d φ P - Q - 2 = P Q + 2
273 270 271 272 3eqtr2d φ B L substr Q P 2 = P Q + 2
274 268 273 eqtr4d φ A K substr Q + 2 P = B L substr Q P 2
275 ccatopth A K substr Q + 2 P Word I × 2 𝑜 ⟨“ U M U ”⟩ ++ A K substr P A K Word I × 2 𝑜 B L substr Q P 2 Word I × 2 𝑜 B L substr P 2 B L Word I × 2 𝑜 A K substr Q + 2 P = B L substr Q P 2 A K substr Q + 2 P ++ ⟨“ U M U ”⟩ ++ A K substr P A K = B L substr Q P 2 ++ B L substr P 2 B L A K substr Q + 2 P = B L substr Q P 2 ⟨“ U M U ”⟩ ++ A K substr P A K = B L substr P 2 B L
276 189 145 264 266 274 275 syl221anc φ A K substr Q + 2 P ++ ⟨“ U M U ”⟩ ++ A K substr P A K = B L substr Q P 2 ++ B L substr P 2 B L A K substr Q + 2 P = B L substr Q P 2 ⟨“ U M U ”⟩ ++ A K substr P A K = B L substr P 2 B L
277 262 276 mpbid φ A K substr Q + 2 P = B L substr Q P 2 ⟨“ U M U ”⟩ ++ A K substr P A K = B L substr P 2 B L
278 277 simpld φ A K substr Q + 2 P = B L substr Q P 2
279 277 simprd φ ⟨“ U M U ”⟩ ++ A K substr P A K = B L substr P 2 B L
280 elfzuzb P 2 0 P P 2 0 P P 2
281 226 250 280 sylanbrc φ P 2 0 P
282 elfzuz P 0 A K P 0
283 14 282 syl φ P 0
284 elfzuzb P 0 B L P 0 B L P
285 283 241 284 sylanbrc φ P 0 B L
286 ccatswrd B L Word I × 2 𝑜 P 2 0 P P 0 B L B L 0 B L B L substr P 2 P ++ B L substr P B L = B L substr P 2 B L
287 37 281 285 259 286 syl13anc φ B L substr P 2 P ++ B L substr P B L = B L substr P 2 B L
288 279 287 eqtr4d φ ⟨“ U M U ”⟩ ++ A K substr P A K = B L substr P 2 P ++ B L substr P B L
289 swrdcl B L Word I × 2 𝑜 B L substr P 2 P Word I × 2 𝑜
290 37 289 syl φ B L substr P 2 P Word I × 2 𝑜
291 s2len ⟨“ U M U ”⟩ = 2
292 swrdlen B L Word I × 2 𝑜 P 2 0 P P 0 B L B L substr P 2 P = P P 2
293 37 281 285 292 syl3anc φ B L substr P 2 P = P P 2
294 nncan P 2 P P 2 = 2
295 85 75 294 sylancl φ P P 2 = 2
296 293 295 eqtr2d φ 2 = B L substr P 2 P
297 291 296 syl5eq φ ⟨“ U M U ”⟩ = B L substr P 2 P
298 ccatopth ⟨“ U M U ”⟩ Word I × 2 𝑜 A K substr P A K Word I × 2 𝑜 B L substr P 2 P Word I × 2 𝑜 B L substr P B L Word I × 2 𝑜 ⟨“ U M U ”⟩ = B L substr P 2 P ⟨“ U M U ”⟩ ++ A K substr P A K = B L substr P 2 P ++ B L substr P B L ⟨“ U M U ”⟩ = B L substr P 2 P A K substr P A K = B L substr P B L
299 125 127 290 234 297 298 syl221anc φ ⟨“ U M U ”⟩ ++ A K substr P A K = B L substr P 2 P ++ B L substr P B L ⟨“ U M U ”⟩ = B L substr P 2 P A K substr P A K = B L substr P B L
300 288 299 mpbid φ ⟨“ U M U ”⟩ = B L substr P 2 P A K substr P A K = B L substr P B L
301 300 simprd φ A K substr P A K = B L substr P B L
302 278 301 oveq12d φ A K substr Q + 2 P ++ A K substr P A K = B L substr Q P 2 ++ B L substr P B L
303 236 302 eqtr3d φ A K substr Q + 2 A K = B L substr Q P 2 ++ B L substr P B L
304 303 oveq2d φ B L prefix Q ++ A K substr Q + 2 A K = B L prefix Q ++ B L substr Q P 2 ++ B L substr P B L
305 ccatass B L prefix Q Word I × 2 𝑜 B L substr Q P 2 Word I × 2 𝑜 B L substr P B L Word I × 2 𝑜 B L prefix Q ++ B L substr Q P 2 ++ B L substr P B L = B L prefix Q ++ B L substr Q P 2 ++ B L substr P B L
306 39 264 234 305 syl3anc φ B L prefix Q ++ B L substr Q P 2 ++ B L substr P B L = B L prefix Q ++ B L substr Q P 2 ++ B L substr P B L
307 304 306 eqtr4d φ B L prefix Q ++ A K substr Q + 2 A K = B L prefix Q ++ B L substr Q P 2 ++ B L substr P B L
308 ccatpfx B L Word I × 2 𝑜 Q 0 P 2 P 2 0 B L B L prefix Q ++ B L substr Q P 2 = B L prefix P 2
309 37 239 254 308 syl3anc φ B L prefix Q ++ B L substr Q P 2 = B L prefix P 2
310 309 oveq1d φ B L prefix Q ++ B L substr Q P 2 ++ B L substr P B L = B L prefix P 2 ++ B L substr P B L
311 23 307 310 3eqtrd φ S C = B L prefix P 2 ++ B L substr P B L
312 ccatrid B L prefix P 2 Word I × 2 𝑜 B L prefix P 2 ++ = B L prefix P 2
313 232 312 syl φ B L prefix P 2 ++ = B L prefix P 2
314 313 oveq1d φ B L prefix P 2 ++ ++ B L substr P B L = B L prefix P 2 ++ B L substr P B L
315 311 314 eqtr4d φ S C = B L prefix P 2 ++ ++ B L substr P B L
316 pfxlen B L Word I × 2 𝑜 P 2 0 B L B L prefix P 2 = P 2
317 37 254 316 syl2anc φ B L prefix P 2 = P 2
318 317 eqcomd φ P 2 = B L prefix P 2
319 174 oveq2i P - 2 + = P - 2 + 0
320 83 zcnd φ P 2
321 320 addid1d φ P - 2 + 0 = P 2
322 319 321 syl5req φ P 2 = P - 2 +
323 232 104 234 125 315 318 322 splval2 φ S C splice P 2 P 2 ⟨“ U M U ”⟩ = B L prefix P 2 ++ ⟨“ U M U ”⟩ ++ B L substr P B L
324 300 simpld φ ⟨“ U M U ”⟩ = B L substr P 2 P
325 324 oveq2d φ B L prefix P 2 ++ ⟨“ U M U ”⟩ = B L prefix P 2 ++ B L substr P 2 P
326 ccatpfx B L Word I × 2 𝑜 P 2 0 P P 0 B L B L prefix P 2 ++ B L substr P 2 P = B L prefix P
327 37 281 285 326 syl3anc φ B L prefix P 2 ++ B L substr P 2 P = B L prefix P
328 325 327 eqtrd φ B L prefix P 2 ++ ⟨“ U M U ”⟩ = B L prefix P
329 328 oveq1d φ B L prefix P 2 ++ ⟨“ U M U ”⟩ ++ B L substr P B L = B L prefix P ++ B L substr P B L
330 ccatpfx B L Word I × 2 𝑜 P 0 B L B L 0 B L B L prefix P ++ B L substr P B L = B L prefix B L
331 37 285 259 330 syl3anc φ B L prefix P ++ B L substr P B L = B L prefix B L
332 pfxid B L Word I × 2 𝑜 B L prefix B L = B L
333 37 332 syl φ B L prefix B L = B L
334 329 331 333 3eqtrd φ B L prefix P 2 ++ ⟨“ U M U ”⟩ ++ B L substr P B L = B L
335 230 323 334 3eqtrd φ P 2 T S C U = B L
336 fnovrn T S C Fn 0 S C × I × 2 𝑜 P 2 0 S C U I × 2 𝑜 P 2 T S C U ran T S C
337 221 228 16 336 syl3anc φ P 2 T S C U ran T S C
338 335 337 eqeltrrd φ B L ran T S C
339 224 338 jca φ A K ran T S C B L ran T S C