Metamath Proof Explorer


Theorem wrdt2ind

Description: Perform an induction over the structure of a word of even length. (Contributed by Thierry Arnoux, 26-Sep-2023)

Ref Expression
Hypotheses wrdt2ind.1 x = φ ψ
wrdt2ind.2 x = y φ χ
wrdt2ind.3 x = y ++ ⟨“ ij ”⟩ φ θ
wrdt2ind.4 x = A φ τ
wrdt2ind.5 ψ
wrdt2ind.6 y Word B i B j B χ θ
Assertion wrdt2ind A Word B 2 A τ

Proof

Step Hyp Ref Expression
1 wrdt2ind.1 x = φ ψ
2 wrdt2ind.2 x = y φ χ
3 wrdt2ind.3 x = y ++ ⟨“ ij ”⟩ φ θ
4 wrdt2ind.4 x = A φ τ
5 wrdt2ind.5 ψ
6 wrdt2ind.6 y Word B i B j B χ θ
7 oveq2 n = 0 2 n = 2 0
8 7 eqeq1d n = 0 2 n = x 2 0 = x
9 8 imbi1d n = 0 2 n = x φ 2 0 = x φ
10 9 ralbidv n = 0 x Word B 2 n = x φ x Word B 2 0 = x φ
11 oveq2 n = k 2 n = 2 k
12 11 eqeq1d n = k 2 n = x 2 k = x
13 12 imbi1d n = k 2 n = x φ 2 k = x φ
14 13 ralbidv n = k x Word B 2 n = x φ x Word B 2 k = x φ
15 oveq2 n = k + 1 2 n = 2 k + 1
16 15 eqeq1d n = k + 1 2 n = x 2 k + 1 = x
17 16 imbi1d n = k + 1 2 n = x φ 2 k + 1 = x φ
18 17 ralbidv n = k + 1 x Word B 2 n = x φ x Word B 2 k + 1 = x φ
19 oveq2 n = m 2 n = 2 m
20 19 eqeq1d n = m 2 n = x 2 m = x
21 20 imbi1d n = m 2 n = x φ 2 m = x φ
22 21 ralbidv n = m x Word B 2 n = x φ x Word B 2 m = x φ
23 2t0e0 2 0 = 0
24 23 eqeq1i 2 0 = x 0 = x
25 eqcom 0 = x x = 0
26 24 25 bitri 2 0 = x x = 0
27 hasheq0 x Word B x = 0 x =
28 26 27 syl5bb x Word B 2 0 = x x =
29 5 1 mpbiri x = φ
30 28 29 syl6bi x Word B 2 0 = x φ
31 30 rgen x Word B 2 0 = x φ
32 fveq2 x = y x = y
33 32 eqeq2d x = y 2 k = x 2 k = y
34 33 2 imbi12d x = y 2 k = x φ 2 k = y χ
35 34 cbvralvw x Word B 2 k = x φ y Word B 2 k = y χ
36 simprl k 0 x Word B 2 k + 1 = x x Word B
37 0zd k 0 x Word B 2 k + 1 = x 0
38 lencl x Word B x 0
39 36 38 syl k 0 x Word B 2 k + 1 = x x 0
40 39 nn0zd k 0 x Word B 2 k + 1 = x x
41 2z 2
42 41 a1i k 0 x Word B 2 k + 1 = x 2
43 40 42 zsubcld k 0 x Word B 2 k + 1 = x x 2
44 2re 2
45 44 a1i k 0 2
46 nn0re k 0 k
47 0le2 0 2
48 47 a1i k 0 0 2
49 nn0ge0 k 0 0 k
50 45 46 48 49 mulge0d k 0 0 2 k
51 50 adantr k 0 x Word B 2 k + 1 = x 0 2 k
52 2cnd k 0 x Word B 2 k + 1 = x 2
53 simpl k 0 x Word B 2 k + 1 = x k 0
54 53 nn0cnd k 0 x Word B 2 k + 1 = x k
55 1cnd k 0 x Word B 2 k + 1 = x 1
56 52 54 55 adddid k 0 x Word B 2 k + 1 = x 2 k + 1 = 2 k + 2 1
57 simprr k 0 x Word B 2 k + 1 = x 2 k + 1 = x
58 2t1e2 2 1 = 2
59 58 a1i k 0 x Word B 2 k + 1 = x 2 1 = 2
60 59 oveq2d k 0 x Word B 2 k + 1 = x 2 k + 2 1 = 2 k + 2
61 56 57 60 3eqtr3d k 0 x Word B 2 k + 1 = x x = 2 k + 2
62 61 oveq1d k 0 x Word B 2 k + 1 = x x 2 = 2 k + 2 - 2
63 52 54 mulcld k 0 x Word B 2 k + 1 = x 2 k
64 63 52 pncand k 0 x Word B 2 k + 1 = x 2 k + 2 - 2 = 2 k
65 62 64 eqtrd k 0 x Word B 2 k + 1 = x x 2 = 2 k
66 51 65 breqtrrd k 0 x Word B 2 k + 1 = x 0 x 2
67 43 zred k 0 x Word B 2 k + 1 = x x 2
68 39 nn0red k 0 x Word B 2 k + 1 = x x
69 2pos 0 < 2
70 44 a1i k 0 x Word B 2 k + 1 = x 2
71 70 68 ltsubposd k 0 x Word B 2 k + 1 = x 0 < 2 x 2 < x
72 69 71 mpbii k 0 x Word B 2 k + 1 = x x 2 < x
73 67 68 72 ltled k 0 x Word B 2 k + 1 = x x 2 x
74 elfz2 x 2 0 x 0 x x 2 0 x 2 x 2 x
75 74 biimpri 0 x x 2 0 x 2 x 2 x x 2 0 x
76 37 40 43 66 73 75 syl32anc k 0 x Word B 2 k + 1 = x x 2 0 x
77 pfxlen x Word B x 2 0 x x prefix x 2 = x 2
78 36 76 77 syl2anc k 0 x Word B 2 k + 1 = x x prefix x 2 = x 2
79 78 65 eqtr2d k 0 x Word B 2 k + 1 = x 2 k = x prefix x 2
80 79 adantlr k 0 y Word B 2 k = y χ x Word B 2 k + 1 = x 2 k = x prefix x 2
81 fveq2 y = x prefix x 2 y = x prefix x 2
82 81 eqeq2d y = x prefix x 2 2 k = y 2 k = x prefix x 2
83 vex y V
84 83 2 sbcie [˙y / x]˙ φ χ
85 dfsbcq y = x prefix x 2 [˙y / x]˙ φ [˙x prefix x 2 / x]˙ φ
86 84 85 syl5bbr y = x prefix x 2 χ [˙x prefix x 2 / x]˙ φ
87 82 86 imbi12d y = x prefix x 2 2 k = y χ 2 k = x prefix x 2 [˙x prefix x 2 / x]˙ φ
88 simplr k 0 y Word B 2 k = y χ x Word B 2 k + 1 = x y Word B 2 k = y χ
89 pfxcl x Word B x prefix x 2 Word B
90 89 ad2antrl k 0 y Word B 2 k = y χ x Word B 2 k + 1 = x x prefix x 2 Word B
91 87 88 90 rspcdva k 0 y Word B 2 k = y χ x Word B 2 k + 1 = x 2 k = x prefix x 2 [˙x prefix x 2 / x]˙ φ
92 80 91 mpd k 0 y Word B 2 k = y χ x Word B 2 k + 1 = x [˙x prefix x 2 / x]˙ φ
93 2nn0 2 0
94 93 a1i k 0 x Word B 2 k + 1 = x 2 0
95 52 addid2d k 0 x Word B 2 k + 1 = x 0 + 2 = 2
96 0red k 0 x Word B 2 k + 1 = x 0
97 65 67 eqeltrrd k 0 x Word B 2 k + 1 = x 2 k
98 96 97 70 51 leadd1dd k 0 x Word B 2 k + 1 = x 0 + 2 2 k + 2
99 95 98 eqbrtrrd k 0 x Word B 2 k + 1 = x 2 2 k + 2
100 99 61 breqtrrd k 0 x Word B 2 k + 1 = x 2 x
101 nn0sub 2 0 x 0 2 x x 2 0
102 101 biimpa 2 0 x 0 2 x x 2 0
103 94 39 100 102 syl21anc k 0 x Word B 2 k + 1 = x x 2 0
104 68 recnd k 0 x Word B 2 k + 1 = x x
105 104 52 55 subsubd k 0 x Word B 2 k + 1 = x x 2 1 = x - 2 + 1
106 2m1e1 2 1 = 1
107 106 a1i k 0 x Word B 2 k + 1 = x 2 1 = 1
108 107 oveq2d k 0 x Word B 2 k + 1 = x x 2 1 = x 1
109 105 108 eqtr3d k 0 x Word B 2 k + 1 = x x - 2 + 1 = x 1
110 68 lem1d k 0 x Word B 2 k + 1 = x x 1 x
111 109 110 eqbrtrd k 0 x Word B 2 k + 1 = x x - 2 + 1 x
112 nn0p1elfzo x 2 0 x 0 x - 2 + 1 x x 2 0 ..^ x
113 103 39 111 112 syl3anc k 0 x Word B 2 k + 1 = x x 2 0 ..^ x
114 wrdsymbcl x Word B x 2 0 ..^ x x x 2 B
115 36 113 114 syl2anc k 0 x Word B 2 k + 1 = x x x 2 B
116 115 adantlr k 0 y Word B 2 k = y χ x Word B 2 k + 1 = x x x 2 B
117 nn0ge2m1nn0 x 0 2 x x 1 0
118 39 100 117 syl2anc k 0 x Word B 2 k + 1 = x x 1 0
119 104 55 npcand k 0 x Word B 2 k + 1 = x x - 1 + 1 = x
120 68 leidd k 0 x Word B 2 k + 1 = x x x
121 119 120 eqbrtrd k 0 x Word B 2 k + 1 = x x - 1 + 1 x
122 nn0p1elfzo x 1 0 x 0 x - 1 + 1 x x 1 0 ..^ x
123 118 39 121 122 syl3anc k 0 x Word B 2 k + 1 = x x 1 0 ..^ x
124 wrdsymbcl x Word B x 1 0 ..^ x x x 1 B
125 36 123 124 syl2anc k 0 x Word B 2 k + 1 = x x x 1 B
126 125 adantlr k 0 y Word B 2 k = y χ x Word B 2 k + 1 = x x x 1 B
127 oveq1 y = x prefix x 2 y ++ ⟨“ ij ”⟩ = x prefix x 2 ++ ⟨“ ij ”⟩
128 127 sbceq1d y = x prefix x 2 [˙y ++ ⟨“ ij ”⟩ / x]˙ φ [˙x prefix x 2 ++ ⟨“ ij ”⟩ / x]˙ φ
129 85 128 imbi12d y = x prefix x 2 [˙y / x]˙ φ [˙y ++ ⟨“ ij ”⟩ / x]˙ φ [˙x prefix x 2 / x]˙ φ [˙x prefix x 2 ++ ⟨“ ij ”⟩ / x]˙ φ
130 id i = x x 2 i = x x 2
131 eqidd i = x x 2 j = j
132 130 131 s2eqd i = x x 2 ⟨“ ij ”⟩ = ⟨“ x x 2 j ”⟩
133 132 oveq2d i = x x 2 x prefix x 2 ++ ⟨“ ij ”⟩ = x prefix x 2 ++ ⟨“ x x 2 j ”⟩
134 133 sbceq1d i = x x 2 [˙x prefix x 2 ++ ⟨“ ij ”⟩ / x]˙ φ [˙x prefix x 2 ++ ⟨“ x x 2 j ”⟩ / x]˙ φ
135 134 imbi2d i = x x 2 [˙x prefix x 2 / x]˙ φ [˙x prefix x 2 ++ ⟨“ ij ”⟩ / x]˙ φ [˙x prefix x 2 / x]˙ φ [˙x prefix x 2 ++ ⟨“ x x 2 j ”⟩ / x]˙ φ
136 eqidd j = x x 1 x x 2 = x x 2
137 id j = x x 1 j = x x 1
138 136 137 s2eqd j = x x 1 ⟨“ x x 2 j ”⟩ = ⟨“ x x 2 x x 1 ”⟩
139 138 oveq2d j = x x 1 x prefix x 2 ++ ⟨“ x x 2 j ”⟩ = x prefix x 2 ++ ⟨“ x x 2 x x 1 ”⟩
140 139 sbceq1d j = x x 1 [˙x prefix x 2 ++ ⟨“ x x 2 j ”⟩ / x]˙ φ [˙x prefix x 2 ++ ⟨“ x x 2 x x 1 ”⟩ / x]˙ φ
141 140 imbi2d j = x x 1 [˙x prefix x 2 / x]˙ φ [˙x prefix x 2 ++ ⟨“ x x 2 j ”⟩ / x]˙ φ [˙x prefix x 2 / x]˙ φ [˙x prefix x 2 ++ ⟨“ x x 2 x x 1 ”⟩ / x]˙ φ
142 ovex y ++ ⟨“ ij ”⟩ V
143 142 3 sbcie [˙y ++ ⟨“ ij ”⟩ / x]˙ φ θ
144 6 84 143 3imtr4g y Word B i B j B [˙y / x]˙ φ [˙y ++ ⟨“ ij ”⟩ / x]˙ φ
145 129 135 141 144 vtocl3ga x prefix x 2 Word B x x 2 B x x 1 B [˙x prefix x 2 / x]˙ φ [˙x prefix x 2 ++ ⟨“ x x 2 x x 1 ”⟩ / x]˙ φ
146 90 116 126 145 syl3anc k 0 y Word B 2 k = y χ x Word B 2 k + 1 = x [˙x prefix x 2 / x]˙ φ [˙x prefix x 2 ++ ⟨“ x x 2 x x 1 ”⟩ / x]˙ φ
147 92 146 mpd k 0 y Word B 2 k = y χ x Word B 2 k + 1 = x [˙x prefix x 2 ++ ⟨“ x x 2 x x 1 ”⟩ / x]˙ φ
148 simprl k 0 y Word B 2 k = y χ x Word B 2 k + 1 = x x Word B
149 1red k 0 y Word B 2 k = y χ x Word B 2 k + 1 = x 1
150 simpll k 0 y Word B 2 k = y χ x Word B 2 k + 1 = x k 0
151 150 nn0red k 0 y Word B 2 k = y χ x Word B 2 k + 1 = x k
152 151 149 readdcld k 0 y Word B 2 k = y χ x Word B 2 k + 1 = x k + 1
153 44 a1i k 0 y Word B 2 k = y χ x Word B 2 k + 1 = x 2
154 47 a1i k 0 y Word B 2 k = y χ x Word B 2 k + 1 = x 0 2
155 0p1e1 0 + 1 = 1
156 0red k 0 y Word B 2 k = y χ x Word B 2 k + 1 = x 0
157 150 nn0ge0d k 0 y Word B 2 k = y χ x Word B 2 k + 1 = x 0 k
158 149 leidd k 0 y Word B 2 k = y χ x Word B 2 k + 1 = x 1 1
159 156 149 151 149 157 158 le2addd k 0 y Word B 2 k = y χ x Word B 2 k + 1 = x 0 + 1 k + 1
160 155 159 eqbrtrrid k 0 y Word B 2 k = y χ x Word B 2 k + 1 = x 1 k + 1
161 149 152 153 154 160 lemul2ad k 0 y Word B 2 k = y χ x Word B 2 k + 1 = x 2 1 2 k + 1
162 58 161 eqbrtrrid k 0 y Word B 2 k = y χ x Word B 2 k + 1 = x 2 2 k + 1
163 simprr k 0 y Word B 2 k = y χ x Word B 2 k + 1 = x 2 k + 1 = x
164 162 163 breqtrd k 0 y Word B 2 k = y χ x Word B 2 k + 1 = x 2 x
165 eqid x = x
166 165 pfxlsw2ccat x Word B 2 x x = x prefix x 2 ++ ⟨“ x x 2 x x 1 ”⟩
167 166 eqcomd x Word B 2 x x prefix x 2 ++ ⟨“ x x 2 x x 1 ”⟩ = x
168 167 eqcomd x Word B 2 x x = x prefix x 2 ++ ⟨“ x x 2 x x 1 ”⟩
169 148 164 168 syl2anc k 0 y Word B 2 k = y χ x Word B 2 k + 1 = x x = x prefix x 2 ++ ⟨“ x x 2 x x 1 ”⟩
170 sbceq1a x = x prefix x 2 ++ ⟨“ x x 2 x x 1 ”⟩ φ [˙x prefix x 2 ++ ⟨“ x x 2 x x 1 ”⟩ / x]˙ φ
171 169 170 syl k 0 y Word B 2 k = y χ x Word B 2 k + 1 = x φ [˙x prefix x 2 ++ ⟨“ x x 2 x x 1 ”⟩ / x]˙ φ
172 147 171 mpbird k 0 y Word B 2 k = y χ x Word B 2 k + 1 = x φ
173 172 expr k 0 y Word B 2 k = y χ x Word B 2 k + 1 = x φ
174 173 ralrimiva k 0 y Word B 2 k = y χ x Word B 2 k + 1 = x φ
175 174 ex k 0 y Word B 2 k = y χ x Word B 2 k + 1 = x φ
176 35 175 syl5bi k 0 x Word B 2 k = x φ x Word B 2 k + 1 = x φ
177 10 14 18 22 31 176 nn0ind m 0 x Word B 2 m = x φ
178 177 adantl A Word B m 0 x Word B 2 m = x φ
179 simpl A Word B m 0 A Word B
180 fveq2 x = A x = A
181 180 eqeq2d x = A 2 m = x 2 m = A
182 181 4 imbi12d x = A 2 m = x φ 2 m = A τ
183 182 adantl A Word B m 0 x = A 2 m = x φ 2 m = A τ
184 179 183 rspcdv A Word B m 0 x Word B 2 m = x φ 2 m = A τ
185 178 184 mpd A Word B m 0 2 m = A τ
186 185 imp A Word B m 0 2 m = A τ
187 186 adantllr A Word B 2 A m 0 2 m = A τ
188 lencl A Word B A 0
189 evennn02n A 0 2 A m 0 2 m = A
190 189 biimpa A 0 2 A m 0 2 m = A
191 188 190 sylan A Word B 2 A m 0 2 m = A
192 187 191 r19.29a A Word B 2 A τ