Metamath Proof Explorer


Theorem signstfvneq0

Description: In case the first letter is not zero, the zero skipping sign is never zero. (Contributed by Thierry Arnoux, 10-Oct-2018)

Ref Expression
Hypotheses signsv.p ˙=a101,b101ifb=0ab
signsv.w W=Basendx101+ndx˙
signsv.t T=fWordn0..^fWi=0nsgnfi
signsv.v V=fWordj1..^fifTfjTfj110
Assertion signstfvneq0 FWordF00N0..^FTFN0

Proof

Step Hyp Ref Expression
1 signsv.p ˙=a101,b101ifb=0ab
2 signsv.w W=Basendx101+ndx˙
3 signsv.t T=fWordn0..^fWi=0nsgnfi
4 signsv.v V=fWordj1..^fifTfjTfj110
5 simpll FWordF00N0..^FFWord
6 5 eldifad FWordF00N0..^FFWord
7 eldifsni FWordF
8 7 ad2antrr FWordF00N0..^FF
9 simplr FWordF00N0..^FF00
10 8 9 jca FWordF00N0..^FFF00
11 simpr FWordF00N0..^FN0..^F
12 fveq2 m=NTFm=TFN
13 12 neeq1d m=NTFm0TFN0
14 neeq1 g=g
15 fveq1 g=g0=0
16 15 neeq1d g=g0000
17 14 16 anbi12d g=gg0000
18 fveq2 g=g=
19 18 oveq2d g=0..^g=0..^
20 fveq2 g=Tg=T
21 20 fveq1d g=Tgm=Tm
22 21 neeq1d g=Tgm0Tm0
23 19 22 raleqbidv g=m0..^gTgm0m0..^Tm0
24 17 23 imbi12d g=gg00m0..^gTgm000m0..^Tm0
25 neeq1 g=ege
26 fveq1 g=eg0=e0
27 26 neeq1d g=eg00e00
28 25 27 anbi12d g=egg00ee00
29 fveq2 g=eg=e
30 29 oveq2d g=e0..^g=0..^e
31 fveq2 g=eTg=Te
32 31 fveq1d g=eTgm=Tem
33 32 neeq1d g=eTgm0Tem0
34 30 33 raleqbidv g=em0..^gTgm0m0..^eTem0
35 28 34 imbi12d g=egg00m0..^gTgm0ee00m0..^eTem0
36 neeq1 g=e++⟨“k”⟩ge++⟨“k”⟩
37 fveq1 g=e++⟨“k”⟩g0=e++⟨“k”⟩0
38 37 neeq1d g=e++⟨“k”⟩g00e++⟨“k”⟩00
39 36 38 anbi12d g=e++⟨“k”⟩gg00e++⟨“k”⟩e++⟨“k”⟩00
40 fveq2 g=e++⟨“k”⟩g=e++⟨“k”⟩
41 40 oveq2d g=e++⟨“k”⟩0..^g=0..^e++⟨“k”⟩
42 fveq2 g=e++⟨“k”⟩Tg=Te++⟨“k”⟩
43 42 fveq1d g=e++⟨“k”⟩Tgm=Te++⟨“k”⟩m
44 43 neeq1d g=e++⟨“k”⟩Tgm0Te++⟨“k”⟩m0
45 41 44 raleqbidv g=e++⟨“k”⟩m0..^gTgm0m0..^e++⟨“k”⟩Te++⟨“k”⟩m0
46 39 45 imbi12d g=e++⟨“k”⟩gg00m0..^gTgm0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩Te++⟨“k”⟩m0
47 neeq1 g=FgF
48 fveq1 g=Fg0=F0
49 48 neeq1d g=Fg00F00
50 47 49 anbi12d g=Fgg00FF00
51 fveq2 g=Fg=F
52 51 oveq2d g=F0..^g=0..^F
53 fveq2 g=FTg=TF
54 53 fveq1d g=FTgm=TFm
55 54 neeq1d g=FTgm0TFm0
56 52 55 raleqbidv g=Fm0..^gTgm0m0..^FTFm0
57 50 56 imbi12d g=Fgg00m0..^gTgm0FF00m0..^FTFm0
58 neirr ¬
59 58 intnanr ¬00
60 59 pm2.21i 00m0..^Tm0
61 fveq2 n=mTen=Tem
62 61 neeq1d n=mTen0Tem0
63 62 cbvralvw n0..^eTen0m0..^eTem0
64 63 imbi2i ee00n0..^eTen0ee00m0..^eTem0
65 64 anbi2i eWordkee00n0..^eTen0eWordkee00m0..^eTem0
66 simplr eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩m0..^ee=m0..^e
67 noel ¬m
68 fveq2 e=e=
69 hash0 =0
70 68 69 eqtrdi e=e=0
71 70 oveq2d e=0..^e=0..^0
72 fzo0 0..^0=
73 71 72 eqtrdi e=0..^e=
74 73 eleq2d e=m0..^em
75 67 74 mtbiri e=¬m0..^e
76 75 adantl eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩m0..^ee=¬m0..^e
77 66 76 pm2.21dd eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩m0..^ee=Te++⟨“k”⟩m0
78 simp-6l eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩m0..^eeeWord
79 simp-6r eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩m0..^eek
80 simplr eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩m0..^eem0..^e
81 1 2 3 4 signstfvp eWordkm0..^eTe++⟨“k”⟩m=Tem
82 78 79 80 81 syl3anc eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩m0..^eeTe++⟨“k”⟩m=Tem
83 simpr eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩m0..^eee
84 simp-5l eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩m0..^eeeWordk
85 simplrr eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩m0..^eee++⟨“k”⟩00
86 85 3anassrs eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩m0..^eee++⟨“k”⟩00
87 simpll eWordkeeWord
88 s1cl k⟨“k”⟩Word
89 88 ad2antlr eWordke⟨“k”⟩Word
90 lennncl eWordee
91 90 adantlr eWordkee
92 fzo0end ee10..^e
93 elfzolt3b e10..^e00..^e
94 91 92 93 3syl eWordke00..^e
95 ccatval1 eWord⟨“k”⟩Word00..^ee++⟨“k”⟩0=e0
96 87 89 94 95 syl3anc eWordkee++⟨“k”⟩0=e0
97 96 neeq1d eWordkee++⟨“k”⟩00e00
98 97 biimpa eWordkee++⟨“k”⟩00e00
99 84 83 86 98 syl21anc eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩m0..^eee00
100 simp-5r eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩m0..^eeee00n0..^eTen0
101 83 99 100 mp2and eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩m0..^een0..^eTen0
102 62 101 80 rspcdva eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩m0..^eeTem0
103 82 102 eqnetrd eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩m0..^eeTe++⟨“k”⟩m0
104 77 103 pm2.61dane eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩m0..^eTe++⟨“k”⟩m0
105 simpr eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩m=em=e
106 105 fveq2d eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩m=eTe++⟨“k”⟩m=Te++⟨“k”⟩e
107 simpr eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩e=e=
108 simp-4r eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩e=k
109 simplrl eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩e=e++⟨“k”⟩e++⟨“k”⟩00
110 109 simprd eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩e=e++⟨“k”⟩00
111 oveq1 e=e++⟨“k”⟩=++⟨“k”⟩
112 ccatlid ⟨“k”⟩Word++⟨“k”⟩=⟨“k”⟩
113 88 112 syl k++⟨“k”⟩=⟨“k”⟩
114 111 113 sylan9eq e=ke++⟨“k”⟩=⟨“k”⟩
115 114 fveq2d e=kTe++⟨“k”⟩=T⟨“k”⟩
116 115 adantr e=ke++⟨“k”⟩00Te++⟨“k”⟩=T⟨“k”⟩
117 1 2 3 4 signstf0 kT⟨“k”⟩=⟨“sgnk”⟩
118 117 ad2antlr e=ke++⟨“k”⟩00T⟨“k”⟩=⟨“sgnk”⟩
119 116 118 eqtrd e=ke++⟨“k”⟩00Te++⟨“k”⟩=⟨“sgnk”⟩
120 70 ad2antrr e=ke++⟨“k”⟩00e=0
121 119 120 fveq12d e=ke++⟨“k”⟩00Te++⟨“k”⟩e=⟨“sgnk”⟩0
122 sgnclre ksgnk
123 s1fv sgnk⟨“sgnk”⟩0=sgnk
124 122 123 syl k⟨“sgnk”⟩0=sgnk
125 124 ad2antlr e=ke++⟨“k”⟩00⟨“sgnk”⟩0=sgnk
126 121 125 eqtrd e=ke++⟨“k”⟩00Te++⟨“k”⟩e=sgnk
127 simplr e=ke++⟨“k”⟩00k
128 114 fveq1d e=ke++⟨“k”⟩0=⟨“k”⟩0
129 s1fv k⟨“k”⟩0=k
130 129 adantl e=k⟨“k”⟩0=k
131 128 130 eqtrd e=ke++⟨“k”⟩0=k
132 131 neeq1d e=ke++⟨“k”⟩00k0
133 132 biimpa e=ke++⟨“k”⟩00k0
134 rexr kk*
135 sgn0bi k*sgnk=0k=0
136 134 135 syl ksgnk=0k=0
137 136 necon3bid ksgnk0k0
138 137 biimpar kk0sgnk0
139 127 133 138 syl2anc e=ke++⟨“k”⟩00sgnk0
140 126 139 eqnetrd e=ke++⟨“k”⟩00Te++⟨“k”⟩e0
141 107 108 110 140 syl21anc eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩e=Te++⟨“k”⟩e0
142 eldifsn eWordeWorde
143 142 biimpri eWordeeWord
144 143 adantlr eWordkeeWord
145 simplr eWordkek
146 1 2 3 4 signstfvn eWordkTe++⟨“k”⟩e=Tee1˙sgnk
147 144 145 146 syl2anc eWordkeTe++⟨“k”⟩e=Tee1˙sgnk
148 147 ad4ant14 eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩eTe++⟨“k”⟩e=Tee1˙sgnk
149 90 92 syl eWordee10..^e
150 1 2 3 4 signstcl eWorde10..^eTee1101
151 149 150 syldan eWordeTee1101
152 151 ad5ant15 eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩eTee1101
153 sgncl k*sgnk101
154 134 153 syl ksgnk101
155 154 ad4antlr eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩esgnk101
156 fveq2 n=e1Ten=Tee1
157 156 neeq1d n=e1Ten0Tee10
158 simpr eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩ee
159 simplll eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩eeWordk
160 simplrl eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩ee++⟨“k”⟩e++⟨“k”⟩00
161 160 simprd eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩ee++⟨“k”⟩00
162 159 158 161 98 syl21anc eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩ee00
163 simpllr eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩eee00n0..^eTen0
164 158 162 163 mp2and eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩en0..^eTen0
165 90 ad4ant14 eWordke++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩ee
166 165 92 syl eWordke++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩ee10..^e
167 166 adantllr eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩ee10..^e
168 157 164 167 rspcdva eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩eTee10
169 1 2 signswn0 Tee1101sgnk101Tee10Tee1˙sgnk0
170 152 155 168 169 syl21anc eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩eTee1˙sgnk0
171 148 170 eqnetrd eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩eTe++⟨“k”⟩e0
172 141 171 pm2.61dane eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩Te++⟨“k”⟩e0
173 172 anassrs eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩Te++⟨“k”⟩e0
174 173 adantr eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩m=eTe++⟨“k”⟩e0
175 106 174 eqnetrd eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩m=eTe++⟨“k”⟩m0
176 lencl eWorde0
177 nn0uz 0=0
178 176 177 eleqtrdi eWorde0
179 178 ad4antr eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩e0
180 ccatws1len eWorde++⟨“k”⟩=e+1
181 180 adantr eWordke++⟨“k”⟩=e+1
182 181 oveq2d eWordk0..^e++⟨“k”⟩=0..^e+1
183 182 eleq2d eWordkm0..^e++⟨“k”⟩m0..^e+1
184 183 biimpa eWordkm0..^e++⟨“k”⟩m0..^e+1
185 184 ad4ant14 eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩m0..^e+1
186 fzosplitsni e0m0..^e+1m0..^em=e
187 186 biimpa e0m0..^e+1m0..^em=e
188 179 185 187 syl2anc eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩m0..^em=e
189 104 175 188 mpjaodan eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩Te++⟨“k”⟩m0
190 189 ralrimiva eWordkee00n0..^eTen0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩Te++⟨“k”⟩m0
191 65 190 sylanbr eWordkee00m0..^eTem0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩Te++⟨“k”⟩m0
192 191 exp31 eWordkee00m0..^eTem0e++⟨“k”⟩e++⟨“k”⟩00m0..^e++⟨“k”⟩Te++⟨“k”⟩m0
193 24 35 46 57 60 192 wrdind FWordFF00m0..^FTFm0
194 193 imp FWordFF00m0..^FTFm0
195 194 adantr FWordFF00N0..^Fm0..^FTFm0
196 simpr FWordFF00N0..^FN0..^F
197 13 195 196 rspcdva FWordFF00N0..^FTFN0
198 6 10 11 197 syl21anc FWordF00N0..^FTFN0