| 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 12372 | . . . . 5 ⊢ (𝑁 ∈ ℕ → 𝑁 ∈ ℝ) | |
| 2 | 2nn 12446 | . . . . . . . 8 ⊢ 2 ∈ ℕ | |
| 3 | 2 | a1i 11 | . . . . . . 7 ⊢ (𝑁 ∈ ℕ → 2 ∈ ℕ) |
| 4 | blennnelnn 49903 | . . . . . . . 8 ⊢ (𝑁 ∈ ℕ → (#b‘𝑁) ∈ ℕ) | |
| 5 | nnm1nn0 12677 | . . . . . . . 8 ⊢ ((#b‘𝑁) ∈ ℕ → ((#b‘𝑁) − 1) ∈ ℕ0) | |
| 6 | 4, 5 | syl 18 | . . . . . . 7 ⊢ (𝑁 ∈ ℕ → ((#b‘𝑁) − 1) ∈ ℕ0) |
| 7 | 3, 6 | nnexpcld 14419 | . . . . . 6 ⊢ (𝑁 ∈ ℕ → (2↑((#b‘𝑁) − 1)) ∈ ℕ) |
| 8 | 7 | nnrpd 13192 | . . . . 5 ⊢ (𝑁 ∈ ℕ → (2↑((#b‘𝑁) − 1)) ∈ ℝ+) |
| 9 | modeqmodmin 14114 | . . . . 5 ⊢ ((𝑁 ∈ ℝ ∧ (2↑((#b‘𝑁) − 1)) ∈ ℝ+) → (𝑁 mod (2↑((#b‘𝑁) − 1))) = ((𝑁 − (2↑((#b‘𝑁) − 1))) mod (2↑((#b‘𝑁) − 1)))) | |
| 10 | 1, 8, 9 | syl2anc 596 | . . . 4 ⊢ (𝑁 ∈ ℕ → (𝑁 mod (2↑((#b‘𝑁) − 1))) = ((𝑁 − (2↑((#b‘𝑁) − 1))) mod (2↑((#b‘𝑁) − 1)))) |
| 11 | 7 | nnred 12380 | . . . . . 6 ⊢ (𝑁 ∈ ℕ → (2↑((#b‘𝑁) − 1)) ∈ ℝ) |
| 12 | 1, 11 | resubcld 11774 | . . . . 5 ⊢ (𝑁 ∈ ℕ → (𝑁 − (2↑((#b‘𝑁) − 1))) ∈ ℝ) |
| 13 | nnpw2blen 49907 | . . . . . 6 ⊢ (𝑁 ∈ ℕ → ((2↑((#b‘𝑁) − 1)) ≤ 𝑁 ∧ 𝑁 < (2↑(#b‘𝑁)))) | |
| 14 | 1, 11 | subge0d 11936 | . . . . . . 7 ⊢ (𝑁 ∈ ℕ → (0 ≤ (𝑁 − (2↑((#b‘𝑁) − 1))) ↔ (2↑((#b‘𝑁) − 1)) ≤ 𝑁)) |
| 15 | 1, 11, 11 | ltsubadd2d 11944 | . . . . . . . 8 ⊢ (𝑁 ∈ ℕ → ((𝑁 − (2↑((#b‘𝑁) − 1))) < (2↑((#b‘𝑁) − 1)) ↔ 𝑁 < ((2↑((#b‘𝑁) − 1)) + (2↑((#b‘𝑁) − 1))))) |
| 16 | 2cn 12448 | . . . . . . . . . . . 12 ⊢ 2 ∈ ℂ | |
| 17 | exp1 14240 | . . . . . . . . . . . . 13 ⊢ (2 ∈ ℂ → (2↑1) = 2) | |
| 18 | 17 | eqcomd 2769 | . . . . . . . . . . . 12 ⊢ (2 ∈ ℂ → 2 = (2↑1)) |
| 19 | 16, 18 | mp1i 14 | . . . . . . . . . . 11 ⊢ (𝑁 ∈ ℕ → 2 = (2↑1)) |
| 20 | 19 | oveq1d 7461 | . . . . . . . . . 10 ⊢ (𝑁 ∈ ℕ → (2 · (2↑((#b‘𝑁) − 1))) = ((2↑1) · (2↑((#b‘𝑁) − 1)))) |
| 21 | 7 | nncnd 12381 | . . . . . . . . . . 11 ⊢ (𝑁 ∈ ℕ → (2↑((#b‘𝑁) − 1)) ∈ ℂ) |
| 22 | 21 | 2timesd 12619 | . . . . . . . . . 10 ⊢ (𝑁 ∈ ℕ → (2 · (2↑((#b‘𝑁) − 1))) = ((2↑((#b‘𝑁) − 1)) + (2↑((#b‘𝑁) − 1)))) |
| 23 | 16 | a1i 11 | . . . . . . . . . . . 12 ⊢ (𝑁 ∈ ℕ → 2 ∈ ℂ) |
| 24 | 1nn0 12652 | . . . . . . . . . . . . 13 ⊢ 1 ∈ ℕ0 | |
| 25 | 24 | a1i 11 | . . . . . . . . . . . 12 ⊢ (𝑁 ∈ ℕ → 1 ∈ ℕ0) |
| 26 | 23, 6, 25 | expaddd 14321 | . . . . . . . . . . 11 ⊢ (𝑁 ∈ ℕ → (2↑(1 + ((#b‘𝑁) − 1))) = ((2↑1) · (2↑((#b‘𝑁) − 1)))) |
| 27 | 1cnd 11332 | . . . . . . . . . . . . 13 ⊢ (𝑁 ∈ ℕ → 1 ∈ ℂ) | |
| 28 | 4 | nncnd 12381 | . . . . . . . . . . . . 13 ⊢ (𝑁 ∈ ℕ → (#b‘𝑁) ∈ ℂ) |
| 29 | 27, 28 | pncan3d 11702 | . . . . . . . . . . . 12 ⊢ (𝑁 ∈ ℕ → (1 + ((#b‘𝑁) − 1)) = (#b‘𝑁)) |
| 30 | 29 | oveq2d 7462 | . . . . . . . . . . 11 ⊢ (𝑁 ∈ ℕ → (2↑(1 + ((#b‘𝑁) − 1))) = (2↑(#b‘𝑁))) |
| 31 | 26, 30 | eqtr3d 2800 | . . . . . . . . . 10 ⊢ (𝑁 ∈ ℕ → ((2↑1) · (2↑((#b‘𝑁) − 1))) = (2↑(#b‘𝑁))) |
| 32 | 20, 22, 31 | 3eqtr3d 2806 | . . . . . . . . 9 ⊢ (𝑁 ∈ ℕ → ((2↑((#b‘𝑁) − 1)) + (2↑((#b‘𝑁) − 1))) = (2↑(#b‘𝑁))) |
| 33 | 32 | breq2d 5118 | . . . . . . . 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 644 | . . . . . 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 14066 | . . . . 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 851 | . . . 4 ⊢ (𝑁 ∈ ℕ → ((𝑁 − (2↑((#b‘𝑁) − 1))) mod (2↑((#b‘𝑁) − 1))) = (𝑁 − (2↑((#b‘𝑁) − 1)))) |
| 39 | 10, 38 | eqtr2d 2799 | . . 3 ⊢ (𝑁 ∈ ℕ → (𝑁 − (2↑((#b‘𝑁) − 1))) = (𝑁 mod (2↑((#b‘𝑁) − 1)))) |
| 40 | nncn 12373 | . . . 4 ⊢ (𝑁 ∈ ℕ → 𝑁 ∈ ℂ) | |
| 41 | nnz 12744 | . . . . . 6 ⊢ (𝑁 ∈ ℕ → 𝑁 ∈ ℤ) | |
| 42 | 41, 7 | zmodcld 14062 | . . . . 5 ⊢ (𝑁 ∈ ℕ → (𝑁 mod (2↑((#b‘𝑁) − 1))) ∈ ℕ0) |
| 43 | 42 | nn0cnd 12699 | . . . 4 ⊢ (𝑁 ∈ ℕ → (𝑁 mod (2↑((#b‘𝑁) − 1))) ∈ ℂ) |
| 44 | 40, 21, 43 | subaddd 11717 | . . 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 2769 | 1 ⊢ (𝑁 ∈ ℕ → 𝑁 = ((2↑((#b‘𝑁) − 1)) + (𝑁 mod (2↑((#b‘𝑁) − 1))))) |
| Colors of variables: wff setvar class |
| This proof depends on syntax axioms: → wi 4 ∧ wa 401 = wceq 1570 ∈ wcel 2147 class class class wbr 5106 ‘cfv 6561 (class class class)co 7446 ℂcc 11228 ℝcr 11229 0cc0 11230 1c1 11231 + caddc 11233 · cmul 11235 < clt 11373 ≤ cle 11374 − cmin 11571 ℕcn 12365 2c2 12427 ℕ0cn0 12636 ℝ+crp 13150 mod cmo 14039 ↑cexp 14234 #bcblen 49896 |
| This proof depends on axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1828 ax-4 1842 ax-5 1945 ax-6 2002 ax-7 2043 ax-8 2149 ax-9 2157 ax-10 2180 ax-11 2197 ax-12 2216 ax-ext 2735 ax-rep 5236 ax-sep 5253 ax-nul 5264 ax-pow 5332 ax-pr 5396 ax-un 7778 ax-inf2 9672 ax-cnex 11286 ax-resscn 11287 ax-1cn 11288 ax-icn 11289 ax-addcl 11290 ax-addrcl 11291 ax-mulcl 11292 ax-mulrcl 11293 ax-mulcom 11294 ax-addass 11295 ax-mulass 11296 ax-distr 11297 ax-i2m1 11298 ax-1ne0 11299 ax-1rid 11300 ax-rnegex 11301 ax-rrecex 11302 ax-cnre 11303 ax-pre-lttri 11304 ax-pre-lttrn 11305 ax-pre-ltadd 11306 ax-pre-mulgt0 11307 ax-pre-sup 11308 ax-addf 11309 |
| This proof depends on definitions: df-bi 210 df-an 402 df-or 862 df-3or 1104 df-3an 1105 df-tru 1573 df-fal 1583 df-ex 1813 df-nf 1817 df-sb 2102 df-mo 2567 df-eu 2597 df-clab 2742 df-cleq 2755 df-clel 2839 df-nfc 2913 df-ne 2960 df-nel 3066 df-ral 3081 df-rex 3091 df-rmo 3369 df-reu 3370 df-rab 3417 df-v 3456 df-sbc 3743 df-csb 3852 df-ss 3901 df-pss 4017 df-dif 4050 df-in 4094 df-un 4154 df-nul 4282 df-if 4486 df-pw 4562 df-sn 4589 df-pr 4591 df-tp 4593 df-op 4839 df-uni 4871 df-int 4911 df-iun 4956 df-iin 4957 df-br 5107 df-opab 5172 df-mpt 5191 df-tr 5217 df-id 5551 df-eprel 5556 df-po 5564 df-so 5565 df-fr 5609 df-se 5610 df-we 5611 df-xp 5662 df-rel 5663 df-cnv 5664 df-co 5665 df-dm 5666 df-rn 5667 df-res 5668 df-ima 5669 df-pred 6325 df-ord 6386 df-on 6387 df-lim 6388 df-suc 6389 df-iota 6515 df-fun 6563 df-fn 6564 df-f 6565 df-f1 6566 df-fo 6567 df-f1o 6568 df-fv 6569 df-isom 6570 df-riota 7403 df-ov 7449 df-oprab 7450 df-mpo 7451 df-of 7720 df-om 7905 df-1st 8028 df-2nd 8029 df-supp 8208 df-frecs 8330 df-wrecs 8361 df-recs 8410 df-rdg 8449 df-1o 8507 df-2o 8508 df-er 8748 df-map 8880 df-pm 8881 df-ixp 8957 df-en 9005 df-dom 9006 df-sdom 9007 df-fin 9008 df-fsupp 9385 df-fi 9433 df-sup 9464 df-inf 9465 df-oi 9534 df-card 10050 df-pnf 11375 df-mnf 11376 df-xr 11377 df-ltxr 11378 df-le 11379 df-sub 11573 df-neg 11574 df-div 12004 df-nn 12366 df-2 12435 df-3 12436 df-4 12437 df-5 12438 df-6 12439 df-7 12440 df-8 12441 df-9 12442 df-n0 12637 df-z 12724 df-dec 12845 df-uz 12996 df-q 13106 df-rp 13151 df-xneg 13271 df-xadd 13272 df-xmul 13273 df-ioo 13510 df-ioc 13511 df-ico 13512 df-icc 13513 df-fz 13670 df-fzo 13819 df-fl 13962 df-mod 14040 df-seq 14175 df-exp 14235 df-fac 14448 df-bc 14477 df-hash 14505 df-shft 15252 df-cj 15298 df-re 15299 df-im 15300 df-sqrt 15434 df-abs 15435 df-limsup 15670 df-clim 15687 df-rlim 15688 df-sum 15886 df-ef 16265 df-sin 16267 df-cos 16268 df-pi 16270 df-struct 17357 df-sets 17374 df-slot 17392 df-ndx 17404 df-base 17420 df-ress 17441 df-plusg 17473 df-mulr 17474 df-starv 17475 df-sca 17476 df-vsca 17477 df-ip 17478 df-tset 17479 df-ple 17480 df-ds 17482 df-unif 17483 df-hom 17484 df-cco 17485 df-rest 17625 df-topn 17626 df-0g 17644 df-gsum 17645 df-topgen 17646 df-pt 17647 df-prds 17650 df-xrs 17706 df-qtop 17711 df-imas 17712 df-xps 17714 df-mre 17788 df-mrc 17789 df-acs 17791 df-mgm 18848 df-sgrp 18940 df-mnd 18956 df-submnd 19011 df-mulg 19310 df-cntz 19564 df-cmn 20029 df-psmet 21703 df-xmet 21704 df-met 21705 df-bl 21706 df-mopn 21707 df-fbas 21708 df-fg 21709 df-cnfld 21712 df-top 23245 df-topon 23262 df-topsp 23284 df-bases 23297 df-cld 23370 df-ntr 23371 df-cls 23372 df-nei 23449 df-lp 23487 df-perf 23488 df-cn 23578 df-cnp 23579 df-haus 23666 df-tx 23914 df-hmeo 24107 df-fil 24198 df-fm 24290 df-flim 24291 df-flf 24292 df-xms 24672 df-ms 24673 df-tms 24674 df-cncf 25232 df-limc 26219 df-dv 26220 df-log 26917 df-cxp 26918 df-logb 27126 df-blen 49897 |
| This theorem is used by: nnpw2p 49913 |
| Copyright terms: Public domain | W3C validator |