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 = f 0 | f -1 Fin k f k k = N
eulerpart.o O = g P | n g -1 ¬ 2 n
eulerpart.d D = g P | n g n 1
eulerpart.j J = z | ¬ 2 z
eulerpart.f F = x J , y 0 2 y x
eulerpart.h H = r 𝒫 0 Fin J | r supp Fin
eulerpart.m M = r H x y | x J y r x
eulerpart.r R = f | f -1 Fin
eulerpart.t T = f 0 | f -1 J
eulerpart.g G = o T R 𝟙 F M bits o J
eulerpart.s S = f 0 R k f k k
Assertion eulerpartlemgs2 A T R S G A = S A

Proof

Step Hyp Ref Expression
1 eulerpart.p P = f 0 | f -1 Fin k f k k = N
2 eulerpart.o O = g P | n g -1 ¬ 2 n
3 eulerpart.d D = g P | n g n 1
4 eulerpart.j J = z | ¬ 2 z
5 eulerpart.f F = x J , y 0 2 y x
6 eulerpart.h H = r 𝒫 0 Fin J | r supp Fin
7 eulerpart.m M = r H x y | x J y r x
8 eulerpart.r R = f | f -1 Fin
9 eulerpart.t T = f 0 | f -1 J
10 eulerpart.g G = o T R 𝟙 F M bits o J
11 eulerpart.s S = f 0 R k f k k
12 cnvimass G A -1 dom G A
13 1 2 3 4 5 6 7 8 9 10 eulerpartgbij G : T R 1-1 onto 0 1 R
14 f1of G : T R 1-1 onto 0 1 R G : T R 0 1 R
15 13 14 ax-mp G : T R 0 1 R
16 15 ffvelcdmi A T R G A 0 1 R
17 elin G A 0 1 R G A 0 1 G A R
18 16 17 sylib A T R G A 0 1 G A R
19 18 simpld A T R G A 0 1
20 elmapi G A 0 1 G A : 0 1
21 fdm G A : 0 1 dom G A =
22 19 20 21 3syl A T R dom G A =
23 12 22 sseqtrid A T R G A -1
24 23 sselda A T R k G A -1 k
25 1 2 3 4 5 6 7 8 9 10 eulerpartlemgvv A T R k G A k = if t n bits A t 2 n t = k 1 0
26 25 oveq1d A T R k G A k k = if t n bits A t 2 n t = k 1 0 k
27 24 26 syldan A T R k G A -1 G A k k = if t n bits A t 2 n t = k 1 0 k
28 27 sumeq2dv A T R k G A -1 G A k k = k G A -1 if t n bits A t 2 n t = k 1 0 k
29 eqeq2 m = k 2 n t = m 2 n t = k
30 29 2rexbidv m = k t n bits A t 2 n t = m t n bits A t 2 n t = k
31 30 elrab k m | t n bits A t 2 n t = m k t n bits A t 2 n t = k
32 31 simprbi k m | t n bits A t 2 n t = m t n bits A t 2 n t = k
33 32 iftrued k m | t n bits A t 2 n t = m if t n bits A t 2 n t = k 1 0 = 1
34 33 oveq1d k m | t n bits A t 2 n t = m if t n bits A t 2 n t = k 1 0 k = 1 k
35 elrabi k m | t n bits A t 2 n t = m k
36 35 nncnd k m | t n bits A t 2 n t = m k
37 36 mullidd k m | t n bits A t 2 n t = m 1 k = k
38 34 37 eqtrd k m | t n bits A t 2 n t = m if t n bits A t 2 n t = k 1 0 k = k
39 38 sumeq2i k m | t n bits A t 2 n t = m if t n bits A t 2 n t = k 1 0 k = k m | t n bits A t 2 n t = m k
40 id k = 2 2 nd w 1 st w k = 2 2 nd w 1 st w
41 1 2 3 4 5 6 7 8 9 10 eulerpartlemgf A T R G A -1 Fin
42 35 adantl A T R k m | t n bits A t 2 n t = m k
43 42 25 syldan A T R k m | t n bits A t 2 n t = m G A k = if t n bits A t 2 n t = k 1 0
44 32 adantl A T R k m | t n bits A t 2 n t = m t n bits A t 2 n t = k
45 44 iftrued A T R k m | t n bits A t 2 n t = m if t n bits A t 2 n t = k 1 0 = 1
46 43 45 eqtrd A T R k m | t n bits A t 2 n t = m G A k = 1
47 1nn 1
48 46 47 eqeltrdi A T R k m | t n bits A t 2 n t = m G A k
49 ffn G A : 0 1 G A Fn
50 elpreima G A Fn k G A -1 k G A k
51 19 20 49 50 4syl A T R k G A -1 k G A k
52 51 adantr A T R k m | t n bits A t 2 n t = m k G A -1 k G A k
53 42 48 52 mpbir2and A T R k m | t n bits A t 2 n t = m k G A -1
54 53 ex A T R k m | t n bits A t 2 n t = m k G A -1
55 54 ssrdv A T R m | t n bits A t 2 n t = m G A -1
56 ssfi G A -1 Fin m | t n bits A t 2 n t = m G A -1 m | t n bits A t 2 n t = m Fin
57 41 55 56 syl2anc A T R m | t n bits A t 2 n t = m Fin
58 cnvexg A T R A -1 V
59 imaexg A -1 V A -1 V
60 inex1g A -1 V A -1 J V
61 58 59 60 3syl A T R A -1 J V
62 vsnex t V
63 fvex bits A t V
64 62 63 xpex t × bits A t V
65 64 rgenw t A -1 J t × bits A t V
66 iunexg A -1 J V t A -1 J t × bits A t V t A -1 J t × bits A t V
67 61 65 66 sylancl A T R t A -1 J t × bits A t V
68 eqid t A -1 J t × bits A t = t A -1 J t × bits A t
69 1 2 3 4 5 6 7 8 9 10 68 eulerpartlemgh A T R F t A -1 J t × bits A t : t A -1 J t × bits A t 1-1 onto m | t n bits A t 2 n t = m
70 f1oeng t A -1 J t × bits A t V F t A -1 J t × bits A t : t A -1 J t × bits A t 1-1 onto m | t n bits A t 2 n t = m t A -1 J t × bits A t m | t n bits A t 2 n t = m
71 67 69 70 syl2anc A T R t A -1 J t × bits A t m | t n bits A t 2 n t = m
72 enfii m | t n bits A t 2 n t = m Fin t A -1 J t × bits A t m | t n bits A t 2 n t = m t A -1 J t × bits A t Fin
73 57 71 72 syl2anc A T R t A -1 J t × bits A t Fin
74 fvres w t A -1 J t × bits A t F t A -1 J t × bits A t w = F w
75 74 adantl A T R w t A -1 J t × bits A t F t A -1 J t × bits A t w = F w
76 inss2 A -1 J J
77 simpr A T R t A -1 J t A -1 J
78 76 77 sselid A T R t A -1 J t J
79 78 snssd A T R t A -1 J t J
80 bitsss bits A t 0
81 xpss12 t J bits A t 0 t × bits A t J × 0
82 79 80 81 sylancl A T R t A -1 J t × bits A t J × 0
83 82 ralrimiva A T R t A -1 J t × bits A t J × 0
84 iunss t A -1 J t × bits A t J × 0 t A -1 J t × bits A t J × 0
85 83 84 sylibr A T R t A -1 J t × bits A t J × 0
86 85 sselda A T R w t A -1 J t × bits A t w J × 0
87 4 5 oddpwdcv w J × 0 F w = 2 2 nd w 1 st w
88 86 87 syl A T R w t A -1 J t × bits A t F w = 2 2 nd w 1 st w
89 75 88 eqtrd A T R w t A -1 J t × bits A t F t A -1 J t × bits A t w = 2 2 nd w 1 st w
90 42 nncnd A T R k m | t n bits A t 2 n t = m k
91 40 73 69 89 90 fsumf1o A T R k m | t n bits A t 2 n t = m k = w t A -1 J t × bits A t 2 2 nd w 1 st w
92 39 91 eqtrid A T R k m | t n bits A t 2 n t = m if t n bits A t 2 n t = k 1 0 k = w t A -1 J t × bits A t 2 2 nd w 1 st w
93 ax-1cn 1
94 0cn 0
95 93 94 ifcli if t n bits A t 2 n t = k 1 0
96 95 a1i A T R k m | t n bits A t 2 n t = m if t n bits A t 2 n t = k 1 0
97 ssrab2 m | t n bits A t 2 n t = m
98 simpr A T R k m | t n bits A t 2 n t = m k m | t n bits A t 2 n t = m
99 97 98 sselid A T R k m | t n bits A t 2 n t = m k
100 99 nncnd A T R k m | t n bits A t 2 n t = m k
101 96 100 mulcld A T R k m | t n bits A t 2 n t = m if t n bits A t 2 n t = k 1 0 k
102 simpr A T R k G A -1 m | t n bits A t 2 n t = m k G A -1 m | t n bits A t 2 n t = m
103 102 eldifbd A T R k G A -1 m | t n bits A t 2 n t = m ¬ k m | t n bits A t 2 n t = m
104 23 ssdifssd A T R G A -1 m | t n bits A t 2 n t = m
105 104 sselda A T R k G A -1 m | t n bits A t 2 n t = m k
106 31 notbii ¬ k m | t n bits A t 2 n t = m ¬ k t n bits A t 2 n t = k
107 imnan k ¬ t n bits A t 2 n t = k ¬ k t n bits A t 2 n t = k
108 106 107 sylbb2 ¬ k m | t n bits A t 2 n t = m k ¬ t n bits A t 2 n t = k
109 103 105 108 sylc A T R k G A -1 m | t n bits A t 2 n t = m ¬ t n bits A t 2 n t = k
110 109 iffalsed A T R k G A -1 m | t n bits A t 2 n t = m if t n bits A t 2 n t = k 1 0 = 0
111 110 oveq1d A T R k G A -1 m | t n bits A t 2 n t = m if t n bits A t 2 n t = k 1 0 k = 0 k
112 nnsscn
113 104 112 sstrdi A T R G A -1 m | t n bits A t 2 n t = m
114 113 sselda A T R k G A -1 m | t n bits A t 2 n t = m k
115 114 mul02d A T R k G A -1 m | t n bits A t 2 n t = m 0 k = 0
116 111 115 eqtrd A T R k G A -1 m | t n bits A t 2 n t = m if t n bits A t 2 n t = k 1 0 k = 0
117 55 101 116 41 fsumss A T R k m | t n bits A t 2 n t = m if t n bits A t 2 n t = k 1 0 k = k G A -1 if t n bits A t 2 n t = k 1 0 k
118 92 117 eqtr3d A T R w t A -1 J t × bits A t 2 2 nd w 1 st w = k G A -1 if t n bits A t 2 n t = k 1 0 k
119 1 2 3 4 5 6 7 8 9 eulerpartlemt0 A T R A 0 A -1 Fin A -1 J
120 119 simp1bi A T R A 0
121 elmapi A 0 A : 0
122 120 121 syl A T R A : 0
123 122 adantr A T R t A -1 J A : 0
124 cnvimass A -1 dom A
125 124 122 fssdm A T R A -1
126 125 adantr A T R t A -1 J A -1
127 inss1 A -1 J A -1
128 127 77 sselid A T R t A -1 J t A -1
129 126 128 sseldd A T R t A -1 J t
130 123 129 ffvelcdmd A T R t A -1 J A t 0
131 bitsfi A t 0 bits A t Fin
132 130 131 syl A T R t A -1 J bits A t Fin
133 129 nncnd A T R t A -1 J t
134 2cnd A T R t A -1 J n bits A t 2
135 simprr A T R t A -1 J n bits A t n bits A t
136 80 135 sselid A T R t A -1 J n bits A t n 0
137 134 136 expcld A T R t A -1 J n bits A t 2 n
138 137 anassrs A T R t A -1 J n bits A t 2 n
139 132 133 138 fsummulc1 A T R t A -1 J n bits A t 2 n t = n bits A t 2 n t
140 139 sumeq2dv A T R t A -1 J n bits A t 2 n t = t A -1 J n bits A t 2 n t
141 bitsinv1 A t 0 n bits A t 2 n = A t
142 141 oveq1d A t 0 n bits A t 2 n t = A t t
143 130 142 syl A T R t A -1 J n bits A t 2 n t = A t t
144 143 sumeq2dv A T R t A -1 J n bits A t 2 n t = t A -1 J A t t
145 vex t V
146 vex n V
147 145 146 op2ndd w = t n 2 nd w = n
148 147 oveq2d w = t n 2 2 nd w = 2 n
149 145 146 op1std w = t n 1 st w = t
150 148 149 oveq12d w = t n 2 2 nd w 1 st w = 2 n t
151 inss2 T R R
152 151 sseli A T R A R
153 cnveq f = A f -1 = A -1
154 153 imaeq1d f = A f -1 = A -1
155 154 eleq1d f = A f -1 Fin A -1 Fin
156 155 8 elab2g A T R A R A -1 Fin
157 152 156 mpbid A T R A -1 Fin
158 ssfi A -1 Fin A -1 J A -1 A -1 J Fin
159 157 127 158 sylancl A T R A -1 J Fin
160 133 adantrr A T R t A -1 J n bits A t t
161 137 160 mulcld A T R t A -1 J n bits A t 2 n t
162 150 159 132 161 fsum2d A T R t A -1 J n bits A t 2 n t = w t A -1 J t × bits A t 2 2 nd w 1 st w
163 140 144 162 3eqtr3d A T R t A -1 J A t t = w t A -1 J t × bits A t 2 2 nd w 1 st w
164 inss1 T R T
165 164 sseli A T R A T
166 154 sseq1d f = A f -1 J A -1 J
167 166 9 elrab2 A T A 0 A -1 J
168 167 simprbi A T A -1 J
169 165 168 syl A T R A -1 J
170 dfss2 A -1 J A -1 J = A -1
171 169 170 sylib A T R A -1 J = A -1
172 171 sumeq1d A T R t A -1 J A t t = t A -1 A t t
173 163 172 eqtr3d A T R w t A -1 J t × bits A t 2 2 nd w 1 st w = t A -1 A t t
174 28 118 173 3eqtr2d A T R k G A -1 G A k k = t A -1 A t t
175 fveq2 k = t A k = A t
176 id k = t k = t
177 175 176 oveq12d k = t A k k = A t t
178 177 cbvsumv k A -1 A k k = t A -1 A t t
179 174 178 eqtr4di A T R k G A -1 G A k k = k A -1 A k k
180 0nn0 0 0
181 1nn0 1 0
182 prssi 0 0 1 0 0 1 0
183 180 181 182 mp2an 0 1 0
184 fss G A : 0 1 0 1 0 G A : 0
185 183 184 mpan2 G A : 0 1 G A : 0
186 nn0ex 0 V
187 nnex V
188 186 187 elmap G A 0 G A : 0
189 188 biimpri G A : 0 G A 0
190 20 185 189 3syl G A 0 1 G A 0
191 190 anim1i G A 0 1 G A R G A 0 G A R
192 elin G A 0 R G A 0 G A R
193 191 17 192 3imtr4i G A 0 1 R G A 0 R
194 8 11 eulerpartlemsv2 G A 0 R S G A = k G A -1 G A k k
195 16 193 194 3syl A T R S G A = k G A -1 G A k k
196 120 152 elind A T R A 0 R
197 8 11 eulerpartlemsv2 A 0 R S A = k A -1 A k k
198 196 197 syl A T R S A = k A -1 A k k
199 179 195 198 3eqtr4d A T R S G A = S A