| 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" smaller 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 12252 | . . . . 5 ⊢ (𝑁 ∈ ℕ → 𝑁 ∈ ℝ) | |
| 2 | 2nn 12318 | . . . . . . . 8 ⊢ 2 ∈ ℕ | |
| 3 | 2 | a1i 11 | . . . . . . 7 ⊢ (𝑁 ∈ ℕ → 2 ∈ ℕ) |
| 4 | blennnelnn 48523 | . . . . . . . 8 ⊢ (𝑁 ∈ ℕ → (#b‘𝑁) ∈ ℕ) | |
| 5 | nnm1nn0 12547 | . . . . . . . 8 ⊢ ((#b‘𝑁) ∈ ℕ → ((#b‘𝑁) − 1) ∈ ℕ0) | |
| 6 | 4, 5 | syl 17 | . . . . . . 7 ⊢ (𝑁 ∈ ℕ → ((#b‘𝑁) − 1) ∈ ℕ0) |
| 7 | 3, 6 | nnexpcld 14268 | . . . . . 6 ⊢ (𝑁 ∈ ℕ → (2↑((#b‘𝑁) − 1)) ∈ ℕ) |
| 8 | 7 | nnrpd 13054 | . . . . 5 ⊢ (𝑁 ∈ ℕ → (2↑((#b‘𝑁) − 1)) ∈ ℝ+) |
| 9 | modeqmodmin 13964 | . . . . 5 ⊢ ((𝑁 ∈ ℝ ∧ (2↑((#b‘𝑁) − 1)) ∈ ℝ+) → (𝑁 mod (2↑((#b‘𝑁) − 1))) = ((𝑁 − (2↑((#b‘𝑁) − 1))) mod (2↑((#b‘𝑁) − 1)))) | |
| 10 | 1, 8, 9 | syl2anc 584 | . . . 4 ⊢ (𝑁 ∈ ℕ → (𝑁 mod (2↑((#b‘𝑁) − 1))) = ((𝑁 − (2↑((#b‘𝑁) − 1))) mod (2↑((#b‘𝑁) − 1)))) |
| 11 | 7 | nnred 12260 | . . . . . 6 ⊢ (𝑁 ∈ ℕ → (2↑((#b‘𝑁) − 1)) ∈ ℝ) |
| 12 | 1, 11 | resubcld 11670 | . . . . 5 ⊢ (𝑁 ∈ ℕ → (𝑁 − (2↑((#b‘𝑁) − 1))) ∈ ℝ) |
| 13 | nnpw2blen 48527 | . . . . . 6 ⊢ (𝑁 ∈ ℕ → ((2↑((#b‘𝑁) − 1)) ≤ 𝑁 ∧ 𝑁 < (2↑(#b‘𝑁)))) | |
| 14 | 1, 11 | subge0d 11832 | . . . . . . 7 ⊢ (𝑁 ∈ ℕ → (0 ≤ (𝑁 − (2↑((#b‘𝑁) − 1))) ↔ (2↑((#b‘𝑁) − 1)) ≤ 𝑁)) |
| 15 | 1, 11, 11 | ltsubadd2d 11840 | . . . . . . . 8 ⊢ (𝑁 ∈ ℕ → ((𝑁 − (2↑((#b‘𝑁) − 1))) < (2↑((#b‘𝑁) − 1)) ↔ 𝑁 < ((2↑((#b‘𝑁) − 1)) + (2↑((#b‘𝑁) − 1))))) |
| 16 | 2cn 12320 | . . . . . . . . . . . 12 ⊢ 2 ∈ ℂ | |
| 17 | exp1 14090 | . . . . . . . . . . . . 13 ⊢ (2 ∈ ℂ → (2↑1) = 2) | |
| 18 | 17 | eqcomd 2742 | . . . . . . . . . . . 12 ⊢ (2 ∈ ℂ → 2 = (2↑1)) |
| 19 | 16, 18 | mp1i 13 | . . . . . . . . . . 11 ⊢ (𝑁 ∈ ℕ → 2 = (2↑1)) |
| 20 | 19 | oveq1d 7425 | . . . . . . . . . 10 ⊢ (𝑁 ∈ ℕ → (2 · (2↑((#b‘𝑁) − 1))) = ((2↑1) · (2↑((#b‘𝑁) − 1)))) |
| 21 | 7 | nncnd 12261 | . . . . . . . . . . 11 ⊢ (𝑁 ∈ ℕ → (2↑((#b‘𝑁) − 1)) ∈ ℂ) |
| 22 | 21 | 2timesd 12489 | . . . . . . . . . 10 ⊢ (𝑁 ∈ ℕ → (2 · (2↑((#b‘𝑁) − 1))) = ((2↑((#b‘𝑁) − 1)) + (2↑((#b‘𝑁) − 1)))) |
| 23 | 16 | a1i 11 | . . . . . . . . . . . 12 ⊢ (𝑁 ∈ ℕ → 2 ∈ ℂ) |
| 24 | 1nn0 12522 | . . . . . . . . . . . . 13 ⊢ 1 ∈ ℕ0 | |
| 25 | 24 | a1i 11 | . . . . . . . . . . . 12 ⊢ (𝑁 ∈ ℕ → 1 ∈ ℕ0) |
| 26 | 23, 6, 25 | expaddd 14171 | . . . . . . . . . . 11 ⊢ (𝑁 ∈ ℕ → (2↑(1 + ((#b‘𝑁) − 1))) = ((2↑1) · (2↑((#b‘𝑁) − 1)))) |
| 27 | 1cnd 11235 | . . . . . . . . . . . . 13 ⊢ (𝑁 ∈ ℕ → 1 ∈ ℂ) | |
| 28 | 4 | nncnd 12261 | . . . . . . . . . . . . 13 ⊢ (𝑁 ∈ ℕ → (#b‘𝑁) ∈ ℂ) |
| 29 | 27, 28 | pncan3d 11602 | . . . . . . . . . . . 12 ⊢ (𝑁 ∈ ℕ → (1 + ((#b‘𝑁) − 1)) = (#b‘𝑁)) |
| 30 | 29 | oveq2d 7426 | . . . . . . . . . . 11 ⊢ (𝑁 ∈ ℕ → (2↑(1 + ((#b‘𝑁) − 1))) = (2↑(#b‘𝑁))) |
| 31 | 26, 30 | eqtr3d 2773 | . . . . . . . . . 10 ⊢ (𝑁 ∈ ℕ → ((2↑1) · (2↑((#b‘𝑁) − 1))) = (2↑(#b‘𝑁))) |
| 32 | 20, 22, 31 | 3eqtr3d 2779 | . . . . . . . . 9 ⊢ (𝑁 ∈ ℕ → ((2↑((#b‘𝑁) − 1)) + (2↑((#b‘𝑁) − 1))) = (2↑(#b‘𝑁))) |
| 33 | 32 | breq2d 5136 | . . . . . . . 8 ⊢ (𝑁 ∈ ℕ → (𝑁 < ((2↑((#b‘𝑁) − 1)) + (2↑((#b‘𝑁) − 1))) ↔ 𝑁 < (2↑(#b‘𝑁)))) |
| 34 | 15, 33 | bitrd 279 | . . . . . . 7 ⊢ (𝑁 ∈ ℕ → ((𝑁 − (2↑((#b‘𝑁) − 1))) < (2↑((#b‘𝑁) − 1)) ↔ 𝑁 < (2↑(#b‘𝑁)))) |
| 35 | 14, 34 | anbi12d 632 | . . . . . 6 ⊢ (𝑁 ∈ ℕ → ((0 ≤ (𝑁 − (2↑((#b‘𝑁) − 1))) ∧ (𝑁 − (2↑((#b‘𝑁) − 1))) < (2↑((#b‘𝑁) − 1))) ↔ ((2↑((#b‘𝑁) − 1)) ≤ 𝑁 ∧ 𝑁 < (2↑(#b‘𝑁))))) |
| 36 | 13, 35 | mpbird 257 | . . . . 5 ⊢ (𝑁 ∈ ℕ → (0 ≤ (𝑁 − (2↑((#b‘𝑁) − 1))) ∧ (𝑁 − (2↑((#b‘𝑁) − 1))) < (2↑((#b‘𝑁) − 1)))) |
| 37 | modid 13918 | . . . . 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 837 | . . . 4 ⊢ (𝑁 ∈ ℕ → ((𝑁 − (2↑((#b‘𝑁) − 1))) mod (2↑((#b‘𝑁) − 1))) = (𝑁 − (2↑((#b‘𝑁) − 1)))) |
| 39 | 10, 38 | eqtr2d 2772 | . . 3 ⊢ (𝑁 ∈ ℕ → (𝑁 − (2↑((#b‘𝑁) − 1))) = (𝑁 mod (2↑((#b‘𝑁) − 1)))) |
| 40 | nncn 12253 | . . . 4 ⊢ (𝑁 ∈ ℕ → 𝑁 ∈ ℂ) | |
| 41 | nnz 12614 | . . . . . 6 ⊢ (𝑁 ∈ ℕ → 𝑁 ∈ ℤ) | |
| 42 | 41, 7 | zmodcld 13914 | . . . . 5 ⊢ (𝑁 ∈ ℕ → (𝑁 mod (2↑((#b‘𝑁) − 1))) ∈ ℕ0) |
| 43 | 42 | nn0cnd 12569 | . . . 4 ⊢ (𝑁 ∈ ℕ → (𝑁 mod (2↑((#b‘𝑁) − 1))) ∈ ℂ) |
| 44 | 40, 21, 43 | subaddd 11617 | . . 3 ⊢ (𝑁 ∈ ℕ → ((𝑁 − (2↑((#b‘𝑁) − 1))) = (𝑁 mod (2↑((#b‘𝑁) − 1))) ↔ ((2↑((#b‘𝑁) − 1)) + (𝑁 mod (2↑((#b‘𝑁) − 1)))) = 𝑁)) |
| 45 | 39, 44 | mpbid 232 | . 2 ⊢ (𝑁 ∈ ℕ → ((2↑((#b‘𝑁) − 1)) + (𝑁 mod (2↑((#b‘𝑁) − 1)))) = 𝑁) |
| 46 | 45 | eqcomd 2742 | 1 ⊢ (𝑁 ∈ ℕ → 𝑁 = ((2↑((#b‘𝑁) − 1)) + (𝑁 mod (2↑((#b‘𝑁) − 1))))) |
| Colors of variables: wff setvar class |
| Syntax hints: → wi 4 ∧ wa 395 = wceq 1540 ∈ wcel 2109 class class class wbr 5124 ‘cfv 6536 (class class class)co 7410 ℂcc 11132 ℝcr 11133 0cc0 11134 1c1 11135 + caddc 11137 · cmul 11139 < clt 11274 ≤ cle 11275 − cmin 11471 ℕcn 12245 2c2 12300 ℕ0cn0 12506 ℝ+crp 13013 mod cmo 13891 ↑cexp 14084 #bcblen 48516 |
| This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1795 ax-4 1809 ax-5 1910 ax-6 1967 ax-7 2008 ax-8 2111 ax-9 2119 ax-10 2142 ax-11 2158 ax-12 2178 ax-ext 2708 ax-rep 5254 ax-sep 5271 ax-nul 5281 ax-pow 5340 ax-pr 5407 ax-un 7734 ax-inf2 9660 ax-cnex 11190 ax-resscn 11191 ax-1cn 11192 ax-icn 11193 ax-addcl 11194 ax-addrcl 11195 ax-mulcl 11196 ax-mulrcl 11197 ax-mulcom 11198 ax-addass 11199 ax-mulass 11200 ax-distr 11201 ax-i2m1 11202 ax-1ne0 11203 ax-1rid 11204 ax-rnegex 11205 ax-rrecex 11206 ax-cnre 11207 ax-pre-lttri 11208 ax-pre-lttrn 11209 ax-pre-ltadd 11210 ax-pre-mulgt0 11211 ax-pre-sup 11212 ax-addf 11213 |
| This theorem depends on definitions: df-bi 207 df-an 396 df-or 848 df-3or 1087 df-3an 1088 df-tru 1543 df-fal 1553 df-ex 1780 df-nf 1784 df-sb 2066 df-mo 2540 df-eu 2569 df-clab 2715 df-cleq 2728 df-clel 2810 df-nfc 2886 df-ne 2934 df-nel 3038 df-ral 3053 df-rex 3062 df-rmo 3364 df-reu 3365 df-rab 3421 df-v 3466 df-sbc 3771 df-csb 3880 df-dif 3934 df-un 3936 df-in 3938 df-ss 3948 df-pss 3951 df-nul 4314 df-if 4506 df-pw 4582 df-sn 4607 df-pr 4609 df-tp 4611 df-op 4613 df-uni 4889 df-int 4928 df-iun 4974 df-iin 4975 df-br 5125 df-opab 5187 df-mpt 5207 df-tr 5235 df-id 5553 df-eprel 5558 df-po 5566 df-so 5567 df-fr 5611 df-se 5612 df-we 5613 df-xp 5665 df-rel 5666 df-cnv 5667 df-co 5668 df-dm 5669 df-rn 5670 df-res 5671 df-ima 5672 df-pred 6295 df-ord 6360 df-on 6361 df-lim 6362 df-suc 6363 df-iota 6489 df-fun 6538 df-fn 6539 df-f 6540 df-f1 6541 df-fo 6542 df-f1o 6543 df-fv 6544 df-isom 6545 df-riota 7367 df-ov 7413 df-oprab 7414 df-mpo 7415 df-of 7676 df-om 7867 df-1st 7993 df-2nd 7994 df-supp 8165 df-frecs 8285 df-wrecs 8316 df-recs 8390 df-rdg 8429 df-1o 8485 df-2o 8486 df-er 8724 df-map 8847 df-pm 8848 df-ixp 8917 df-en 8965 df-dom 8966 df-sdom 8967 df-fin 8968 df-fsupp 9379 df-fi 9428 df-sup 9459 df-inf 9460 df-oi 9529 df-card 9958 df-pnf 11276 df-mnf 11277 df-xr 11278 df-ltxr 11279 df-le 11280 df-sub 11473 df-neg 11474 df-div 11900 df-nn 12246 df-2 12308 df-3 12309 df-4 12310 df-5 12311 df-6 12312 df-7 12313 df-8 12314 df-9 12315 df-n0 12507 df-z 12594 df-dec 12714 df-uz 12858 df-q 12970 df-rp 13014 df-xneg 13133 df-xadd 13134 df-xmul 13135 df-ioo 13371 df-ioc 13372 df-ico 13373 df-icc 13374 df-fz 13530 df-fzo 13677 df-fl 13814 df-mod 13892 df-seq 14025 df-exp 14085 df-fac 14297 df-bc 14326 df-hash 14354 df-shft 15091 df-cj 15123 df-re 15124 df-im 15125 df-sqrt 15259 df-abs 15260 df-limsup 15492 df-clim 15509 df-rlim 15510 df-sum 15708 df-ef 16088 df-sin 16090 df-cos 16091 df-pi 16093 df-struct 17171 df-sets 17188 df-slot 17206 df-ndx 17218 df-base 17234 df-ress 17257 df-plusg 17289 df-mulr 17290 df-starv 17291 df-sca 17292 df-vsca 17293 df-ip 17294 df-tset 17295 df-ple 17296 df-ds 17298 df-unif 17299 df-hom 17300 df-cco 17301 df-rest 17441 df-topn 17442 df-0g 17460 df-gsum 17461 df-topgen 17462 df-pt 17463 df-prds 17466 df-xrs 17521 df-qtop 17526 df-imas 17527 df-xps 17529 df-mre 17603 df-mrc 17604 df-acs 17606 df-mgm 18623 df-sgrp 18702 df-mnd 18718 df-submnd 18767 df-mulg 19056 df-cntz 19305 df-cmn 19768 df-psmet 21312 df-xmet 21313 df-met 21314 df-bl 21315 df-mopn 21316 df-fbas 21317 df-fg 21318 df-cnfld 21321 df-top 22837 df-topon 22854 df-topsp 22876 df-bases 22889 df-cld 22962 df-ntr 22963 df-cls 22964 df-nei 23041 df-lp 23079 df-perf 23080 df-cn 23170 df-cnp 23171 df-haus 23258 df-tx 23505 df-hmeo 23698 df-fil 23789 df-fm 23881 df-flim 23882 df-flf 23883 df-xms 24264 df-ms 24265 df-tms 24266 df-cncf 24827 df-limc 25824 df-dv 25825 df-log 26522 df-cxp 26523 df-logb 26732 df-blen 48517 |
| This theorem is referenced by: nnpw2p 48533 |
| Copyright terms: Public domain | W3C validator |