Metamath Proof Explorer


Theorem dig2bits

Description: The K th digit of a nonnegative integer N in a binary system is its K th bit. (Contributed by AV, 24-May-2020)

Ref Expression
Assertion dig2bits ⊢ N ∈ ℕ 0 ∧ K ∈ ℕ 0 → K digit ⁡ 2 N = 1 ↔ K ∈ bits ⁡ N

Proof

Step Hyp Ref Expression
1 nn0re ⊢ N ∈ ℕ 0 → N ∈ ℝ
2 1 adantr ⊢ N ∈ ℕ 0 ∧ K ∈ ℕ 0 → N ∈ ℝ
3 2re ⊢ 2 ∈ ℝ
4 3 a1i ⊢ N ∈ ℕ 0 → 2 ∈ ℝ
5 reexpcl ⊢ 2 ∈ ℝ ∧ K ∈ ℕ 0 → 2 K ∈ ℝ
6 4 5 sylan ⊢ N ∈ ℕ 0 ∧ K ∈ ℕ 0 → 2 K ∈ ℝ
7 2cnd ⊢ N ∈ ℕ 0 ∧ K ∈ ℕ 0 → 2 ∈ ℂ
8 2ne0 ⊢ 2 ≠ 0
9 8 a1i ⊢ N ∈ ℕ 0 ∧ K ∈ ℕ 0 → 2 ≠ 0
10 nn0z ⊢ K ∈ ℕ 0 → K ∈ ℤ
11 10 adantl ⊢ N ∈ ℕ 0 ∧ K ∈ ℕ 0 → K ∈ ℤ
12 7 9 11 expne0d ⊢ N ∈ ℕ 0 ∧ K ∈ ℕ 0 → 2 K ≠ 0
13 2 6 12 redivcld ⊢ N ∈ ℕ 0 ∧ K ∈ ℕ 0 → N 2 K ∈ ℝ
14 13 flcld ⊢ N ∈ ℕ 0 ∧ K ∈ ℕ 0 → N 2 K ∈ ℤ
15 mod2eq1n2dvds ⊢ N 2 K ∈ ℤ → N 2 K mod 2 = 1 ↔ ¬ 2 ∥ N 2 K
16 14 15 syl ⊢ N ∈ ℕ 0 ∧ K ∈ ℕ 0 → N 2 K mod 2 = 1 ↔ ¬ 2 ∥ N 2 K
17 2nn ⊢ 2 ∈ ℕ
18 17 a1i ⊢ N ∈ ℕ 0 ∧ K ∈ ℕ 0 → 2 ∈ ℕ
19 simpr ⊢ N ∈ ℕ 0 ∧ K ∈ ℕ 0 → K ∈ ℕ 0
20 nn0rp0 ⊢ N ∈ ℕ 0 → N ∈ 0 +∞
21 20 adantr ⊢ N ∈ ℕ 0 ∧ K ∈ ℕ 0 → N ∈ 0 +∞
22 nn0digval ⊢ 2 ∈ ℕ ∧ K ∈ ℕ 0 ∧ N ∈ 0 +∞ → K digit ⁡ 2 N = N 2 K mod 2
23 18 19 21 22 syl3anc ⊢ N ∈ ℕ 0 ∧ K ∈ ℕ 0 → K digit ⁡ 2 N = N 2 K mod 2
24 23 eqeq1d ⊢ N ∈ ℕ 0 ∧ K ∈ ℕ 0 → K digit ⁡ 2 N = 1 ↔ N 2 K mod 2 = 1
25 nn0z ⊢ N ∈ ℕ 0 → N ∈ ℤ
26 bitsval2 ⊢ N ∈ ℤ ∧ K ∈ ℕ 0 → K ∈ bits ⁡ N ↔ ¬ 2 ∥ N 2 K
27 25 26 sylan ⊢ N ∈ ℕ 0 ∧ K ∈ ℕ 0 → K ∈ bits ⁡ N ↔ ¬ 2 ∥ N 2 K
28 16 24 27 3bitr4d ⊢ N ∈ ℕ 0 ∧ K ∈ ℕ 0 → K digit ⁡ 2 N = 1 ↔ K ∈ bits ⁡ N