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 ffvelcdmi ⊢ 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 ffvelcdmi ⊢ 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 ffvelcdmi ⊢ 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 addridd ⊢ φ → 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 addridd ⊢ φ → 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