| Mathbox for Alexander van der Vekens |
< Previous
Next >
Nearby theorems |
||
| Mirrors > Home > MPE Home > Th. List > Mathboxes > nnpw2pmod | Structured version Visualization version GIF version | ||
| Description: Every positive integer can be represented as the sum of a power of 2 and a "remainder" less than the power. (Contributed by AV, 31-May-2020.) |
| Ref | Expression |
|---|---|
| nnpw2pmod | ⊢ (𝑁 ∈ ℕ → 𝑁 = ((2↑((#b‘𝑁) − 1)) + (𝑁 mod (2↑((#b‘𝑁) − 1))))) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | nnre 12240 | . . . . 5 ⊢ (𝑁 ∈ ℕ → 𝑁 ∈ ℝ) | |
| 2 | 2nn 12314 | . . . . . . . 8 ⊢ 2 ∈ ℕ | |
| 3 | 2 | a1i 11 | . . . . . . 7 ⊢ (𝑁 ∈ ℕ → 2 ∈ ℕ) |
| 4 | blennnelnn 49276 | . . . . . . . 8 ⊢ (𝑁 ∈ ℕ → (#b‘𝑁) ∈ ℕ) | |
| 5 | nnm1nn0 12545 | . . . . . . . 8 ⊢ ((#b‘𝑁) ∈ ℕ → ((#b‘𝑁) − 1) ∈ ℕ0) | |
| 6 | 4, 5 | syl 18 | . . . . . . 7 ⊢ (𝑁 ∈ ℕ → ((#b‘𝑁) − 1) ∈ ℕ0) |
| 7 | 3, 6 | nnexpcld 14281 | . . . . . 6 ⊢ (𝑁 ∈ ℕ → (2↑((#b‘𝑁) − 1)) ∈ ℕ) |
| 8 | 7 | nnrpd 13058 | . . . . 5 ⊢ (𝑁 ∈ ℕ → (2↑((#b‘𝑁) − 1)) ∈ ℝ+) |
| 9 | modeqmodmin 13977 | . . . . 5 ⊢ ((𝑁 ∈ ℝ ∧ (2↑((#b‘𝑁) − 1)) ∈ ℝ+) → (𝑁 mod (2↑((#b‘𝑁) − 1))) = ((𝑁 − (2↑((#b‘𝑁) − 1))) mod (2↑((#b‘𝑁) − 1)))) | |
| 10 | 1, 8, 9 | syl2anc 595 | . . . 4 ⊢ (𝑁 ∈ ℕ → (𝑁 mod (2↑((#b‘𝑁) − 1))) = ((𝑁 − (2↑((#b‘𝑁) − 1))) mod (2↑((#b‘𝑁) − 1)))) |
| 11 | 7 | nnred 12248 | . . . . . 6 ⊢ (𝑁 ∈ ℕ → (2↑((#b‘𝑁) − 1)) ∈ ℝ) |
| 12 | 1, 11 | resubcld 11642 | . . . . 5 ⊢ (𝑁 ∈ ℕ → (𝑁 − (2↑((#b‘𝑁) − 1))) ∈ ℝ) |
| 13 | nnpw2blen 49280 | . . . . . 6 ⊢ (𝑁 ∈ ℕ → ((2↑((#b‘𝑁) − 1)) ≤ 𝑁 ∧ 𝑁 < (2↑(#b‘𝑁)))) | |
| 14 | 1, 11 | subge0d 11804 | . . . . . . 7 ⊢ (𝑁 ∈ ℕ → (0 ≤ (𝑁 − (2↑((#b‘𝑁) − 1))) ↔ (2↑((#b‘𝑁) − 1)) ≤ 𝑁)) |
| 15 | 1, 11, 11 | ltsubadd2d 11812 | . . . . . . . 8 ⊢ (𝑁 ∈ ℕ → ((𝑁 − (2↑((#b‘𝑁) − 1))) < (2↑((#b‘𝑁) − 1)) ↔ 𝑁 < ((2↑((#b‘𝑁) − 1)) + (2↑((#b‘𝑁) − 1))))) |
| 16 | 2cn 12316 | . . . . . . . . . . . 12 ⊢ 2 ∈ ℂ | |
| 17 | exp1 14103 | . . . . . . . . . . . . 13 ⊢ (2 ∈ ℂ → (2↑1) = 2) | |
| 18 | 17 | eqcomd 2775 | . . . . . . . . . . . 12 ⊢ (2 ∈ ℂ → 2 = (2↑1)) |
| 19 | 16, 18 | mp1i 14 | . . . . . . . . . . 11 ⊢ (𝑁 ∈ ℕ → 2 = (2↑1)) |
| 20 | 19 | oveq1d 7426 | . . . . . . . . . 10 ⊢ (𝑁 ∈ ℕ → (2 · (2↑((#b‘𝑁) − 1))) = ((2↑1) · (2↑((#b‘𝑁) − 1)))) |
| 21 | 7 | nncnd 12249 | . . . . . . . . . . 11 ⊢ (𝑁 ∈ ℕ → (2↑((#b‘𝑁) − 1)) ∈ ℂ) |
| 22 | 21 | 2timesd 12487 | . . . . . . . . . 10 ⊢ (𝑁 ∈ ℕ → (2 · (2↑((#b‘𝑁) − 1))) = ((2↑((#b‘𝑁) − 1)) + (2↑((#b‘𝑁) − 1)))) |
| 23 | 16 | a1i 11 | . . . . . . . . . . . 12 ⊢ (𝑁 ∈ ℕ → 2 ∈ ℂ) |
| 24 | 1nn0 12520 | . . . . . . . . . . . . 13 ⊢ 1 ∈ ℕ0 | |
| 25 | 24 | a1i 11 | . . . . . . . . . . . 12 ⊢ (𝑁 ∈ ℕ → 1 ∈ ℕ0) |
| 26 | 23, 6, 25 | expaddd 14184 | . . . . . . . . . . 11 ⊢ (𝑁 ∈ ℕ → (2↑(1 + ((#b‘𝑁) − 1))) = ((2↑1) · (2↑((#b‘𝑁) − 1)))) |
| 27 | 1cnd 11202 | . . . . . . . . . . . . 13 ⊢ (𝑁 ∈ ℕ → 1 ∈ ℂ) | |
| 28 | 4 | nncnd 12249 | . . . . . . . . . . . . 13 ⊢ (𝑁 ∈ ℕ → (#b‘𝑁) ∈ ℂ) |
| 29 | 27, 28 | pncan3d 11572 | . . . . . . . . . . . 12 ⊢ (𝑁 ∈ ℕ → (1 + ((#b‘𝑁) − 1)) = (#b‘𝑁)) |
| 30 | 29 | oveq2d 7427 | . . . . . . . . . . 11 ⊢ (𝑁 ∈ ℕ → (2↑(1 + ((#b‘𝑁) − 1))) = (2↑(#b‘𝑁))) |
| 31 | 26, 30 | eqtr3d 2806 | . . . . . . . . . 10 ⊢ (𝑁 ∈ ℕ → ((2↑1) · (2↑((#b‘𝑁) − 1))) = (2↑(#b‘𝑁))) |
| 32 | 20, 22, 31 | 3eqtr3d 2812 | . . . . . . . . 9 ⊢ (𝑁 ∈ ℕ → ((2↑((#b‘𝑁) − 1)) + (2↑((#b‘𝑁) − 1))) = (2↑(#b‘𝑁))) |
| 33 | 32 | breq2d 5123 | . . . . . . . 8 ⊢ (𝑁 ∈ ℕ → (𝑁 < ((2↑((#b‘𝑁) − 1)) + (2↑((#b‘𝑁) − 1))) ↔ 𝑁 < (2↑(#b‘𝑁)))) |
| 34 | 15, 33 | bitrd 282 | . . . . . . 7 ⊢ (𝑁 ∈ ℕ → ((𝑁 − (2↑((#b‘𝑁) − 1))) < (2↑((#b‘𝑁) − 1)) ↔ 𝑁 < (2↑(#b‘𝑁)))) |
| 35 | 14, 34 | anbi12d 643 | . . . . . 6 ⊢ (𝑁 ∈ ℕ → ((0 ≤ (𝑁 − (2↑((#b‘𝑁) − 1))) ∧ (𝑁 − (2↑((#b‘𝑁) − 1))) < (2↑((#b‘𝑁) − 1))) ↔ ((2↑((#b‘𝑁) − 1)) ≤ 𝑁 ∧ 𝑁 < (2↑(#b‘𝑁))))) |
| 36 | 13, 35 | mpbird 260 | . . . . 5 ⊢ (𝑁 ∈ ℕ → (0 ≤ (𝑁 − (2↑((#b‘𝑁) − 1))) ∧ (𝑁 − (2↑((#b‘𝑁) − 1))) < (2↑((#b‘𝑁) − 1)))) |
| 37 | modid 13929 | . . . . 5 ⊢ ((((𝑁 − (2↑((#b‘𝑁) − 1))) ∈ ℝ ∧ (2↑((#b‘𝑁) − 1)) ∈ ℝ+) ∧ (0 ≤ (𝑁 − (2↑((#b‘𝑁) − 1))) ∧ (𝑁 − (2↑((#b‘𝑁) − 1))) < (2↑((#b‘𝑁) − 1)))) → ((𝑁 − (2↑((#b‘𝑁) − 1))) mod (2↑((#b‘𝑁) − 1))) = (𝑁 − (2↑((#b‘𝑁) − 1)))) | |
| 38 | 12, 8, 36, 37 | syl21anc 850 | . . . 4 ⊢ (𝑁 ∈ ℕ → ((𝑁 − (2↑((#b‘𝑁) − 1))) mod (2↑((#b‘𝑁) − 1))) = (𝑁 − (2↑((#b‘𝑁) − 1)))) |
| 39 | 10, 38 | eqtr2d 2805 | . . 3 ⊢ (𝑁 ∈ ℕ → (𝑁 − (2↑((#b‘𝑁) − 1))) = (𝑁 mod (2↑((#b‘𝑁) − 1)))) |
| 40 | nncn 12241 | . . . 4 ⊢ (𝑁 ∈ ℕ → 𝑁 ∈ ℂ) | |
| 41 | nnz 12612 | . . . . . 6 ⊢ (𝑁 ∈ ℕ → 𝑁 ∈ ℤ) | |
| 42 | 41, 7 | zmodcld 13925 | . . . . 5 ⊢ (𝑁 ∈ ℕ → (𝑁 mod (2↑((#b‘𝑁) − 1))) ∈ ℕ0) |
| 43 | 42 | nn0cnd 12567 | . . . 4 ⊢ (𝑁 ∈ ℕ → (𝑁 mod (2↑((#b‘𝑁) − 1))) ∈ ℂ) |
| 44 | 40, 21, 43 | subaddd 11587 | . . 3 ⊢ (𝑁 ∈ ℕ → ((𝑁 − (2↑((#b‘𝑁) − 1))) = (𝑁 mod (2↑((#b‘𝑁) − 1))) ↔ ((2↑((#b‘𝑁) − 1)) + (𝑁 mod (2↑((#b‘𝑁) − 1)))) = 𝑁)) |
| 45 | 39, 44 | mpbid 235 | . 2 ⊢ (𝑁 ∈ ℕ → ((2↑((#b‘𝑁) − 1)) + (𝑁 mod (2↑((#b‘𝑁) − 1)))) = 𝑁) |
| 46 | 45 | eqcomd 2775 | 1 ⊢ (𝑁 ∈ ℕ → 𝑁 = ((2↑((#b‘𝑁) − 1)) + (𝑁 mod (2↑((#b‘𝑁) − 1))))) |
| Colors of variables: wff setvar class |
| Syntax hints: → wi 4 ∧ wa 400 = wceq 1567 ∈ wcel 2149 class class class wbr 5111 ‘cfv 6537 (class class class)co 7411 ℂcc 11098 ℝcr 11099 0cc0 11100 1c1 11101 + caddc 11103 · cmul 11105 < clt 11243 ≤ cle 11244 − cmin 11441 ℕcn 12233 2c2 12295 ℕ0cn0 12504 ℝ+crp 13016 mod cmo 13902 ↑cexp 14097 #bcblen 49269 |
| This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1822 ax-4 1836 ax-5 1937 ax-6 1994 ax-7 2035 ax-8 2151 ax-9 2159 ax-10 2182 ax-11 2198 ax-12 2219 ax-ext 2741 ax-rep 5240 ax-sep 5259 ax-nul 5271 ax-pow 5337 ax-pr 5405 ax-un 7733 ax-inf2 9610 ax-cnex 11156 ax-resscn 11157 ax-1cn 11158 ax-icn 11159 ax-addcl 11160 ax-addrcl 11161 ax-mulcl 11162 ax-mulrcl 11163 ax-mulcom 11164 ax-addass 11165 ax-mulass 11166 ax-distr 11167 ax-i2m1 11168 ax-1ne0 11169 ax-1rid 11170 ax-rnegex 11171 ax-rrecex 11172 ax-cnre 11173 ax-pre-lttri 11174 ax-pre-lttrn 11175 ax-pre-ltadd 11176 ax-pre-mulgt0 11177 ax-pre-sup 11178 ax-addf 11179 |
| This theorem depends on definitions: df-bi 210 df-an 401 df-or 861 df-3or 1102 df-3an 1103 df-tru 1570 df-fal 1580 df-ex 1807 df-nf 1811 df-sb 2098 df-mo 2573 df-eu 2603 df-clab 2748 df-cleq 2761 df-clel 2844 df-nfc 2918 df-ne 2965 df-nel 3071 df-ral 3086 df-rex 3096 df-rmo 3375 df-reu 3376 df-rab 3423 df-v 3463 df-sbc 3752 df-csb 3860 df-dif 3914 df-un 3916 df-in 3918 df-ss 3928 df-pss 3931 df-nul 4293 df-if 4491 df-pw 4567 df-sn 4593 df-pr 4595 df-tp 4597 df-op 4599 df-uni 4875 df-int 4915 df-iun 4960 df-iin 4961 df-br 5112 df-opab 5176 df-mpt 5195 df-tr 5221 df-id 5557 df-eprel 5562 df-po 5570 df-so 5571 df-fr 5615 df-se 5616 df-we 5617 df-xp 5668 df-rel 5669 df-cnv 5670 df-co 5671 df-dm 5672 df-rn 5673 df-res 5674 df-ima 5675 df-pred 6303 df-ord 6364 df-on 6365 df-lim 6366 df-suc 6367 df-iota 6493 df-fun 6539 df-fn 6540 df-f 6541 df-f1 6542 df-fo 6543 df-f1o 6544 df-fv 6545 df-isom 6546 df-riota 7368 df-ov 7414 df-oprab 7415 df-mpo 7416 df-of 7675 df-om 7863 df-1st 7986 df-2nd 7987 df-supp 8157 df-frecs 8278 df-wrecs 8309 df-recs 8358 df-rdg 8397 df-1o 8453 df-2o 8454 df-er 8694 df-map 8826 df-pm 8827 df-ixp 8896 df-en 8944 df-dom 8945 df-sdom 8946 df-fin 8947 df-fsupp 9322 df-fi 9371 df-sup 9402 df-inf 9403 df-oi 9472 df-card 9925 df-pnf 11245 df-mnf 11246 df-xr 11247 df-ltxr 11248 df-le 11249 df-sub 11443 df-neg 11444 df-div 11872 df-nn 12234 df-2 12303 df-3 12304 df-4 12305 df-5 12306 df-6 12307 df-7 12308 df-8 12309 df-9 12310 df-n0 12505 df-z 12592 df-dec 12712 df-uz 12863 df-q 12973 df-rp 13017 df-xneg 13137 df-xadd 13138 df-xmul 13139 df-ioo 13376 df-ioc 13377 df-ico 13378 df-icc 13379 df-fz 13536 df-fzo 13683 df-fl 13825 df-mod 13903 df-seq 14038 df-exp 14098 df-fac 14310 df-bc 14339 df-hash 14367 df-shft 15104 df-cj 15150 df-re 15151 df-im 15152 df-sqrt 15286 df-abs 15287 df-limsup 15522 df-clim 15539 df-rlim 15540 df-sum 15738 df-ef 16121 df-sin 16123 df-cos 16124 df-pi 16126 df-struct 17207 df-sets 17224 df-slot 17242 df-ndx 17254 df-base 17270 df-ress 17291 df-plusg 17323 df-mulr 17324 df-starv 17325 df-sca 17326 df-vsca 17327 df-ip 17328 df-tset 17329 df-ple 17330 df-ds 17332 df-unif 17333 df-hom 17334 df-cco 17335 df-rest 17475 df-topn 17476 df-0g 17494 df-gsum 17495 df-topgen 17496 df-pt 17497 df-prds 17500 df-xrs 17556 df-qtop 17561 df-imas 17562 df-xps 17564 df-mre 17638 df-mrc 17639 df-acs 17641 df-mgm 18698 df-sgrp 18777 df-mnd 18793 df-submnd 18842 df-mulg 19134 df-cntz 19387 df-cmn 19852 df-psmet 21483 df-xmet 21484 df-met 21485 df-bl 21486 df-mopn 21487 df-fbas 21488 df-fg 21489 df-cnfld 21492 df-top 23020 df-topon 23037 df-topsp 23059 df-bases 23072 df-cld 23145 df-ntr 23146 df-cls 23147 df-nei 23224 df-lp 23262 df-perf 23263 df-cn 23353 df-cnp 23354 df-haus 23441 df-tx 23688 df-hmeo 23881 df-fil 23972 df-fm 24064 df-flim 24065 df-flf 24066 df-xms 24446 df-ms 24447 df-tms 24448 df-cncf 25006 df-limc 25994 df-dv 25995 df-log 26687 df-cxp 26688 df-logb 26896 df-blen 49270 |
| This theorem is referenced by: nnpw2p 49286 |
| Copyright terms: Public domain | W3C validator |