Metamath Proof Explorer


Theorem eulerpartgbij

Description: Lemma for eulerpart : The G function is a bijection. (Contributed by Thierry Arnoux, 27-Aug-2017) (Revised by Thierry Arnoux, 1-Sep-2019)

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
Assertion eulerpartgbij G:TR1-1 onto01R

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 nnex V
12 indf1ofs V𝟙Fin:𝒫Fin1-1 ontof01|f-11Fin
13 11 12 ax-mp 𝟙Fin:𝒫Fin1-1 ontof01|f-11Fin
14 incom 01f|f-1Fin=f|f-1Fin01
15 8 ineq2i 01R=01f|f-1Fin
16 dfrab2 f01|f-1Fin=f|f-1Fin01
17 14 15 16 3eqtr4i 01R=f01|f-1Fin
18 elmapfun f01Funf
19 elmapi f01f:01
20 19 frnd f01ranf01
21 fimacnvinrn2 Funfranf01f-1=f-101
22 df-pr 01=01
23 22 ineq2i 01=01
24 indi 01=01
25 0nnn ¬0
26 disjsn 0=¬0
27 25 26 mpbir 0=
28 1nn 1
29 1ex 1V
30 29 snss 11
31 28 30 mpbi 1
32 dfss 11=1
33 31 32 mpbi 1=1
34 incom 1=1
35 33 34 eqtr2i 1=1
36 27 35 uneq12i 01=1
37 23 24 36 3eqtri 01=1
38 uncom 1=1
39 un0 1=1
40 37 38 39 3eqtri 01=1
41 40 imaeq2i f-101=f-11
42 21 41 eqtrdi Funfranf01f-1=f-11
43 18 20 42 syl2anc f01f-1=f-11
44 43 eleq1d f01f-1Finf-11Fin
45 44 rabbiia f01|f-1Fin=f01|f-11Fin
46 17 45 eqtr2i f01|f-11Fin=01R
47 f1oeq3 f01|f-11Fin=01R𝟙Fin:𝒫Fin1-1 ontof01|f-11Fin𝟙Fin:𝒫Fin1-1 onto01R
48 46 47 ax-mp 𝟙Fin:𝒫Fin1-1 ontof01|f-11Fin𝟙Fin:𝒫Fin1-1 onto01R
49 13 48 mpbi 𝟙Fin:𝒫Fin1-1 onto01R
50 4 5 oddpwdc F:J×01-1 onto
51 f1opwfi F:J×01-1 ontoa𝒫J×0FinFa:𝒫J×0Fin1-1 onto𝒫Fin
52 50 51 ax-mp a𝒫J×0FinFa:𝒫J×0Fin1-1 onto𝒫Fin
53 1 2 3 4 5 6 7 eulerpartlem1 M:H1-1 onto𝒫J×0Fin
54 bitsf1o bits0:01-1 onto𝒫0Fin
55 54 a1i bits0:01-1 onto𝒫0Fin
56 4 11 rabex2 JV
57 56 a1i JV
58 nn0ex 0V
59 58 a1i 0V
60 58 pwex 𝒫0V
61 60 inex1 𝒫0FinV
62 61 a1i 𝒫0FinV
63 0nn0 00
64 63 a1i 00
65 fvres 00bits00=bits0
66 63 65 ax-mp bits00=bits0
67 0bits bits0=
68 66 67 eqtr2i =bits00
69 elmapi f0Jf:J0
70 fcdmnn0supp JVf:J0fsupp0=f-1
71 56 69 70 sylancr f0Jfsupp0=f-1
72 71 eleq1d f0Jfsupp0Finf-1Fin
73 72 rabbiia f0J|fsupp0Fin=f0J|f-1Fin
74 elmapfun f0JFunf
75 vex fV
76 funisfsupp FunffV00finSupp0ffsupp0Fin
77 75 63 76 mp3an23 FunffinSupp0ffsupp0Fin
78 74 77 syl f0JfinSupp0ffsupp0Fin
79 78 rabbiia f0J|finSupp0f=f0J|fsupp0Fin
80 incom f|f-1Fin0J=0Jf|f-1Fin
81 dfrab2 f0J|f-1Fin=f|f-1Fin0J
82 8 ineq2i 0JR=0Jf|f-1Fin
83 80 81 82 3eqtr4ri 0JR=f0J|f-1Fin
84 73 79 83 3eqtr4ri 0JR=f0J|finSupp0f
85 elmapfun r𝒫0FinJFunr
86 vex rV
87 0ex V
88 funisfsupp FunrrVVfinSupprrsuppFin
89 86 87 88 mp3an23 FunrfinSupprrsuppFin
90 89 bicomd FunrrsuppFinfinSuppr
91 85 90 syl r𝒫0FinJrsuppFinfinSuppr
92 91 rabbiia r𝒫0FinJ|rsuppFin=r𝒫0FinJ|finSuppr
93 55 57 59 62 64 68 84 92 fcobijfs f0JRbits0f:0JR1-1 ontor𝒫0FinJ|rsuppFin
94 elinel1 f0JRf0J
95 frn f:J0ranf0
96 cores ranf0bits0f=bitsf
97 69 95 96 3syl f0Jbits0f=bitsf
98 94 97 syl f0JRbits0f=bitsf
99 98 mpteq2ia f0JRbits0f=f0JRbitsf
100 99 eqcomi f0JRbitsf=f0JRbits0f
101 f1oeq1 f0JRbitsf=f0JRbits0ff0JRbitsf:0JR1-1 ontor𝒫0FinJ|rsuppFinf0JRbits0f:0JR1-1 ontor𝒫0FinJ|rsuppFin
102 100 101 mp1i f0JRbitsf:0JR1-1 ontor𝒫0FinJ|rsuppFinf0JRbits0f:0JR1-1 ontor𝒫0FinJ|rsuppFin
103 93 102 mpbird f0JRbitsf:0JR1-1 ontor𝒫0FinJ|rsuppFin
104 103 mptru f0JRbitsf:0JR1-1 ontor𝒫0FinJ|rsuppFin
105 ssrab2 z|¬2z
106 4 105 eqsstri J
107 11 58 106 3pm3.2i V0VJ
108 cnveq f=of-1=o-1
109 dfn2 =00
110 109 a1i f=o=00
111 108 110 imaeq12d f=of-1=o-100
112 111 sseq1d f=of-1Jo-100J
113 112 cbvrabv f0|f-1J=o0|o-100J
114 9 113 eqtri T=o0|o-100J
115 eqid oToJ=oToJ
116 114 115 resf1o V0VJ00oToJ:T1-1 onto0J
117 107 63 116 mp2an oToJ:T1-1 onto0J
118 f1of1 oToJ:T1-1 onto0JoToJ:T1-10J
119 117 118 ax-mp oToJ:T1-10J
120 inss1 TRT
121 f1ores oToJ:T1-10JTRToToJTR:TR1-1 ontooToJTR
122 119 120 121 mp2an oToJTR:TR1-1 ontooToJTR
123 vex oV
124 123 resex oJV
125 124 115 fnmpti oToJFnT
126 fvelimab oToJFnTTRTfoToJTRmTRoToJm=f
127 125 120 126 mp2an foToJTRmTRoToJm=f
128 eqid mTRmJ=mTRmJ
129 vex mV
130 129 resex mJV
131 128 130 elrnmpti franmTRmJmTRf=mJ
132 1 2 3 4 5 6 7 8 9 eulerpartlemt 0JR=ranmTRmJ
133 132 eleq2i f0JRfranmTRmJ
134 elinel1 mTRmT
135 115 fvtresfn mToToJm=mJ
136 135 eqeq1d mToToJm=fmJ=f
137 134 136 syl mTRoToJm=fmJ=f
138 eqcom mJ=ff=mJ
139 137 138 bitrdi mTRoToJm=ff=mJ
140 139 rexbiia mTRoToJm=fmTRf=mJ
141 131 133 140 3bitr4ri mTRoToJm=ff0JR
142 127 141 bitri foToJTRf0JR
143 142 eqriv oToJTR=0JR
144 f1oeq3 oToJTR=0JRoToJTR:TR1-1 ontooToJTRoToJTR:TR1-1 onto0JR
145 143 144 ax-mp oToJTR:TR1-1 ontooToJTRoToJTR:TR1-1 onto0JR
146 resmpt TRToToJTR=oTRoJ
147 f1oeq1 oToJTR=oTRoJoToJTR:TR1-1 onto0JRoTRoJ:TR1-1 onto0JR
148 120 146 147 mp2b oToJTR:TR1-1 onto0JRoTRoJ:TR1-1 onto0JR
149 145 148 bitri oToJTR:TR1-1 ontooToJTRoTRoJ:TR1-1 onto0JR
150 122 149 mpbi oTRoJ:TR1-1 onto0JR
151 f1oco f0JRbitsf:0JR1-1 ontor𝒫0FinJ|rsuppFinoTRoJ:TR1-1 onto0JRf0JRbitsfoTRoJ:TR1-1 ontor𝒫0FinJ|rsuppFin
152 104 150 151 mp2an f0JRbitsfoTRoJ:TR1-1 ontor𝒫0FinJ|rsuppFin
153 f1of oTRoJ:TR1-1 onto0JRoTRoJ:TR0JR
154 eqid oTRoJ=oTRoJ
155 154 fmpt oTRoJ0JRoTRoJ:TR0JR
156 155 biimpri oTRoJ:TR0JRoTRoJ0JR
157 150 153 156 mp2b oTRoJ0JR
158 157 a1i oTRoJ0JR
159 eqidd oTRoJ=oTRoJ
160 eqidd f0JRbitsf=f0JRbitsf
161 coeq2 f=oJbitsf=bitsoJ
162 158 159 160 161 fmptcof f0JRbitsfoTRoJ=oTRbitsoJ
163 162 eqcomd oTRbitsoJ=f0JRbitsfoTRoJ
164 eqidd TR=TR
165 6 a1i H=r𝒫0FinJ|rsuppFin
166 163 164 165 f1oeq123d oTRbitsoJ:TR1-1 ontoHf0JRbitsfoTRoJ:TR1-1 ontor𝒫0FinJ|rsuppFin
167 152 166 mpbiri oTRbitsoJ:TR1-1 ontoH
168 167 mptru oTRbitsoJ:TR1-1 ontoH
169 f1oco M:H1-1 onto𝒫J×0FinoTRbitsoJ:TR1-1 ontoHMoTRbitsoJ:TR1-1 onto𝒫J×0Fin
170 53 168 169 mp2an MoTRbitsoJ:TR1-1 onto𝒫J×0Fin
171 eqidd oTRbitsoJ=oTRbitsoJ
172 bitsf bits:𝒫0
173 zex V
174 fex bits:𝒫0VbitsV
175 172 173 174 mp2an bitsV
176 175 124 coex bitsoJV
177 176 a1i oTRbitsoJV
178 171 177 fvmpt2d oTRoTRbitsoJo=bitsoJ
179 f1of oTRbitsoJ:TR1-1 ontoHoTRbitsoJ:TRH
180 167 179 syl oTRbitsoJ:TRH
181 180 ffvelcdmda oTRoTRbitsoJoH
182 178 181 eqeltrrd oTRbitsoJH
183 f1ofn M:H1-1 onto𝒫J×0FinMFnH
184 53 183 ax-mp MFnH
185 dffn5 MFnHM=rHMr
186 184 185 mpbi M=rHMr
187 186 a1i M=rHMr
188 fveq2 r=bitsoJMr=MbitsoJ
189 182 171 187 188 fmptco MoTRbitsoJ=oTRMbitsoJ
190 189 mptru MoTRbitsoJ=oTRMbitsoJ
191 f1oeq1 MoTRbitsoJ=oTRMbitsoJMoTRbitsoJ:TR1-1 onto𝒫J×0FinoTRMbitsoJ:TR1-1 onto𝒫J×0Fin
192 190 191 ax-mp MoTRbitsoJ:TR1-1 onto𝒫J×0FinoTRMbitsoJ:TR1-1 onto𝒫J×0Fin
193 170 192 mpbi oTRMbitsoJ:TR1-1 onto𝒫J×0Fin
194 f1oco a𝒫J×0FinFa:𝒫J×0Fin1-1 onto𝒫FinoTRMbitsoJ:TR1-1 onto𝒫J×0Fina𝒫J×0FinFaoTRMbitsoJ:TR1-1 onto𝒫Fin
195 52 193 194 mp2an a𝒫J×0FinFaoTRMbitsoJ:TR1-1 onto𝒫Fin
196 simpr oTRoTR
197 fvex MbitsoJV
198 eqid oTRMbitsoJ=oTRMbitsoJ
199 198 fvmpt2 oTRMbitsoJVoTRMbitsoJo=MbitsoJ
200 196 197 199 sylancl oTRoTRMbitsoJo=MbitsoJ
201 f1of oTRMbitsoJ:TR1-1 onto𝒫J×0FinoTRMbitsoJ:TR𝒫J×0Fin
202 193 201 mp1i oTRMbitsoJ:TR𝒫J×0Fin
203 202 ffvelcdmda oTRoTRMbitsoJo𝒫J×0Fin
204 200 203 eqeltrrd oTRMbitsoJ𝒫J×0Fin
205 eqidd oTRMbitsoJ=oTRMbitsoJ
206 eqidd a𝒫J×0FinFa=a𝒫J×0FinFa
207 imaeq2 a=MbitsoJFa=FMbitsoJ
208 204 205 206 207 fmptco a𝒫J×0FinFaoTRMbitsoJ=oTRFMbitsoJ
209 208 mptru a𝒫J×0FinFaoTRMbitsoJ=oTRFMbitsoJ
210 f1oeq1 a𝒫J×0FinFaoTRMbitsoJ=oTRFMbitsoJa𝒫J×0FinFaoTRMbitsoJ:TR1-1 onto𝒫FinoTRFMbitsoJ:TR1-1 onto𝒫Fin
211 209 210 ax-mp a𝒫J×0FinFaoTRMbitsoJ:TR1-1 onto𝒫FinoTRFMbitsoJ:TR1-1 onto𝒫Fin
212 195 211 mpbi oTRFMbitsoJ:TR1-1 onto𝒫Fin
213 f1oco 𝟙Fin:𝒫Fin1-1 onto01RoTRFMbitsoJ:TR1-1 onto𝒫Fin𝟙FinoTRFMbitsoJ:TR1-1 onto01R
214 49 212 213 mp2an 𝟙FinoTRFMbitsoJ:TR1-1 onto01R
215 5 mpoexg JV0VFV
216 56 58 215 mp2an FV
217 imaexg FVFMbitsoJV
218 216 217 ax-mp FMbitsoJV
219 eqid oTRFMbitsoJ=oTRFMbitsoJ
220 219 fvmpt2 oTRFMbitsoJVoTRFMbitsoJo=FMbitsoJ
221 196 218 220 sylancl oTRoTRFMbitsoJo=FMbitsoJ
222 f1of oTRFMbitsoJ:TR1-1 onto𝒫FinoTRFMbitsoJ:TR𝒫Fin
223 212 222 mp1i oTRFMbitsoJ:TR𝒫Fin
224 223 ffvelcdmda oTRoTRFMbitsoJo𝒫Fin
225 221 224 eqeltrrd oTRFMbitsoJ𝒫Fin
226 eqidd oTRFMbitsoJ=oTRFMbitsoJ
227 indf1o V𝟙:𝒫1-1 onto01
228 f1ofn 𝟙:𝒫1-1 onto01𝟙Fn𝒫
229 11 227 228 mp2b 𝟙Fn𝒫
230 dffn5 𝟙Fn𝒫𝟙=b𝒫𝟙b
231 229 230 mpbi 𝟙=b𝒫𝟙b
232 231 reseq1i 𝟙Fin=b𝒫𝟙bFin
233 resmpt3 b𝒫𝟙bFin=b𝒫Fin𝟙b
234 232 233 eqtri 𝟙Fin=b𝒫Fin𝟙b
235 234 a1i 𝟙Fin=b𝒫Fin𝟙b
236 fveq2 b=FMbitsoJ𝟙b=𝟙FMbitsoJ
237 225 226 235 236 fmptco 𝟙FinoTRFMbitsoJ=oTR𝟙FMbitsoJ
238 237 mptru 𝟙FinoTRFMbitsoJ=oTR𝟙FMbitsoJ
239 10 238 eqtr4i G=𝟙FinoTRFMbitsoJ
240 f1oeq1 G=𝟙FinoTRFMbitsoJG:TR1-1 onto01R𝟙FinoTRFMbitsoJ:TR1-1 onto01R
241 239 240 ax-mp G:TR1-1 onto01R𝟙FinoTRFMbitsoJ:TR1-1 onto01R
242 214 241 mpbir G:TR1-1 onto01R