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