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 𝒫 0 Fin bits n A 2 n = A

Proof

Step Hyp Ref Expression
1 elinel2 A 𝒫 0 Fin A Fin
2 2nn0 2 0
3 2 a1i A 𝒫 0 Fin n A 2 0
4 elfpw A 𝒫 0 Fin A 0 A Fin
5 4 simplbi A 𝒫 0 Fin A 0
6 5 sselda A 𝒫 0 Fin n A n 0
7 3 6 nn0expcld A 𝒫 0 Fin n A 2 n 0
8 1 7 fsumnn0cl A 𝒫 0 Fin n A 2 n 0
9 bitsinv1 n A 2 n 0 m bits n A 2 n 2 m = n A 2 n
10 8 9 syl A 𝒫 0 Fin m bits n A 2 n 2 m = n A 2 n
11 bitsss bits n A 2 n 0
12 11 a1i A 𝒫 0 Fin bits n A 2 n 0
13 bitsfi n A 2 n 0 bits n A 2 n Fin
14 8 13 syl A 𝒫 0 Fin bits n A 2 n Fin
15 elfpw bits n A 2 n 𝒫 0 Fin bits n A 2 n 0 bits n A 2 n Fin
16 12 14 15 sylanbrc A 𝒫 0 Fin bits n A 2 n 𝒫 0 Fin
17 oveq2 n = m 2 n = 2 m
18 17 cbvsumv n k 2 n = m k 2 m
19 sumeq1 k = bits n A 2 n m k 2 m = m bits n A 2 n 2 m
20 18 19 eqtrid k = bits n A 2 n n k 2 n = m bits n A 2 n 2 m
21 eqid k 𝒫 0 Fin n k 2 n = k 𝒫 0 Fin n k 2 n
22 sumex m bits n A 2 n 2 m V
23 20 21 22 fvmpt bits n A 2 n 𝒫 0 Fin k 𝒫 0 Fin n k 2 n bits n A 2 n = m bits n A 2 n 2 m
24 16 23 syl A 𝒫 0 Fin k 𝒫 0 Fin n k 2 n bits n A 2 n = m bits n A 2 n 2 m
25 sumeq1 k = A n k 2 n = n A 2 n
26 sumex n A 2 n V
27 25 21 26 fvmpt A 𝒫 0 Fin k 𝒫 0 Fin n k 2 n A = n A 2 n
28 10 24 27 3eqtr4d A 𝒫 0 Fin k 𝒫 0 Fin n k 2 n bits n A 2 n = k 𝒫 0 Fin n k 2 n A
29 21 ackbijnn k 𝒫 0 Fin n k 2 n : 𝒫 0 Fin 1-1 onto 0
30 f1of1 k 𝒫 0 Fin n k 2 n : 𝒫 0 Fin 1-1 onto 0 k 𝒫 0 Fin n k 2 n : 𝒫 0 Fin 1-1 0
31 29 30 mp1i A 𝒫 0 Fin k 𝒫 0 Fin n k 2 n : 𝒫 0 Fin 1-1 0
32 id A 𝒫 0 Fin A 𝒫 0 Fin
33 f1fveq k 𝒫 0 Fin n k 2 n : 𝒫 0 Fin 1-1 0 bits n A 2 n 𝒫 0 Fin A 𝒫 0 Fin k 𝒫 0 Fin n k 2 n bits n A 2 n = k 𝒫 0 Fin n k 2 n A bits n A 2 n = A
34 31 16 32 33 syl12anc A 𝒫 0 Fin k 𝒫 0 Fin n k 2 n bits n A 2 n = k 𝒫 0 Fin n k 2 n A bits n A 2 n = A
35 28 34 mpbid A 𝒫 0 Fin bits n A 2 n = A