Metamath Proof Explorer


Theorem dig2nn1st

Description: The first (relevant) digit of a positive integer in a binary system is 1. (Contributed by AV, 26-May-2020)

Ref Expression
Assertion dig2nn1st ( 𝑁 ∈ ℕ → ( ( ( #b𝑁 ) − 1 ) ( digit ‘ 2 ) 𝑁 ) = 1 )

Proof

Step Hyp Ref Expression
1 2nn 2 ∈ ℕ
2 1 a1i ( 𝑁 ∈ ℕ → 2 ∈ ℕ )
3 blennnelnn ( 𝑁 ∈ ℕ → ( #b𝑁 ) ∈ ℕ )
4 nnm1nn0 ( ( #b𝑁 ) ∈ ℕ → ( ( #b𝑁 ) − 1 ) ∈ ℕ0 )
5 3 4 syl ( 𝑁 ∈ ℕ → ( ( #b𝑁 ) − 1 ) ∈ ℕ0 )
6 nnre ( 𝑁 ∈ ℕ → 𝑁 ∈ ℝ )
7 nnnn0 ( 𝑁 ∈ ℕ → 𝑁 ∈ ℕ0 )
8 7 nn0ge0d ( 𝑁 ∈ ℕ → 0 ≤ 𝑁 )
9 elrege0 ( 𝑁 ∈ ( 0 [,) +∞ ) ↔ ( 𝑁 ∈ ℝ ∧ 0 ≤ 𝑁 ) )
10 6 8 9 sylanbrc ( 𝑁 ∈ ℕ → 𝑁 ∈ ( 0 [,) +∞ ) )
11 nn0digval ( ( 2 ∈ ℕ ∧ ( ( #b𝑁 ) − 1 ) ∈ ℕ0𝑁 ∈ ( 0 [,) +∞ ) ) → ( ( ( #b𝑁 ) − 1 ) ( digit ‘ 2 ) 𝑁 ) = ( ( ⌊ ‘ ( 𝑁 / ( 2 ↑ ( ( #b𝑁 ) − 1 ) ) ) ) mod 2 ) )
12 2 5 10 11 syl3anc ( 𝑁 ∈ ℕ → ( ( ( #b𝑁 ) − 1 ) ( digit ‘ 2 ) 𝑁 ) = ( ( ⌊ ‘ ( 𝑁 / ( 2 ↑ ( ( #b𝑁 ) − 1 ) ) ) ) mod 2 ) )
13 n2dvds1 ¬ 2 ∥ 1
14 blennn ( 𝑁 ∈ ℕ → ( #b𝑁 ) = ( ( ⌊ ‘ ( 2 logb 𝑁 ) ) + 1 ) )
15 14 oveq1d ( 𝑁 ∈ ℕ → ( ( #b𝑁 ) − 1 ) = ( ( ( ⌊ ‘ ( 2 logb 𝑁 ) ) + 1 ) − 1 ) )
16 2z 2 ∈ ℤ
17 uzid ( 2 ∈ ℤ → 2 ∈ ( ℤ ‘ 2 ) )
18 16 17 ax-mp 2 ∈ ( ℤ ‘ 2 )
19 nnrp ( 𝑁 ∈ ℕ → 𝑁 ∈ ℝ+ )
20 relogbzcl ( ( 2 ∈ ( ℤ ‘ 2 ) ∧ 𝑁 ∈ ℝ+ ) → ( 2 logb 𝑁 ) ∈ ℝ )
21 18 19 20 sylancr ( 𝑁 ∈ ℕ → ( 2 logb 𝑁 ) ∈ ℝ )
22 21 flcld ( 𝑁 ∈ ℕ → ( ⌊ ‘ ( 2 logb 𝑁 ) ) ∈ ℤ )
23 22 zcnd ( 𝑁 ∈ ℕ → ( ⌊ ‘ ( 2 logb 𝑁 ) ) ∈ ℂ )
24 pncan1 ( ( ⌊ ‘ ( 2 logb 𝑁 ) ) ∈ ℂ → ( ( ( ⌊ ‘ ( 2 logb 𝑁 ) ) + 1 ) − 1 ) = ( ⌊ ‘ ( 2 logb 𝑁 ) ) )
25 23 24 syl ( 𝑁 ∈ ℕ → ( ( ( ⌊ ‘ ( 2 logb 𝑁 ) ) + 1 ) − 1 ) = ( ⌊ ‘ ( 2 logb 𝑁 ) ) )
26 15 25 eqtrd ( 𝑁 ∈ ℕ → ( ( #b𝑁 ) − 1 ) = ( ⌊ ‘ ( 2 logb 𝑁 ) ) )
27 26 oveq2d ( 𝑁 ∈ ℕ → ( 2 ↑ ( ( #b𝑁 ) − 1 ) ) = ( 2 ↑ ( ⌊ ‘ ( 2 logb 𝑁 ) ) ) )
28 27 oveq2d ( 𝑁 ∈ ℕ → ( 𝑁 / ( 2 ↑ ( ( #b𝑁 ) − 1 ) ) ) = ( 𝑁 / ( 2 ↑ ( ⌊ ‘ ( 2 logb 𝑁 ) ) ) ) )
29 28 fveq2d ( 𝑁 ∈ ℕ → ( ⌊ ‘ ( 𝑁 / ( 2 ↑ ( ( #b𝑁 ) − 1 ) ) ) ) = ( ⌊ ‘ ( 𝑁 / ( 2 ↑ ( ⌊ ‘ ( 2 logb 𝑁 ) ) ) ) ) )
30 fldivexpfllog2 ( 𝑁 ∈ ℝ+ → ( ⌊ ‘ ( 𝑁 / ( 2 ↑ ( ⌊ ‘ ( 2 logb 𝑁 ) ) ) ) ) = 1 )
31 19 30 syl ( 𝑁 ∈ ℕ → ( ⌊ ‘ ( 𝑁 / ( 2 ↑ ( ⌊ ‘ ( 2 logb 𝑁 ) ) ) ) ) = 1 )
32 29 31 eqtrd ( 𝑁 ∈ ℕ → ( ⌊ ‘ ( 𝑁 / ( 2 ↑ ( ( #b𝑁 ) − 1 ) ) ) ) = 1 )
33 32 breq2d ( 𝑁 ∈ ℕ → ( 2 ∥ ( ⌊ ‘ ( 𝑁 / ( 2 ↑ ( ( #b𝑁 ) − 1 ) ) ) ) ↔ 2 ∥ 1 ) )
34 13 33 mtbiri ( 𝑁 ∈ ℕ → ¬ 2 ∥ ( ⌊ ‘ ( 𝑁 / ( 2 ↑ ( ( #b𝑁 ) − 1 ) ) ) ) )
35 2re 2 ∈ ℝ
36 35 a1i ( 𝑁 ∈ ℕ → 2 ∈ ℝ )
37 36 5 reexpcld ( 𝑁 ∈ ℕ → ( 2 ↑ ( ( #b𝑁 ) − 1 ) ) ∈ ℝ )
38 2cnd ( 𝑁 ∈ ℕ → 2 ∈ ℂ )
39 2ne0 2 ≠ 0
40 39 a1i ( 𝑁 ∈ ℕ → 2 ≠ 0 )
41 5 nn0zd ( 𝑁 ∈ ℕ → ( ( #b𝑁 ) − 1 ) ∈ ℤ )
42 38 40 41 expne0d ( 𝑁 ∈ ℕ → ( 2 ↑ ( ( #b𝑁 ) − 1 ) ) ≠ 0 )
43 6 37 42 redivcld ( 𝑁 ∈ ℕ → ( 𝑁 / ( 2 ↑ ( ( #b𝑁 ) − 1 ) ) ) ∈ ℝ )
44 43 flcld ( 𝑁 ∈ ℕ → ( ⌊ ‘ ( 𝑁 / ( 2 ↑ ( ( #b𝑁 ) − 1 ) ) ) ) ∈ ℤ )
45 mod2eq1n2dvds ( ( ⌊ ‘ ( 𝑁 / ( 2 ↑ ( ( #b𝑁 ) − 1 ) ) ) ) ∈ ℤ → ( ( ( ⌊ ‘ ( 𝑁 / ( 2 ↑ ( ( #b𝑁 ) − 1 ) ) ) ) mod 2 ) = 1 ↔ ¬ 2 ∥ ( ⌊ ‘ ( 𝑁 / ( 2 ↑ ( ( #b𝑁 ) − 1 ) ) ) ) ) )
46 44 45 syl ( 𝑁 ∈ ℕ → ( ( ( ⌊ ‘ ( 𝑁 / ( 2 ↑ ( ( #b𝑁 ) − 1 ) ) ) ) mod 2 ) = 1 ↔ ¬ 2 ∥ ( ⌊ ‘ ( 𝑁 / ( 2 ↑ ( ( #b𝑁 ) − 1 ) ) ) ) ) )
47 34 46 mpbird ( 𝑁 ∈ ℕ → ( ( ⌊ ‘ ( 𝑁 / ( 2 ↑ ( ( #b𝑁 ) − 1 ) ) ) ) mod 2 ) = 1 )
48 12 47 eqtrd ( 𝑁 ∈ ℕ → ( ( ( #b𝑁 ) − 1 ) ( digit ‘ 2 ) 𝑁 ) = 1 )