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