Metamath Proof Explorer


Theorem bitsf1ocnv

Description: The bits function restricted to nonnegative integers is a bijection from the integers to the finite sets of integers. It is in fact the inverse of the Ackermann bijection ackbijnn . (Contributed by Mario Carneiro, 8-Sep-2016)

Ref Expression
Assertion bitsf1ocnv bits0:01-1 onto𝒫0Finbits0-1=x𝒫0Finnx2n

Proof

Step Hyp Ref Expression
1 eqid k0bitsk=k0bitsk
2 bitsss bitsk0
3 2 a1i k0bitsk0
4 bitsfi k0bitskFin
5 elfpw bitsk𝒫0Finbitsk0bitskFin
6 3 4 5 sylanbrc k0bitsk𝒫0Fin
7 6 adantl k0bitsk𝒫0Fin
8 elinel2 x𝒫0FinxFin
9 2nn0 20
10 9 a1i x𝒫0Finnx20
11 elfpw x𝒫0Finx0xFin
12 11 simplbi x𝒫0Finx0
13 12 sselda x𝒫0Finnxn0
14 10 13 nn0expcld x𝒫0Finnx2n0
15 8 14 fsumnn0cl x𝒫0Finnx2n0
16 15 adantl x𝒫0Finnx2n0
17 bitsinv2 x𝒫0Finbitsnx2n=x
18 17 eqcomd x𝒫0Finx=bitsnx2n
19 18 ad2antll k0x𝒫0Finx=bitsnx2n
20 fveq2 k=nx2nbitsk=bitsnx2n
21 20 eqeq2d k=nx2nx=bitskx=bitsnx2n
22 19 21 syl5ibrcom k0x𝒫0Fink=nx2nx=bitsk
23 bitsinv1 k0nbitsk2n=k
24 23 eqcomd k0k=nbitsk2n
25 24 ad2antrl k0x𝒫0Fink=nbitsk2n
26 sumeq1 x=bitsknx2n=nbitsk2n
27 26 eqeq2d x=bitskk=nx2nk=nbitsk2n
28 25 27 syl5ibrcom k0x𝒫0Finx=bitskk=nx2n
29 22 28 impbid k0x𝒫0Fink=nx2nx=bitsk
30 1 7 16 29 f1ocnv2d k0bitsk:01-1 onto𝒫0Fink0bitsk-1=x𝒫0Finnx2n
31 30 simpld k0bitsk:01-1 onto𝒫0Fin
32 bitsf bits:𝒫0
33 32 a1i bits:𝒫0
34 33 feqmptd bits=kbitsk
35 34 reseq1d bits0=kbitsk0
36 nn0ssz 0
37 resmpt 0kbitsk0=k0bitsk
38 36 37 ax-mp kbitsk0=k0bitsk
39 35 38 eqtrdi bits0=k0bitsk
40 39 f1oeq1d bits0:01-1 onto𝒫0Fink0bitsk:01-1 onto𝒫0Fin
41 31 40 mpbird bits0:01-1 onto𝒫0Fin
42 39 cnveqd bits0-1=k0bitsk-1
43 30 simprd k0bitsk-1=x𝒫0Finnx2n
44 42 43 eqtrd bits0-1=x𝒫0Finnx2n
45 41 44 jca bits0:01-1 onto𝒫0Finbits0-1=x𝒫0Finnx2n
46 45 mptru bits0:01-1 onto𝒫0Finbits0-1=x𝒫0Finnx2n