Metamath Proof Explorer


Theorem bitsinv2

Description: There is an explicit inverse to the bits function for nonnegative integers, part 2. (Contributed by Mario Carneiro, 8-Sep-2016)

Ref Expression
Assertion bitsinv2 A𝒫0FinbitsnA2n=A

Proof

Step Hyp Ref Expression
1 elinel2 A𝒫0FinAFin
2 2nn0 20
3 2 a1i A𝒫0FinnA20
4 elfpw A𝒫0FinA0AFin
5 4 simplbi A𝒫0FinA0
6 5 sselda A𝒫0FinnAn0
7 3 6 nn0expcld A𝒫0FinnA2n0
8 1 7 fsumnn0cl A𝒫0FinnA2n0
9 bitsinv1 nA2n0mbitsnA2n2m=nA2n
10 8 9 syl A𝒫0FinmbitsnA2n2m=nA2n
11 bitsss bitsnA2n0
12 11 a1i A𝒫0FinbitsnA2n0
13 bitsfi nA2n0bitsnA2nFin
14 8 13 syl A𝒫0FinbitsnA2nFin
15 elfpw bitsnA2n𝒫0FinbitsnA2n0bitsnA2nFin
16 12 14 15 sylanbrc A𝒫0FinbitsnA2n𝒫0Fin
17 oveq2 n=m2n=2m
18 17 cbvsumv nk2n=mk2m
19 sumeq1 k=bitsnA2nmk2m=mbitsnA2n2m
20 18 19 eqtrid k=bitsnA2nnk2n=mbitsnA2n2m
21 eqid k𝒫0Finnk2n=k𝒫0Finnk2n
22 sumex mbitsnA2n2mV
23 20 21 22 fvmpt bitsnA2n𝒫0Fink𝒫0Finnk2nbitsnA2n=mbitsnA2n2m
24 16 23 syl A𝒫0Fink𝒫0Finnk2nbitsnA2n=mbitsnA2n2m
25 sumeq1 k=Ank2n=nA2n
26 sumex nA2nV
27 25 21 26 fvmpt A𝒫0Fink𝒫0Finnk2nA=nA2n
28 10 24 27 3eqtr4d A𝒫0Fink𝒫0Finnk2nbitsnA2n=k𝒫0Finnk2nA
29 21 ackbijnn k𝒫0Finnk2n:𝒫0Fin1-1 onto0
30 f1of1 k𝒫0Finnk2n:𝒫0Fin1-1 onto0k𝒫0Finnk2n:𝒫0Fin1-10
31 29 30 mp1i A𝒫0Fink𝒫0Finnk2n:𝒫0Fin1-10
32 id A𝒫0FinA𝒫0Fin
33 f1fveq k𝒫0Finnk2n:𝒫0Fin1-10bitsnA2n𝒫0FinA𝒫0Fink𝒫0Finnk2nbitsnA2n=k𝒫0Finnk2nAbitsnA2n=A
34 31 16 32 33 syl12anc A𝒫0Fink𝒫0Finnk2nbitsnA2n=k𝒫0Finnk2nAbitsnA2n=A
35 28 34 mpbid A𝒫0FinbitsnA2n=A