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 11909 | . . . . . 6 ⊢ (𝑁 ∈ ℕ0 → 𝑁 ∈ ℝ) | |
2 | 1 | adantr 483 | . . . . 5 ⊢ ((𝑁 ∈ ℕ0 ∧ 𝐾 ∈ ℕ0) → 𝑁 ∈ ℝ) |
3 | 2re 11714 | . . . . . . 7 ⊢ 2 ∈ ℝ | |
4 | 3 | a1i 11 | . . . . . 6 ⊢ (𝑁 ∈ ℕ0 → 2 ∈ ℝ) |
5 | reexpcl 13449 | . . . . . 6 ⊢ ((2 ∈ ℝ ∧ 𝐾 ∈ ℕ0) → (2↑𝐾) ∈ ℝ) | |
6 | 4, 5 | sylan 582 | . . . . 5 ⊢ ((𝑁 ∈ ℕ0 ∧ 𝐾 ∈ ℕ0) → (2↑𝐾) ∈ ℝ) |
7 | 2cnd 11718 | . . . . . 6 ⊢ ((𝑁 ∈ ℕ0 ∧ 𝐾 ∈ ℕ0) → 2 ∈ ℂ) | |
8 | 2ne0 11744 | . . . . . . 7 ⊢ 2 ≠ 0 | |
9 | 8 | a1i 11 | . . . . . 6 ⊢ ((𝑁 ∈ ℕ0 ∧ 𝐾 ∈ ℕ0) → 2 ≠ 0) |
10 | nn0z 12008 | . . . . . . 7 ⊢ (𝐾 ∈ ℕ0 → 𝐾 ∈ ℤ) | |
11 | 10 | adantl 484 | . . . . . 6 ⊢ ((𝑁 ∈ ℕ0 ∧ 𝐾 ∈ ℕ0) → 𝐾 ∈ ℤ) |
12 | 7, 9, 11 | expne0d 13519 | . . . . 5 ⊢ ((𝑁 ∈ ℕ0 ∧ 𝐾 ∈ ℕ0) → (2↑𝐾) ≠ 0) |
13 | 2, 6, 12 | redivcld 11470 | . . . 4 ⊢ ((𝑁 ∈ ℕ0 ∧ 𝐾 ∈ ℕ0) → (𝑁 / (2↑𝐾)) ∈ ℝ) |
14 | 13 | flcld 13171 | . . 3 ⊢ ((𝑁 ∈ ℕ0 ∧ 𝐾 ∈ ℕ0) → (⌊‘(𝑁 / (2↑𝐾))) ∈ ℤ) |
15 | mod2eq1n2dvds 15698 | . . 3 ⊢ ((⌊‘(𝑁 / (2↑𝐾))) ∈ ℤ → (((⌊‘(𝑁 / (2↑𝐾))) mod 2) = 1 ↔ ¬ 2 ∥ (⌊‘(𝑁 / (2↑𝐾))))) | |
16 | 14, 15 | syl 17 | . 2 ⊢ ((𝑁 ∈ ℕ0 ∧ 𝐾 ∈ ℕ0) → (((⌊‘(𝑁 / (2↑𝐾))) mod 2) = 1 ↔ ¬ 2 ∥ (⌊‘(𝑁 / (2↑𝐾))))) |
17 | 2nn 11713 | . . . . 5 ⊢ 2 ∈ ℕ | |
18 | 17 | a1i 11 | . . . 4 ⊢ ((𝑁 ∈ ℕ0 ∧ 𝐾 ∈ ℕ0) → 2 ∈ ℕ) |
19 | simpr 487 | . . . 4 ⊢ ((𝑁 ∈ ℕ0 ∧ 𝐾 ∈ ℕ0) → 𝐾 ∈ ℕ0) | |
20 | nn0rp0 12846 | . . . . 5 ⊢ (𝑁 ∈ ℕ0 → 𝑁 ∈ (0[,)+∞)) | |
21 | 20 | adantr 483 | . . . 4 ⊢ ((𝑁 ∈ ℕ0 ∧ 𝐾 ∈ ℕ0) → 𝑁 ∈ (0[,)+∞)) |
22 | nn0digval 44667 | . . . 4 ⊢ ((2 ∈ ℕ ∧ 𝐾 ∈ ℕ0 ∧ 𝑁 ∈ (0[,)+∞)) → (𝐾(digit‘2)𝑁) = ((⌊‘(𝑁 / (2↑𝐾))) mod 2)) | |
23 | 18, 19, 21, 22 | syl3anc 1367 | . . 3 ⊢ ((𝑁 ∈ ℕ0 ∧ 𝐾 ∈ ℕ0) → (𝐾(digit‘2)𝑁) = ((⌊‘(𝑁 / (2↑𝐾))) mod 2)) |
24 | 23 | eqeq1d 2825 | . 2 ⊢ ((𝑁 ∈ ℕ0 ∧ 𝐾 ∈ ℕ0) → ((𝐾(digit‘2)𝑁) = 1 ↔ ((⌊‘(𝑁 / (2↑𝐾))) mod 2) = 1)) |
25 | nn0z 12008 | . . 3 ⊢ (𝑁 ∈ ℕ0 → 𝑁 ∈ ℤ) | |
26 | bitsval2 15776 | . . 3 ⊢ ((𝑁 ∈ ℤ ∧ 𝐾 ∈ ℕ0) → (𝐾 ∈ (bits‘𝑁) ↔ ¬ 2 ∥ (⌊‘(𝑁 / (2↑𝐾))))) | |
27 | 25, 26 | sylan 582 | . 2 ⊢ ((𝑁 ∈ ℕ0 ∧ 𝐾 ∈ ℕ0) → (𝐾 ∈ (bits‘𝑁) ↔ ¬ 2 ∥ (⌊‘(𝑁 / (2↑𝐾))))) |
28 | 16, 24, 27 | 3bitr4d 313 | 1 ⊢ ((𝑁 ∈ ℕ0 ∧ 𝐾 ∈ ℕ0) → ((𝐾(digit‘2)𝑁) = 1 ↔ 𝐾 ∈ (bits‘𝑁))) |
Colors of variables: wff setvar class |
Syntax hints: ¬ wn 3 → wi 4 ↔ wb 208 ∧ wa 398 = wceq 1537 ∈ wcel 2114 ≠ wne 3018 class class class wbr 5068 ‘cfv 6357 (class class class)co 7158 ℝcr 10538 0cc0 10539 1c1 10540 +∞cpnf 10674 / cdiv 11299 ℕcn 11640 2c2 11695 ℕ0cn0 11900 ℤcz 11984 [,)cico 12743 ⌊cfl 13163 mod cmo 13240 ↑cexp 13432 ∥ cdvds 15609 bitscbits 15770 digitcdig 44662 |
This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1796 ax-4 1810 ax-5 1911 ax-6 1970 ax-7 2015 ax-8 2116 ax-9 2124 ax-10 2145 ax-11 2161 ax-12 2177 ax-ext 2795 ax-rep 5192 ax-sep 5205 ax-nul 5212 ax-pow 5268 ax-pr 5332 ax-un 7463 ax-cnex 10595 ax-resscn 10596 ax-1cn 10597 ax-icn 10598 ax-addcl 10599 ax-addrcl 10600 ax-mulcl 10601 ax-mulrcl 10602 ax-mulcom 10603 ax-addass 10604 ax-mulass 10605 ax-distr 10606 ax-i2m1 10607 ax-1ne0 10608 ax-1rid 10609 ax-rnegex 10610 ax-rrecex 10611 ax-cnre 10612 ax-pre-lttri 10613 ax-pre-lttrn 10614 ax-pre-ltadd 10615 ax-pre-mulgt0 10616 ax-pre-sup 10617 |
This theorem depends on definitions: df-bi 209 df-an 399 df-or 844 df-3or 1084 df-3an 1085 df-tru 1540 df-ex 1781 df-nf 1785 df-sb 2070 df-mo 2622 df-eu 2654 df-clab 2802 df-cleq 2816 df-clel 2895 df-nfc 2965 df-ne 3019 df-nel 3126 df-ral 3145 df-rex 3146 df-reu 3147 df-rmo 3148 df-rab 3149 df-v 3498 df-sbc 3775 df-csb 3886 df-dif 3941 df-un 3943 df-in 3945 df-ss 3954 df-pss 3956 df-nul 4294 df-if 4470 df-pw 4543 df-sn 4570 df-pr 4572 df-tp 4574 df-op 4576 df-uni 4841 df-iun 4923 df-br 5069 df-opab 5131 df-mpt 5149 df-tr 5175 df-id 5462 df-eprel 5467 df-po 5476 df-so 5477 df-fr 5516 df-we 5518 df-xp 5563 df-rel 5564 df-cnv 5565 df-co 5566 df-dm 5567 df-rn 5568 df-res 5569 df-ima 5570 df-pred 6150 df-ord 6196 df-on 6197 df-lim 6198 df-suc 6199 df-iota 6316 df-fun 6359 df-fn 6360 df-f 6361 df-f1 6362 df-fo 6363 df-f1o 6364 df-fv 6365 df-riota 7116 df-ov 7161 df-oprab 7162 df-mpo 7163 df-om 7583 df-1st 7691 df-2nd 7692 df-wrecs 7949 df-recs 8010 df-rdg 8048 df-er 8291 df-en 8512 df-dom 8513 df-sdom 8514 df-sup 8908 df-inf 8909 df-pnf 10679 df-mnf 10680 df-xr 10681 df-ltxr 10682 df-le 10683 df-sub 10874 df-neg 10875 df-div 11300 df-nn 11641 df-2 11703 df-n0 11901 df-z 11985 df-uz 12247 df-rp 12393 df-ico 12747 df-fl 13165 df-mod 13241 df-seq 13373 df-exp 13433 df-dvds 15610 df-bits 15773 df-dig 44663 |
This theorem is referenced by: (None) |
Copyright terms: Public domain | W3C validator |