![]() |
Mathbox for Alexander van der Vekens |
< Previous
Next >
Nearby theorems |
|
Mirrors > Home > MPE Home > Th. List > Mathboxes > dig2bits | Structured version Visualization version GIF version |
Description: The 𝐾 th digit of a nonnegative integer 𝑁 in a binary system is its 𝐾 th bit. (Contributed by AV, 24-May-2020.) |
Ref | Expression |
---|---|
dig2bits | ⊢ ((𝑁 ∈ ℕ0 ∧ 𝐾 ∈ ℕ0) → ((𝐾(digit‘2)𝑁) = 1 ↔ 𝐾 ∈ (bits‘𝑁))) |
Step | Hyp | Ref | Expression |
---|---|---|---|
1 | nn0re 11502 | . . . . . 6 ⊢ (𝑁 ∈ ℕ0 → 𝑁 ∈ ℝ) | |
2 | 1 | adantr 466 | . . . . 5 ⊢ ((𝑁 ∈ ℕ0 ∧ 𝐾 ∈ ℕ0) → 𝑁 ∈ ℝ) |
3 | 2re 11291 | . . . . . . 7 ⊢ 2 ∈ ℝ | |
4 | 3 | a1i 11 | . . . . . 6 ⊢ (𝑁 ∈ ℕ0 → 2 ∈ ℝ) |
5 | reexpcl 13083 | . . . . . 6 ⊢ ((2 ∈ ℝ ∧ 𝐾 ∈ ℕ0) → (2↑𝐾) ∈ ℝ) | |
6 | 4, 5 | sylan 561 | . . . . 5 ⊢ ((𝑁 ∈ ℕ0 ∧ 𝐾 ∈ ℕ0) → (2↑𝐾) ∈ ℝ) |
7 | 2cnd 11294 | . . . . . 6 ⊢ ((𝑁 ∈ ℕ0 ∧ 𝐾 ∈ ℕ0) → 2 ∈ ℂ) | |
8 | 2ne0 11314 | . . . . . . 7 ⊢ 2 ≠ 0 | |
9 | 8 | a1i 11 | . . . . . 6 ⊢ ((𝑁 ∈ ℕ0 ∧ 𝐾 ∈ ℕ0) → 2 ≠ 0) |
10 | nn0z 11601 | . . . . . . 7 ⊢ (𝐾 ∈ ℕ0 → 𝐾 ∈ ℤ) | |
11 | 10 | adantl 467 | . . . . . 6 ⊢ ((𝑁 ∈ ℕ0 ∧ 𝐾 ∈ ℕ0) → 𝐾 ∈ ℤ) |
12 | 7, 9, 11 | expne0d 13220 | . . . . 5 ⊢ ((𝑁 ∈ ℕ0 ∧ 𝐾 ∈ ℕ0) → (2↑𝐾) ≠ 0) |
13 | 2, 6, 12 | redivcld 11054 | . . . 4 ⊢ ((𝑁 ∈ ℕ0 ∧ 𝐾 ∈ ℕ0) → (𝑁 / (2↑𝐾)) ∈ ℝ) |
14 | 13 | flcld 12806 | . . 3 ⊢ ((𝑁 ∈ ℕ0 ∧ 𝐾 ∈ ℕ0) → (⌊‘(𝑁 / (2↑𝐾))) ∈ ℤ) |
15 | mod2eq1n2dvds 15278 | . . 3 ⊢ ((⌊‘(𝑁 / (2↑𝐾))) ∈ ℤ → (((⌊‘(𝑁 / (2↑𝐾))) mod 2) = 1 ↔ ¬ 2 ∥ (⌊‘(𝑁 / (2↑𝐾))))) | |
16 | 14, 15 | syl 17 | . 2 ⊢ ((𝑁 ∈ ℕ0 ∧ 𝐾 ∈ ℕ0) → (((⌊‘(𝑁 / (2↑𝐾))) mod 2) = 1 ↔ ¬ 2 ∥ (⌊‘(𝑁 / (2↑𝐾))))) |
17 | 2nn 11386 | . . . . 5 ⊢ 2 ∈ ℕ | |
18 | 17 | a1i 11 | . . . 4 ⊢ ((𝑁 ∈ ℕ0 ∧ 𝐾 ∈ ℕ0) → 2 ∈ ℕ) |
19 | simpr 471 | . . . 4 ⊢ ((𝑁 ∈ ℕ0 ∧ 𝐾 ∈ ℕ0) → 𝐾 ∈ ℕ0) | |
20 | nn0rp0 12485 | . . . . 5 ⊢ (𝑁 ∈ ℕ0 → 𝑁 ∈ (0[,)+∞)) | |
21 | 20 | adantr 466 | . . . 4 ⊢ ((𝑁 ∈ ℕ0 ∧ 𝐾 ∈ ℕ0) → 𝑁 ∈ (0[,)+∞)) |
22 | nn0digval 42912 | . . . 4 ⊢ ((2 ∈ ℕ ∧ 𝐾 ∈ ℕ0 ∧ 𝑁 ∈ (0[,)+∞)) → (𝐾(digit‘2)𝑁) = ((⌊‘(𝑁 / (2↑𝐾))) mod 2)) | |
23 | 18, 19, 21, 22 | syl3anc 1475 | . . 3 ⊢ ((𝑁 ∈ ℕ0 ∧ 𝐾 ∈ ℕ0) → (𝐾(digit‘2)𝑁) = ((⌊‘(𝑁 / (2↑𝐾))) mod 2)) |
24 | 23 | eqeq1d 2772 | . 2 ⊢ ((𝑁 ∈ ℕ0 ∧ 𝐾 ∈ ℕ0) → ((𝐾(digit‘2)𝑁) = 1 ↔ ((⌊‘(𝑁 / (2↑𝐾))) mod 2) = 1)) |
25 | nn0z 11601 | . . 3 ⊢ (𝑁 ∈ ℕ0 → 𝑁 ∈ ℤ) | |
26 | bitsval2 15354 | . . 3 ⊢ ((𝑁 ∈ ℤ ∧ 𝐾 ∈ ℕ0) → (𝐾 ∈ (bits‘𝑁) ↔ ¬ 2 ∥ (⌊‘(𝑁 / (2↑𝐾))))) | |
27 | 25, 26 | sylan 561 | . 2 ⊢ ((𝑁 ∈ ℕ0 ∧ 𝐾 ∈ ℕ0) → (𝐾 ∈ (bits‘𝑁) ↔ ¬ 2 ∥ (⌊‘(𝑁 / (2↑𝐾))))) |
28 | 16, 24, 27 | 3bitr4d 300 | 1 ⊢ ((𝑁 ∈ ℕ0 ∧ 𝐾 ∈ ℕ0) → ((𝐾(digit‘2)𝑁) = 1 ↔ 𝐾 ∈ (bits‘𝑁))) |
Colors of variables: wff setvar class |
Syntax hints: ¬ wn 3 → wi 4 ↔ wb 196 ∧ wa 382 = wceq 1630 ∈ wcel 2144 ≠ wne 2942 class class class wbr 4784 ‘cfv 6031 (class class class)co 6792 ℝcr 10136 0cc0 10137 1c1 10138 +∞cpnf 10272 / cdiv 10885 ℕcn 11221 2c2 11271 ℕ0cn0 11493 ℤcz 11578 [,)cico 12381 ⌊cfl 12798 mod cmo 12875 ↑cexp 13066 ∥ cdvds 15188 bitscbits 15348 digitcdig 42907 |
This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1869 ax-4 1884 ax-5 1990 ax-6 2056 ax-7 2092 ax-8 2146 ax-9 2153 ax-10 2173 ax-11 2189 ax-12 2202 ax-13 2407 ax-ext 2750 ax-rep 4902 ax-sep 4912 ax-nul 4920 ax-pow 4971 ax-pr 5034 ax-un 7095 ax-cnex 10193 ax-resscn 10194 ax-1cn 10195 ax-icn 10196 ax-addcl 10197 ax-addrcl 10198 ax-mulcl 10199 ax-mulrcl 10200 ax-mulcom 10201 ax-addass 10202 ax-mulass 10203 ax-distr 10204 ax-i2m1 10205 ax-1ne0 10206 ax-1rid 10207 ax-rnegex 10208 ax-rrecex 10209 ax-cnre 10210 ax-pre-lttri 10211 ax-pre-lttrn 10212 ax-pre-ltadd 10213 ax-pre-mulgt0 10214 ax-pre-sup 10215 |
This theorem depends on definitions: df-bi 197 df-an 383 df-or 827 df-3or 1071 df-3an 1072 df-tru 1633 df-ex 1852 df-nf 1857 df-sb 2049 df-eu 2621 df-mo 2622 df-clab 2757 df-cleq 2763 df-clel 2766 df-nfc 2901 df-ne 2943 df-nel 3046 df-ral 3065 df-rex 3066 df-reu 3067 df-rmo 3068 df-rab 3069 df-v 3351 df-sbc 3586 df-csb 3681 df-dif 3724 df-un 3726 df-in 3728 df-ss 3735 df-pss 3737 df-nul 4062 df-if 4224 df-pw 4297 df-sn 4315 df-pr 4317 df-tp 4319 df-op 4321 df-uni 4573 df-iun 4654 df-br 4785 df-opab 4845 df-mpt 4862 df-tr 4885 df-id 5157 df-eprel 5162 df-po 5170 df-so 5171 df-fr 5208 df-we 5210 df-xp 5255 df-rel 5256 df-cnv 5257 df-co 5258 df-dm 5259 df-rn 5260 df-res 5261 df-ima 5262 df-pred 5823 df-ord 5869 df-on 5870 df-lim 5871 df-suc 5872 df-iota 5994 df-fun 6033 df-fn 6034 df-f 6035 df-f1 6036 df-fo 6037 df-f1o 6038 df-fv 6039 df-riota 6753 df-ov 6795 df-oprab 6796 df-mpt2 6797 df-om 7212 df-1st 7314 df-2nd 7315 df-wrecs 7558 df-recs 7620 df-rdg 7658 df-er 7895 df-en 8109 df-dom 8110 df-sdom 8111 df-sup 8503 df-inf 8504 df-pnf 10277 df-mnf 10278 df-xr 10279 df-ltxr 10280 df-le 10281 df-sub 10469 df-neg 10470 df-div 10886 df-nn 11222 df-2 11280 df-n0 11494 df-z 11579 df-uz 11888 df-rp 12035 df-ico 12385 df-fl 12800 df-mod 12876 df-seq 13008 df-exp 13067 df-dvds 15189 df-bits 15351 df-dig 42908 |
This theorem is referenced by: (None) |
Copyright terms: Public domain | W3C validator |