Metamath Proof Explorer


Theorem dig2nn0

Description: A digit of a nonnegative integer N in a binary system is either 0 or 1. (Contributed by AV, 24-May-2020)

Ref Expression
Assertion dig2nn0 ( ( 𝑁 ∈ ℕ0𝐾 ∈ ℤ ) → ( 𝐾 ( digit ‘ 2 ) 𝑁 ) ∈ { 0 , 1 } )

Proof

Step Hyp Ref Expression
1 2nn 2 ∈ ℕ
2 1 a1i ( ( 𝑁 ∈ ℕ0𝐾 ∈ ℤ ) → 2 ∈ ℕ )
3 simpr ( ( 𝑁 ∈ ℕ0𝐾 ∈ ℤ ) → 𝐾 ∈ ℤ )
4 nn0rp0 ( 𝑁 ∈ ℕ0𝑁 ∈ ( 0 [,) +∞ ) )
5 4 adantr ( ( 𝑁 ∈ ℕ0𝐾 ∈ ℤ ) → 𝑁 ∈ ( 0 [,) +∞ ) )
6 digval ( ( 2 ∈ ℕ ∧ 𝐾 ∈ ℤ ∧ 𝑁 ∈ ( 0 [,) +∞ ) ) → ( 𝐾 ( digit ‘ 2 ) 𝑁 ) = ( ( ⌊ ‘ ( ( 2 ↑ - 𝐾 ) · 𝑁 ) ) mod 2 ) )
7 2 3 5 6 syl3anc ( ( 𝑁 ∈ ℕ0𝐾 ∈ ℤ ) → ( 𝐾 ( digit ‘ 2 ) 𝑁 ) = ( ( ⌊ ‘ ( ( 2 ↑ - 𝐾 ) · 𝑁 ) ) mod 2 ) )
8 2re 2 ∈ ℝ
9 8 a1i ( ( 𝑁 ∈ ℕ0𝐾 ∈ ℤ ) → 2 ∈ ℝ )
10 2ne0 2 ≠ 0
11 10 a1i ( ( 𝑁 ∈ ℕ0𝐾 ∈ ℤ ) → 2 ≠ 0 )
12 znegcl ( 𝐾 ∈ ℤ → - 𝐾 ∈ ℤ )
13 12 adantl ( ( 𝑁 ∈ ℕ0𝐾 ∈ ℤ ) → - 𝐾 ∈ ℤ )
14 9 11 13 reexpclzd ( ( 𝑁 ∈ ℕ0𝐾 ∈ ℤ ) → ( 2 ↑ - 𝐾 ) ∈ ℝ )
15 nn0re ( 𝑁 ∈ ℕ0𝑁 ∈ ℝ )
16 15 adantr ( ( 𝑁 ∈ ℕ0𝐾 ∈ ℤ ) → 𝑁 ∈ ℝ )
17 14 16 remulcld ( ( 𝑁 ∈ ℕ0𝐾 ∈ ℤ ) → ( ( 2 ↑ - 𝐾 ) · 𝑁 ) ∈ ℝ )
18 17 flcld ( ( 𝑁 ∈ ℕ0𝐾 ∈ ℤ ) → ( ⌊ ‘ ( ( 2 ↑ - 𝐾 ) · 𝑁 ) ) ∈ ℤ )
19 elmod2 ( ( ⌊ ‘ ( ( 2 ↑ - 𝐾 ) · 𝑁 ) ) ∈ ℤ → ( ( ⌊ ‘ ( ( 2 ↑ - 𝐾 ) · 𝑁 ) ) mod 2 ) ∈ { 0 , 1 } )
20 18 19 syl ( ( 𝑁 ∈ ℕ0𝐾 ∈ ℤ ) → ( ( ⌊ ‘ ( ( 2 ↑ - 𝐾 ) · 𝑁 ) ) mod 2 ) ∈ { 0 , 1 } )
21 7 20 eqeltrd ( ( 𝑁 ∈ ℕ0𝐾 ∈ ℤ ) → ( 𝐾 ( digit ‘ 2 ) 𝑁 ) ∈ { 0 , 1 } )