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 yWordBiBjBχθ
Assertion wrdt2ind AWordB2Aτ

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 yWordBiBjBχθ
7 oveq2 n=02n=20
8 7 eqeq1d n=02n=x20=x
9 8 imbi1d n=02n=xφ20=xφ
10 9 ralbidv n=0xWordB2n=xφxWordB20=xφ
11 oveq2 n=k2n=2k
12 11 eqeq1d n=k2n=x2k=x
13 12 imbi1d n=k2n=xφ2k=xφ
14 13 ralbidv n=kxWordB2n=xφxWordB2k=xφ
15 oveq2 n=k+12n=2k+1
16 15 eqeq1d n=k+12n=x2k+1=x
17 16 imbi1d n=k+12n=xφ2k+1=xφ
18 17 ralbidv n=k+1xWordB2n=xφxWordB2k+1=xφ
19 oveq2 n=m2n=2m
20 19 eqeq1d n=m2n=x2m=x
21 20 imbi1d n=m2n=xφ2m=xφ
22 21 ralbidv n=mxWordB2n=xφxWordB2m=xφ
23 2t0e0 20=0
24 23 eqeq1i 20=x0=x
25 eqcom 0=xx=0
26 24 25 bitri 20=xx=0
27 hasheq0 xWordBx=0x=
28 26 27 syl5bb xWordB20=xx=
29 5 1 mpbiri x=φ
30 28 29 syl6bi xWordB20=xφ
31 30 rgen xWordB20=xφ
32 fveq2 x=yx=y
33 32 eqeq2d x=y2k=x2k=y
34 33 2 imbi12d x=y2k=xφ2k=yχ
35 34 cbvralvw xWordB2k=xφyWordB2k=yχ
36 simprl k0xWordB2k+1=xxWordB
37 0zd k0xWordB2k+1=x0
38 lencl xWordBx0
39 36 38 syl k0xWordB2k+1=xx0
40 39 nn0zd k0xWordB2k+1=xx
41 2z 2
42 41 a1i k0xWordB2k+1=x2
43 40 42 zsubcld k0xWordB2k+1=xx2
44 2re 2
45 44 a1i k02
46 nn0re k0k
47 0le2 02
48 47 a1i k002
49 nn0ge0 k00k
50 45 46 48 49 mulge0d k002k
51 50 adantr k0xWordB2k+1=x02k
52 2cnd k0xWordB2k+1=x2
53 simpl k0xWordB2k+1=xk0
54 53 nn0cnd k0xWordB2k+1=xk
55 1cnd k0xWordB2k+1=x1
56 52 54 55 adddid k0xWordB2k+1=x2k+1=2k+21
57 simprr k0xWordB2k+1=x2k+1=x
58 2t1e2 21=2
59 58 a1i k0xWordB2k+1=x21=2
60 59 oveq2d k0xWordB2k+1=x2k+21=2k+2
61 56 57 60 3eqtr3d k0xWordB2k+1=xx=2k+2
62 61 oveq1d k0xWordB2k+1=xx2=2k+2-2
63 52 54 mulcld k0xWordB2k+1=x2k
64 63 52 pncand k0xWordB2k+1=x2k+2-2=2k
65 62 64 eqtrd k0xWordB2k+1=xx2=2k
66 51 65 breqtrrd k0xWordB2k+1=x0x2
67 43 zred k0xWordB2k+1=xx2
68 39 nn0red k0xWordB2k+1=xx
69 2pos 0<2
70 44 a1i k0xWordB2k+1=x2
71 70 68 ltsubposd k0xWordB2k+1=x0<2x2<x
72 69 71 mpbii k0xWordB2k+1=xx2<x
73 67 68 72 ltled k0xWordB2k+1=xx2x
74 37 40 43 66 73 elfzd k0xWordB2k+1=xx20x
75 pfxlen xWordBx20xxprefixx2=x2
76 36 74 75 syl2anc k0xWordB2k+1=xxprefixx2=x2
77 76 65 eqtr2d k0xWordB2k+1=x2k=xprefixx2
78 77 adantlr k0yWordB2k=yχxWordB2k+1=x2k=xprefixx2
79 fveq2 y=xprefixx2y=xprefixx2
80 79 eqeq2d y=xprefixx22k=y2k=xprefixx2
81 vex yV
82 81 2 sbcie [˙y/x]˙φχ
83 dfsbcq y=xprefixx2[˙y/x]˙φ[˙xprefixx2/x]˙φ
84 82 83 bitr3id y=xprefixx2χ[˙xprefixx2/x]˙φ
85 80 84 imbi12d y=xprefixx22k=yχ2k=xprefixx2[˙xprefixx2/x]˙φ
86 simplr k0yWordB2k=yχxWordB2k+1=xyWordB2k=yχ
87 pfxcl xWordBxprefixx2WordB
88 87 ad2antrl k0yWordB2k=yχxWordB2k+1=xxprefixx2WordB
89 85 86 88 rspcdva k0yWordB2k=yχxWordB2k+1=x2k=xprefixx2[˙xprefixx2/x]˙φ
90 78 89 mpd k0yWordB2k=yχxWordB2k+1=x[˙xprefixx2/x]˙φ
91 2nn0 20
92 91 a1i k0xWordB2k+1=x20
93 52 addid2d k0xWordB2k+1=x0+2=2
94 0red k0xWordB2k+1=x0
95 65 67 eqeltrrd k0xWordB2k+1=x2k
96 94 95 70 51 leadd1dd k0xWordB2k+1=x0+22k+2
97 93 96 eqbrtrrd k0xWordB2k+1=x22k+2
98 97 61 breqtrrd k0xWordB2k+1=x2x
99 nn0sub 20x02xx20
100 99 biimpa 20x02xx20
101 92 39 98 100 syl21anc k0xWordB2k+1=xx20
102 68 recnd k0xWordB2k+1=xx
103 102 52 55 subsubd k0xWordB2k+1=xx21=x-2+1
104 2m1e1 21=1
105 104 a1i k0xWordB2k+1=x21=1
106 105 oveq2d k0xWordB2k+1=xx21=x1
107 103 106 eqtr3d k0xWordB2k+1=xx-2+1=x1
108 68 lem1d k0xWordB2k+1=xx1x
109 107 108 eqbrtrd k0xWordB2k+1=xx-2+1x
110 nn0p1elfzo x20x0x-2+1xx20..^x
111 101 39 109 110 syl3anc k0xWordB2k+1=xx20..^x
112 wrdsymbcl xWordBx20..^xxx2B
113 36 111 112 syl2anc k0xWordB2k+1=xxx2B
114 113 adantlr k0yWordB2k=yχxWordB2k+1=xxx2B
115 nn0ge2m1nn0 x02xx10
116 39 98 115 syl2anc k0xWordB2k+1=xx10
117 102 55 npcand k0xWordB2k+1=xx-1+1=x
118 68 leidd k0xWordB2k+1=xxx
119 117 118 eqbrtrd k0xWordB2k+1=xx-1+1x
120 nn0p1elfzo x10x0x-1+1xx10..^x
121 116 39 119 120 syl3anc k0xWordB2k+1=xx10..^x
122 wrdsymbcl xWordBx10..^xxx1B
123 36 121 122 syl2anc k0xWordB2k+1=xxx1B
124 123 adantlr k0yWordB2k=yχxWordB2k+1=xxx1B
125 oveq1 y=xprefixx2y++⟨“ij”⟩=xprefixx2++⟨“ij”⟩
126 125 sbceq1d y=xprefixx2[˙y++⟨“ij”⟩/x]˙φ[˙xprefixx2++⟨“ij”⟩/x]˙φ
127 83 126 imbi12d y=xprefixx2[˙y/x]˙φ[˙y++⟨“ij”⟩/x]˙φ[˙xprefixx2/x]˙φ[˙xprefixx2++⟨“ij”⟩/x]˙φ
128 id i=xx2i=xx2
129 eqidd i=xx2j=j
130 128 129 s2eqd i=xx2⟨“ij”⟩=⟨“xx2j”⟩
131 130 oveq2d i=xx2xprefixx2++⟨“ij”⟩=xprefixx2++⟨“xx2j”⟩
132 131 sbceq1d i=xx2[˙xprefixx2++⟨“ij”⟩/x]˙φ[˙xprefixx2++⟨“xx2j”⟩/x]˙φ
133 132 imbi2d i=xx2[˙xprefixx2/x]˙φ[˙xprefixx2++⟨“ij”⟩/x]˙φ[˙xprefixx2/x]˙φ[˙xprefixx2++⟨“xx2j”⟩/x]˙φ
134 eqidd j=xx1xx2=xx2
135 id j=xx1j=xx1
136 134 135 s2eqd j=xx1⟨“xx2j”⟩=⟨“xx2xx1”⟩
137 136 oveq2d j=xx1xprefixx2++⟨“xx2j”⟩=xprefixx2++⟨“xx2xx1”⟩
138 137 sbceq1d j=xx1[˙xprefixx2++⟨“xx2j”⟩/x]˙φ[˙xprefixx2++⟨“xx2xx1”⟩/x]˙φ
139 138 imbi2d j=xx1[˙xprefixx2/x]˙φ[˙xprefixx2++⟨“xx2j”⟩/x]˙φ[˙xprefixx2/x]˙φ[˙xprefixx2++⟨“xx2xx1”⟩/x]˙φ
140 ovex y++⟨“ij”⟩V
141 140 3 sbcie [˙y++⟨“ij”⟩/x]˙φθ
142 6 82 141 3imtr4g yWordBiBjB[˙y/x]˙φ[˙y++⟨“ij”⟩/x]˙φ
143 127 133 139 142 vtocl3ga xprefixx2WordBxx2Bxx1B[˙xprefixx2/x]˙φ[˙xprefixx2++⟨“xx2xx1”⟩/x]˙φ
144 88 114 124 143 syl3anc k0yWordB2k=yχxWordB2k+1=x[˙xprefixx2/x]˙φ[˙xprefixx2++⟨“xx2xx1”⟩/x]˙φ
145 90 144 mpd k0yWordB2k=yχxWordB2k+1=x[˙xprefixx2++⟨“xx2xx1”⟩/x]˙φ
146 simprl k0yWordB2k=yχxWordB2k+1=xxWordB
147 1red k0yWordB2k=yχxWordB2k+1=x1
148 simpll k0yWordB2k=yχxWordB2k+1=xk0
149 148 nn0red k0yWordB2k=yχxWordB2k+1=xk
150 149 147 readdcld k0yWordB2k=yχxWordB2k+1=xk+1
151 44 a1i k0yWordB2k=yχxWordB2k+1=x2
152 47 a1i k0yWordB2k=yχxWordB2k+1=x02
153 0p1e1 0+1=1
154 0red k0yWordB2k=yχxWordB2k+1=x0
155 148 nn0ge0d k0yWordB2k=yχxWordB2k+1=x0k
156 147 leidd k0yWordB2k=yχxWordB2k+1=x11
157 154 147 149 147 155 156 le2addd k0yWordB2k=yχxWordB2k+1=x0+1k+1
158 153 157 eqbrtrrid k0yWordB2k=yχxWordB2k+1=x1k+1
159 147 150 151 152 158 lemul2ad k0yWordB2k=yχxWordB2k+1=x212k+1
160 58 159 eqbrtrrid k0yWordB2k=yχxWordB2k+1=x22k+1
161 simprr k0yWordB2k=yχxWordB2k+1=x2k+1=x
162 160 161 breqtrd k0yWordB2k=yχxWordB2k+1=x2x
163 eqid x=x
164 163 pfxlsw2ccat xWordB2xx=xprefixx2++⟨“xx2xx1”⟩
165 164 eqcomd xWordB2xxprefixx2++⟨“xx2xx1”⟩=x
166 165 eqcomd xWordB2xx=xprefixx2++⟨“xx2xx1”⟩
167 146 162 166 syl2anc k0yWordB2k=yχxWordB2k+1=xx=xprefixx2++⟨“xx2xx1”⟩
168 sbceq1a x=xprefixx2++⟨“xx2xx1”⟩φ[˙xprefixx2++⟨“xx2xx1”⟩/x]˙φ
169 167 168 syl k0yWordB2k=yχxWordB2k+1=xφ[˙xprefixx2++⟨“xx2xx1”⟩/x]˙φ
170 145 169 mpbird k0yWordB2k=yχxWordB2k+1=xφ
171 170 expr k0yWordB2k=yχxWordB2k+1=xφ
172 171 ralrimiva k0yWordB2k=yχxWordB2k+1=xφ
173 172 ex k0yWordB2k=yχxWordB2k+1=xφ
174 35 173 syl5bi k0xWordB2k=xφxWordB2k+1=xφ
175 10 14 18 22 31 174 nn0ind m0xWordB2m=xφ
176 175 adantl AWordBm0xWordB2m=xφ
177 simpl AWordBm0AWordB
178 fveq2 x=Ax=A
179 178 eqeq2d x=A2m=x2m=A
180 179 4 imbi12d x=A2m=xφ2m=Aτ
181 180 adantl AWordBm0x=A2m=xφ2m=Aτ
182 177 181 rspcdv AWordBm0xWordB2m=xφ2m=Aτ
183 176 182 mpd AWordBm02m=Aτ
184 183 imp AWordBm02m=Aτ
185 184 adantllr AWordB2Am02m=Aτ
186 lencl AWordBA0
187 evennn02n A02Am02m=A
188 187 biimpa A02Am02m=A
189 186 188 sylan AWordB2Am02m=A
190 185 189 r19.29a AWordB2Aτ