| Intuitionistic Logic Explorer |
< Previous
Next >
Nearby theorems |
||
| Mirrors > Home > ILE Home > Th. List > bitsp1 | GIF version | ||
| Description: The 𝑀 + 1-th bit of 𝑁 is the 𝑀-th bit of ⌊(𝑁 / 2). (Contributed by Mario Carneiro, 5-Sep-2016.) |
| Ref | Expression |
|---|---|
| bitsp1 | ⊢ ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℕ0) → ((𝑀 + 1) ∈ (bits‘𝑁) ↔ 𝑀 ∈ (bits‘(⌊‘(𝑁 / 2))))) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | 2nn 9152 | . . . . . . . . . . . 12 ⊢ 2 ∈ ℕ | |
| 2 | 1 | a1i 9 | . . . . . . . . . . 11 ⊢ ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℕ0) → 2 ∈ ℕ) |
| 3 | 2 | nncnd 9004 | . . . . . . . . . 10 ⊢ ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℕ0) → 2 ∈ ℂ) |
| 4 | simpr 110 | . . . . . . . . . 10 ⊢ ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℕ0) → 𝑀 ∈ ℕ0) | |
| 5 | 3, 4 | expp1d 10766 | . . . . . . . . 9 ⊢ ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℕ0) → (2↑(𝑀 + 1)) = ((2↑𝑀) · 2)) |
| 6 | 2, 4 | nnexpcld 10787 | . . . . . . . . . . 11 ⊢ ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℕ0) → (2↑𝑀) ∈ ℕ) |
| 7 | 6 | nncnd 9004 | . . . . . . . . . 10 ⊢ ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℕ0) → (2↑𝑀) ∈ ℂ) |
| 8 | 7, 3 | mulcomd 8048 | . . . . . . . . 9 ⊢ ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℕ0) → ((2↑𝑀) · 2) = (2 · (2↑𝑀))) |
| 9 | 5, 8 | eqtrd 2229 | . . . . . . . 8 ⊢ ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℕ0) → (2↑(𝑀 + 1)) = (2 · (2↑𝑀))) |
| 10 | 9 | oveq2d 5938 | . . . . . . 7 ⊢ ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℕ0) → (𝑁 / (2↑(𝑀 + 1))) = (𝑁 / (2 · (2↑𝑀)))) |
| 11 | simpl 109 | . . . . . . . . 9 ⊢ ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℕ0) → 𝑁 ∈ ℤ) | |
| 12 | 11 | zcnd 9449 | . . . . . . . 8 ⊢ ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℕ0) → 𝑁 ∈ ℂ) |
| 13 | 2 | nnap0d 9036 | . . . . . . . 8 ⊢ ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℕ0) → 2 # 0) |
| 14 | 6 | nnap0d 9036 | . . . . . . . 8 ⊢ ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℕ0) → (2↑𝑀) # 0) |
| 15 | 12, 3, 7, 13, 14 | divdivap1d 8849 | . . . . . . 7 ⊢ ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℕ0) → ((𝑁 / 2) / (2↑𝑀)) = (𝑁 / (2 · (2↑𝑀)))) |
| 16 | 10, 15 | eqtr4d 2232 | . . . . . 6 ⊢ ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℕ0) → (𝑁 / (2↑(𝑀 + 1))) = ((𝑁 / 2) / (2↑𝑀))) |
| 17 | 16 | fveq2d 5562 | . . . . 5 ⊢ ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℕ0) → (⌊‘(𝑁 / (2↑(𝑀 + 1)))) = (⌊‘((𝑁 / 2) / (2↑𝑀)))) |
| 18 | znq 9698 | . . . . . . 7 ⊢ ((𝑁 ∈ ℤ ∧ 2 ∈ ℕ) → (𝑁 / 2) ∈ ℚ) | |
| 19 | 2, 18 | syldan 282 | . . . . . 6 ⊢ ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℕ0) → (𝑁 / 2) ∈ ℚ) |
| 20 | flqdiv 10413 | . . . . . 6 ⊢ (((𝑁 / 2) ∈ ℚ ∧ (2↑𝑀) ∈ ℕ) → (⌊‘((⌊‘(𝑁 / 2)) / (2↑𝑀))) = (⌊‘((𝑁 / 2) / (2↑𝑀)))) | |
| 21 | 19, 6, 20 | syl2anc 411 | . . . . 5 ⊢ ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℕ0) → (⌊‘((⌊‘(𝑁 / 2)) / (2↑𝑀))) = (⌊‘((𝑁 / 2) / (2↑𝑀)))) |
| 22 | 17, 21 | eqtr4d 2232 | . . . 4 ⊢ ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℕ0) → (⌊‘(𝑁 / (2↑(𝑀 + 1)))) = (⌊‘((⌊‘(𝑁 / 2)) / (2↑𝑀)))) |
| 23 | 22 | breq2d 4045 | . . 3 ⊢ ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℕ0) → (2 ∥ (⌊‘(𝑁 / (2↑(𝑀 + 1)))) ↔ 2 ∥ (⌊‘((⌊‘(𝑁 / 2)) / (2↑𝑀))))) |
| 24 | 23 | notbid 668 | . 2 ⊢ ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℕ0) → (¬ 2 ∥ (⌊‘(𝑁 / (2↑(𝑀 + 1)))) ↔ ¬ 2 ∥ (⌊‘((⌊‘(𝑁 / 2)) / (2↑𝑀))))) |
| 25 | peano2nn0 9289 | . . 3 ⊢ (𝑀 ∈ ℕ0 → (𝑀 + 1) ∈ ℕ0) | |
| 26 | bitsval2 12109 | . . 3 ⊢ ((𝑁 ∈ ℤ ∧ (𝑀 + 1) ∈ ℕ0) → ((𝑀 + 1) ∈ (bits‘𝑁) ↔ ¬ 2 ∥ (⌊‘(𝑁 / (2↑(𝑀 + 1)))))) | |
| 27 | 25, 26 | sylan2 286 | . 2 ⊢ ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℕ0) → ((𝑀 + 1) ∈ (bits‘𝑁) ↔ ¬ 2 ∥ (⌊‘(𝑁 / (2↑(𝑀 + 1)))))) |
| 28 | 19 | flqcld 10367 | . . 3 ⊢ ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℕ0) → (⌊‘(𝑁 / 2)) ∈ ℤ) |
| 29 | bitsval2 12109 | . . 3 ⊢ (((⌊‘(𝑁 / 2)) ∈ ℤ ∧ 𝑀 ∈ ℕ0) → (𝑀 ∈ (bits‘(⌊‘(𝑁 / 2))) ↔ ¬ 2 ∥ (⌊‘((⌊‘(𝑁 / 2)) / (2↑𝑀))))) | |
| 30 | 28, 29 | sylancom 420 | . 2 ⊢ ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℕ0) → (𝑀 ∈ (bits‘(⌊‘(𝑁 / 2))) ↔ ¬ 2 ∥ (⌊‘((⌊‘(𝑁 / 2)) / (2↑𝑀))))) |
| 31 | 24, 27, 30 | 3bitr4d 220 | 1 ⊢ ((𝑁 ∈ ℤ ∧ 𝑀 ∈ ℕ0) → ((𝑀 + 1) ∈ (bits‘𝑁) ↔ 𝑀 ∈ (bits‘(⌊‘(𝑁 / 2))))) |
| Colors of variables: wff set class |
| Syntax hints: ¬ wn 3 → wi 4 ∧ wa 104 ↔ wb 105 = wceq 1364 ∈ wcel 2167 class class class wbr 4033 ‘cfv 5258 (class class class)co 5922 1c1 7880 + caddc 7882 · cmul 7884 / cdiv 8699 ℕcn 8990 2c2 9041 ℕ0cn0 9249 ℤcz 9326 ℚcq 9693 ⌊cfl 10358 ↑cexp 10630 ∥ cdvds 11952 bitscbits 12105 |
| This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-ia1 106 ax-ia2 107 ax-ia3 108 ax-in1 615 ax-in2 616 ax-io 710 ax-5 1461 ax-7 1462 ax-gen 1463 ax-ie1 1507 ax-ie2 1508 ax-8 1518 ax-10 1519 ax-11 1520 ax-i12 1521 ax-bndl 1523 ax-4 1524 ax-17 1540 ax-i9 1544 ax-ial 1548 ax-i5r 1549 ax-13 2169 ax-14 2170 ax-ext 2178 ax-coll 4148 ax-sep 4151 ax-nul 4159 ax-pow 4207 ax-pr 4242 ax-un 4468 ax-setind 4573 ax-iinf 4624 ax-cnex 7970 ax-resscn 7971 ax-1cn 7972 ax-1re 7973 ax-icn 7974 ax-addcl 7975 ax-addrcl 7976 ax-mulcl 7977 ax-mulrcl 7978 ax-addcom 7979 ax-mulcom 7980 ax-addass 7981 ax-mulass 7982 ax-distr 7983 ax-i2m1 7984 ax-0lt1 7985 ax-1rid 7986 ax-0id 7987 ax-rnegex 7988 ax-precex 7989 ax-cnre 7990 ax-pre-ltirr 7991 ax-pre-ltwlin 7992 ax-pre-lttrn 7993 ax-pre-apti 7994 ax-pre-ltadd 7995 ax-pre-mulgt0 7996 ax-pre-mulext 7997 ax-arch 7998 |
| This theorem depends on definitions: df-bi 117 df-dc 836 df-3or 981 df-3an 982 df-tru 1367 df-fal 1370 df-nf 1475 df-sb 1777 df-eu 2048 df-mo 2049 df-clab 2183 df-cleq 2189 df-clel 2192 df-nfc 2328 df-ne 2368 df-nel 2463 df-ral 2480 df-rex 2481 df-reu 2482 df-rmo 2483 df-rab 2484 df-v 2765 df-sbc 2990 df-csb 3085 df-dif 3159 df-un 3161 df-in 3163 df-ss 3170 df-nul 3451 df-if 3562 df-pw 3607 df-sn 3628 df-pr 3629 df-op 3631 df-uni 3840 df-int 3875 df-iun 3918 df-br 4034 df-opab 4095 df-mpt 4096 df-tr 4132 df-id 4328 df-po 4331 df-iso 4332 df-iord 4401 df-on 4403 df-ilim 4404 df-suc 4406 df-iom 4627 df-xp 4669 df-rel 4670 df-cnv 4671 df-co 4672 df-dm 4673 df-rn 4674 df-res 4675 df-ima 4676 df-iota 5219 df-fun 5260 df-fn 5261 df-f 5262 df-f1 5263 df-fo 5264 df-f1o 5265 df-fv 5266 df-riota 5877 df-ov 5925 df-oprab 5926 df-mpo 5927 df-1st 6198 df-2nd 6199 df-recs 6363 df-frec 6449 df-pnf 8063 df-mnf 8064 df-xr 8065 df-ltxr 8066 df-le 8067 df-sub 8199 df-neg 8200 df-reap 8602 df-ap 8609 df-div 8700 df-inn 8991 df-2 9049 df-n0 9250 df-z 9327 df-uz 9602 df-q 9694 df-rp 9729 df-fl 10360 df-seqfrec 10540 df-exp 10631 df-bits 12106 |
| This theorem is referenced by: bitsp1e 12116 bitsp1o 12117 |
| Copyright terms: Public domain | W3C validator |