Metamath Proof Explorer


Theorem eulerpartlemgs2

Description: Lemma for eulerpart : The G function also preserves partition sums. (Contributed by Thierry Arnoux, 10-Sep-2017)

Ref Expression
Hypotheses eulerpart.p P=f0|f-1Finkfkk=N
eulerpart.o O=gP|ng-1¬2n
eulerpart.d D=gP|ngn1
eulerpart.j J=z|¬2z
eulerpart.f F=xJ,y02yx
eulerpart.h H=r𝒫0FinJ|rsuppFin
eulerpart.m M=rHxy|xJyrx
eulerpart.r R=f|f-1Fin
eulerpart.t T=f0|f-1J
eulerpart.g G=oTR𝟙FMbitsoJ
eulerpart.s S=f0Rkfkk
Assertion eulerpartlemgs2 ATRSGA=SA

Proof

Step Hyp Ref Expression
1 eulerpart.p P=f0|f-1Finkfkk=N
2 eulerpart.o O=gP|ng-1¬2n
3 eulerpart.d D=gP|ngn1
4 eulerpart.j J=z|¬2z
5 eulerpart.f F=xJ,y02yx
6 eulerpart.h H=r𝒫0FinJ|rsuppFin
7 eulerpart.m M=rHxy|xJyrx
8 eulerpart.r R=f|f-1Fin
9 eulerpart.t T=f0|f-1J
10 eulerpart.g G=oTR𝟙FMbitsoJ
11 eulerpart.s S=f0Rkfkk
12 cnvimass GA-1domGA
13 1 2 3 4 5 6 7 8 9 10 eulerpartgbij G:TR1-1 onto01R
14 f1of G:TR1-1 onto01RG:TR01R
15 13 14 ax-mp G:TR01R
16 15 ffvelcdmi ATRGA01R
17 elin GA01RGA01GAR
18 16 17 sylib ATRGA01GAR
19 18 simpld ATRGA01
20 elmapi GA01GA:01
21 fdm GA:01domGA=
22 19 20 21 3syl ATRdomGA=
23 12 22 sseqtrid ATRGA-1
24 23 sselda ATRkGA-1k
25 1 2 3 4 5 6 7 8 9 10 eulerpartlemgvv ATRkGAk=iftnbitsAt2nt=k10
26 25 oveq1d ATRkGAkk=iftnbitsAt2nt=k10k
27 24 26 syldan ATRkGA-1GAkk=iftnbitsAt2nt=k10k
28 27 sumeq2dv ATRkGA-1GAkk=kGA-1iftnbitsAt2nt=k10k
29 eqeq2 m=k2nt=m2nt=k
30 29 2rexbidv m=ktnbitsAt2nt=mtnbitsAt2nt=k
31 30 elrab km|tnbitsAt2nt=mktnbitsAt2nt=k
32 31 simprbi km|tnbitsAt2nt=mtnbitsAt2nt=k
33 32 iftrued km|tnbitsAt2nt=miftnbitsAt2nt=k10=1
34 33 oveq1d km|tnbitsAt2nt=miftnbitsAt2nt=k10k=1k
35 elrabi km|tnbitsAt2nt=mk
36 35 nncnd km|tnbitsAt2nt=mk
37 36 mullidd km|tnbitsAt2nt=m1k=k
38 34 37 eqtrd km|tnbitsAt2nt=miftnbitsAt2nt=k10k=k
39 38 sumeq2i km|tnbitsAt2nt=miftnbitsAt2nt=k10k=km|tnbitsAt2nt=mk
40 id k=22ndw1stwk=22ndw1stw
41 1 2 3 4 5 6 7 8 9 10 eulerpartlemgf ATRGA-1Fin
42 35 adantl ATRkm|tnbitsAt2nt=mk
43 42 25 syldan ATRkm|tnbitsAt2nt=mGAk=iftnbitsAt2nt=k10
44 32 adantl ATRkm|tnbitsAt2nt=mtnbitsAt2nt=k
45 44 iftrued ATRkm|tnbitsAt2nt=miftnbitsAt2nt=k10=1
46 43 45 eqtrd ATRkm|tnbitsAt2nt=mGAk=1
47 1nn 1
48 46 47 eqeltrdi ATRkm|tnbitsAt2nt=mGAk
49 19 20 syl ATRGA:01
50 ffn GA:01GAFn
51 elpreima GAFnkGA-1kGAk
52 49 50 51 3syl ATRkGA-1kGAk
53 52 adantr ATRkm|tnbitsAt2nt=mkGA-1kGAk
54 42 48 53 mpbir2and ATRkm|tnbitsAt2nt=mkGA-1
55 54 ex ATRkm|tnbitsAt2nt=mkGA-1
56 55 ssrdv ATRm|tnbitsAt2nt=mGA-1
57 ssfi GA-1Finm|tnbitsAt2nt=mGA-1m|tnbitsAt2nt=mFin
58 41 56 57 syl2anc ATRm|tnbitsAt2nt=mFin
59 cnvexg ATRA-1V
60 imaexg A-1VA-1V
61 inex1g A-1VA-1JV
62 59 60 61 3syl ATRA-1JV
63 vsnex tV
64 fvex bitsAtV
65 63 64 xpex t×bitsAtV
66 65 rgenw tA-1Jt×bitsAtV
67 iunexg A-1JVtA-1Jt×bitsAtVtA-1Jt×bitsAtV
68 62 66 67 sylancl ATRtA-1Jt×bitsAtV
69 eqid tA-1Jt×bitsAt=tA-1Jt×bitsAt
70 1 2 3 4 5 6 7 8 9 10 69 eulerpartlemgh ATRFtA-1Jt×bitsAt:tA-1Jt×bitsAt1-1 ontom|tnbitsAt2nt=m
71 f1oeng tA-1Jt×bitsAtVFtA-1Jt×bitsAt:tA-1Jt×bitsAt1-1 ontom|tnbitsAt2nt=mtA-1Jt×bitsAtm|tnbitsAt2nt=m
72 68 70 71 syl2anc ATRtA-1Jt×bitsAtm|tnbitsAt2nt=m
73 enfii m|tnbitsAt2nt=mFintA-1Jt×bitsAtm|tnbitsAt2nt=mtA-1Jt×bitsAtFin
74 58 72 73 syl2anc ATRtA-1Jt×bitsAtFin
75 fvres wtA-1Jt×bitsAtFtA-1Jt×bitsAtw=Fw
76 75 adantl ATRwtA-1Jt×bitsAtFtA-1Jt×bitsAtw=Fw
77 inss2 A-1JJ
78 simpr ATRtA-1JtA-1J
79 77 78 sselid ATRtA-1JtJ
80 79 snssd ATRtA-1JtJ
81 bitsss bitsAt0
82 xpss12 tJbitsAt0t×bitsAtJ×0
83 80 81 82 sylancl ATRtA-1Jt×bitsAtJ×0
84 83 ralrimiva ATRtA-1Jt×bitsAtJ×0
85 iunss tA-1Jt×bitsAtJ×0tA-1Jt×bitsAtJ×0
86 84 85 sylibr ATRtA-1Jt×bitsAtJ×0
87 86 sselda ATRwtA-1Jt×bitsAtwJ×0
88 4 5 oddpwdcv wJ×0Fw=22ndw1stw
89 87 88 syl ATRwtA-1Jt×bitsAtFw=22ndw1stw
90 76 89 eqtrd ATRwtA-1Jt×bitsAtFtA-1Jt×bitsAtw=22ndw1stw
91 42 nncnd ATRkm|tnbitsAt2nt=mk
92 40 74 70 90 91 fsumf1o ATRkm|tnbitsAt2nt=mk=wtA-1Jt×bitsAt22ndw1stw
93 39 92 eqtrid ATRkm|tnbitsAt2nt=miftnbitsAt2nt=k10k=wtA-1Jt×bitsAt22ndw1stw
94 ax-1cn 1
95 0cn 0
96 94 95 ifcli iftnbitsAt2nt=k10
97 96 a1i ATRkm|tnbitsAt2nt=miftnbitsAt2nt=k10
98 ssrab2 m|tnbitsAt2nt=m
99 simpr ATRkm|tnbitsAt2nt=mkm|tnbitsAt2nt=m
100 98 99 sselid ATRkm|tnbitsAt2nt=mk
101 100 nncnd ATRkm|tnbitsAt2nt=mk
102 97 101 mulcld ATRkm|tnbitsAt2nt=miftnbitsAt2nt=k10k
103 simpr ATRkGA-1m|tnbitsAt2nt=mkGA-1m|tnbitsAt2nt=m
104 103 eldifbd ATRkGA-1m|tnbitsAt2nt=m¬km|tnbitsAt2nt=m
105 23 ssdifssd ATRGA-1m|tnbitsAt2nt=m
106 105 sselda ATRkGA-1m|tnbitsAt2nt=mk
107 31 notbii ¬km|tnbitsAt2nt=m¬ktnbitsAt2nt=k
108 imnan k¬tnbitsAt2nt=k¬ktnbitsAt2nt=k
109 107 108 sylbb2 ¬km|tnbitsAt2nt=mk¬tnbitsAt2nt=k
110 104 106 109 sylc ATRkGA-1m|tnbitsAt2nt=m¬tnbitsAt2nt=k
111 110 iffalsed ATRkGA-1m|tnbitsAt2nt=miftnbitsAt2nt=k10=0
112 111 oveq1d ATRkGA-1m|tnbitsAt2nt=miftnbitsAt2nt=k10k=0k
113 nnsscn
114 105 113 sstrdi ATRGA-1m|tnbitsAt2nt=m
115 114 sselda ATRkGA-1m|tnbitsAt2nt=mk
116 115 mul02d ATRkGA-1m|tnbitsAt2nt=m0k=0
117 112 116 eqtrd ATRkGA-1m|tnbitsAt2nt=miftnbitsAt2nt=k10k=0
118 56 102 117 41 fsumss ATRkm|tnbitsAt2nt=miftnbitsAt2nt=k10k=kGA-1iftnbitsAt2nt=k10k
119 93 118 eqtr3d ATRwtA-1Jt×bitsAt22ndw1stw=kGA-1iftnbitsAt2nt=k10k
120 1 2 3 4 5 6 7 8 9 eulerpartlemt0 ATRA0A-1FinA-1J
121 120 simp1bi ATRA0
122 elmapi A0A:0
123 121 122 syl ATRA:0
124 123 adantr ATRtA-1JA:0
125 cnvimass A-1domA
126 125 123 fssdm ATRA-1
127 126 adantr ATRtA-1JA-1
128 inss1 A-1JA-1
129 128 78 sselid ATRtA-1JtA-1
130 127 129 sseldd ATRtA-1Jt
131 124 130 ffvelcdmd ATRtA-1JAt0
132 bitsfi At0bitsAtFin
133 131 132 syl ATRtA-1JbitsAtFin
134 130 nncnd ATRtA-1Jt
135 2cnd ATRtA-1JnbitsAt2
136 simprr ATRtA-1JnbitsAtnbitsAt
137 81 136 sselid ATRtA-1JnbitsAtn0
138 135 137 expcld ATRtA-1JnbitsAt2n
139 138 anassrs ATRtA-1JnbitsAt2n
140 133 134 139 fsummulc1 ATRtA-1JnbitsAt2nt=nbitsAt2nt
141 140 sumeq2dv ATRtA-1JnbitsAt2nt=tA-1JnbitsAt2nt
142 bitsinv1 At0nbitsAt2n=At
143 142 oveq1d At0nbitsAt2nt=Att
144 131 143 syl ATRtA-1JnbitsAt2nt=Att
145 144 sumeq2dv ATRtA-1JnbitsAt2nt=tA-1JAtt
146 vex tV
147 vex nV
148 146 147 op2ndd w=tn2ndw=n
149 148 oveq2d w=tn22ndw=2n
150 146 147 op1std w=tn1stw=t
151 149 150 oveq12d w=tn22ndw1stw=2nt
152 inss2 TRR
153 152 sseli ATRAR
154 cnveq f=Af-1=A-1
155 154 imaeq1d f=Af-1=A-1
156 155 eleq1d f=Af-1FinA-1Fin
157 156 8 elab2g ATRARA-1Fin
158 153 157 mpbid ATRA-1Fin
159 ssfi A-1FinA-1JA-1A-1JFin
160 158 128 159 sylancl ATRA-1JFin
161 134 adantrr ATRtA-1JnbitsAtt
162 138 161 mulcld ATRtA-1JnbitsAt2nt
163 151 160 133 162 fsum2d ATRtA-1JnbitsAt2nt=wtA-1Jt×bitsAt22ndw1stw
164 141 145 163 3eqtr3d ATRtA-1JAtt=wtA-1Jt×bitsAt22ndw1stw
165 inss1 TRT
166 165 sseli ATRAT
167 155 sseq1d f=Af-1JA-1J
168 167 9 elrab2 ATA0A-1J
169 168 simprbi ATA-1J
170 166 169 syl ATRA-1J
171 df-ss A-1JA-1J=A-1
172 170 171 sylib ATRA-1J=A-1
173 172 sumeq1d ATRtA-1JAtt=tA-1Att
174 164 173 eqtr3d ATRwtA-1Jt×bitsAt22ndw1stw=tA-1Att
175 28 119 174 3eqtr2d ATRkGA-1GAkk=tA-1Att
176 fveq2 k=tAk=At
177 id k=tk=t
178 176 177 oveq12d k=tAkk=Att
179 178 cbvsumv kA-1Akk=tA-1Att
180 175 179 eqtr4di ATRkGA-1GAkk=kA-1Akk
181 0nn0 00
182 1nn0 10
183 prssi 0010010
184 181 182 183 mp2an 010
185 fss GA:01010GA:0
186 184 185 mpan2 GA:01GA:0
187 nn0ex 0V
188 nnex V
189 187 188 elmap GA0GA:0
190 189 biimpri GA:0GA0
191 20 186 190 3syl GA01GA0
192 191 anim1i GA01GARGA0GAR
193 elin GA0RGA0GAR
194 192 17 193 3imtr4i GA01RGA0R
195 8 11 eulerpartlemsv2 GA0RSGA=kGA-1GAkk
196 16 194 195 3syl ATRSGA=kGA-1GAkk
197 121 153 elind ATRA0R
198 8 11 eulerpartlemsv2 A0RSA=kA-1Akk
199 197 198 syl ATRSA=kA-1Akk
200 180 196 199 3eqtr4d ATRSGA=SA