Users' Mathboxes Mathbox for Alexander van der Vekens < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  nnpw2pmod Structured version   Visualization version   GIF version

Theorem nnpw2pmod 46280
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.)
Assertion
Ref Expression
nnpw2pmod (𝑁 ∈ ℕ → 𝑁 = ((2↑((#b𝑁) − 1)) + (𝑁 mod (2↑((#b𝑁) − 1)))))

Proof of Theorem nnpw2pmod
StepHypRef Expression
1 nnre 12081 . . . . 5 (𝑁 ∈ ℕ → 𝑁 ∈ ℝ)
2 2nn 12147 . . . . . . . 8 2 ∈ ℕ
32a1i 11 . . . . . . 7 (𝑁 ∈ ℕ → 2 ∈ ℕ)
4 blennnelnn 46273 . . . . . . . 8 (𝑁 ∈ ℕ → (#b𝑁) ∈ ℕ)
5 nnm1nn0 12375 . . . . . . . 8 ((#b𝑁) ∈ ℕ → ((#b𝑁) − 1) ∈ ℕ0)
64, 5syl 17 . . . . . . 7 (𝑁 ∈ ℕ → ((#b𝑁) − 1) ∈ ℕ0)
73, 6nnexpcld 14061 . . . . . 6 (𝑁 ∈ ℕ → (2↑((#b𝑁) − 1)) ∈ ℕ)
87nnrpd 12871 . . . . 5 (𝑁 ∈ ℕ → (2↑((#b𝑁) − 1)) ∈ ℝ+)
9 modeqmodmin 13762 . . . . 5 ((𝑁 ∈ ℝ ∧ (2↑((#b𝑁) − 1)) ∈ ℝ+) → (𝑁 mod (2↑((#b𝑁) − 1))) = ((𝑁 − (2↑((#b𝑁) − 1))) mod (2↑((#b𝑁) − 1))))
101, 8, 9syl2anc 584 . . . 4 (𝑁 ∈ ℕ → (𝑁 mod (2↑((#b𝑁) − 1))) = ((𝑁 − (2↑((#b𝑁) − 1))) mod (2↑((#b𝑁) − 1))))
117nnred 12089 . . . . . 6 (𝑁 ∈ ℕ → (2↑((#b𝑁) − 1)) ∈ ℝ)
121, 11resubcld 11504 . . . . 5 (𝑁 ∈ ℕ → (𝑁 − (2↑((#b𝑁) − 1))) ∈ ℝ)
13 nnpw2blen 46277 . . . . . 6 (𝑁 ∈ ℕ → ((2↑((#b𝑁) − 1)) ≤ 𝑁𝑁 < (2↑(#b𝑁))))
141, 11subge0d 11666 . . . . . . 7 (𝑁 ∈ ℕ → (0 ≤ (𝑁 − (2↑((#b𝑁) − 1))) ↔ (2↑((#b𝑁) − 1)) ≤ 𝑁))
151, 11, 11ltsubadd2d 11674 . . . . . . . 8 (𝑁 ∈ ℕ → ((𝑁 − (2↑((#b𝑁) − 1))) < (2↑((#b𝑁) − 1)) ↔ 𝑁 < ((2↑((#b𝑁) − 1)) + (2↑((#b𝑁) − 1)))))
16 2cn 12149 . . . . . . . . . . . 12 2 ∈ ℂ
17 exp1 13889 . . . . . . . . . . . . 13 (2 ∈ ℂ → (2↑1) = 2)
1817eqcomd 2742 . . . . . . . . . . . 12 (2 ∈ ℂ → 2 = (2↑1))
1916, 18mp1i 13 . . . . . . . . . . 11 (𝑁 ∈ ℕ → 2 = (2↑1))
2019oveq1d 7352 . . . . . . . . . 10 (𝑁 ∈ ℕ → (2 · (2↑((#b𝑁) − 1))) = ((2↑1) · (2↑((#b𝑁) − 1))))
217nncnd 12090 . . . . . . . . . . 11 (𝑁 ∈ ℕ → (2↑((#b𝑁) − 1)) ∈ ℂ)
22212timesd 12317 . . . . . . . . . 10 (𝑁 ∈ ℕ → (2 · (2↑((#b𝑁) − 1))) = ((2↑((#b𝑁) − 1)) + (2↑((#b𝑁) − 1))))
2316a1i 11 . . . . . . . . . . . 12 (𝑁 ∈ ℕ → 2 ∈ ℂ)
24 1nn0 12350 . . . . . . . . . . . . 13 1 ∈ ℕ0
2524a1i 11 . . . . . . . . . . . 12 (𝑁 ∈ ℕ → 1 ∈ ℕ0)
2623, 6, 25expaddd 13967 . . . . . . . . . . 11 (𝑁 ∈ ℕ → (2↑(1 + ((#b𝑁) − 1))) = ((2↑1) · (2↑((#b𝑁) − 1))))
27 1cnd 11071 . . . . . . . . . . . . 13 (𝑁 ∈ ℕ → 1 ∈ ℂ)
284nncnd 12090 . . . . . . . . . . . . 13 (𝑁 ∈ ℕ → (#b𝑁) ∈ ℂ)
2927, 28pncan3d 11436 . . . . . . . . . . . 12 (𝑁 ∈ ℕ → (1 + ((#b𝑁) − 1)) = (#b𝑁))
3029oveq2d 7353 . . . . . . . . . . 11 (𝑁 ∈ ℕ → (2↑(1 + ((#b𝑁) − 1))) = (2↑(#b𝑁)))
3126, 30eqtr3d 2778 . . . . . . . . . 10 (𝑁 ∈ ℕ → ((2↑1) · (2↑((#b𝑁) − 1))) = (2↑(#b𝑁)))
3220, 22, 313eqtr3d 2784 . . . . . . . . 9 (𝑁 ∈ ℕ → ((2↑((#b𝑁) − 1)) + (2↑((#b𝑁) − 1))) = (2↑(#b𝑁)))
3332breq2d 5104 . . . . . . . 8 (𝑁 ∈ ℕ → (𝑁 < ((2↑((#b𝑁) − 1)) + (2↑((#b𝑁) − 1))) ↔ 𝑁 < (2↑(#b𝑁))))
3415, 33bitrd 278 . . . . . . 7 (𝑁 ∈ ℕ → ((𝑁 − (2↑((#b𝑁) − 1))) < (2↑((#b𝑁) − 1)) ↔ 𝑁 < (2↑(#b𝑁))))
3514, 34anbi12d 631 . . . . . 6 (𝑁 ∈ ℕ → ((0 ≤ (𝑁 − (2↑((#b𝑁) − 1))) ∧ (𝑁 − (2↑((#b𝑁) − 1))) < (2↑((#b𝑁) − 1))) ↔ ((2↑((#b𝑁) − 1)) ≤ 𝑁𝑁 < (2↑(#b𝑁)))))
3613, 35mpbird 256 . . . . 5 (𝑁 ∈ ℕ → (0 ≤ (𝑁 − (2↑((#b𝑁) − 1))) ∧ (𝑁 − (2↑((#b𝑁) − 1))) < (2↑((#b𝑁) − 1))))
37 modid 13717 . . . . 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))))
3812, 8, 36, 37syl21anc 835 . . . 4 (𝑁 ∈ ℕ → ((𝑁 − (2↑((#b𝑁) − 1))) mod (2↑((#b𝑁) − 1))) = (𝑁 − (2↑((#b𝑁) − 1))))
3910, 38eqtr2d 2777 . . 3 (𝑁 ∈ ℕ → (𝑁 − (2↑((#b𝑁) − 1))) = (𝑁 mod (2↑((#b𝑁) − 1))))
40 nncn 12082 . . . 4 (𝑁 ∈ ℕ → 𝑁 ∈ ℂ)
41 nnz 12443 . . . . . 6 (𝑁 ∈ ℕ → 𝑁 ∈ ℤ)
4241, 7zmodcld 13713 . . . . 5 (𝑁 ∈ ℕ → (𝑁 mod (2↑((#b𝑁) − 1))) ∈ ℕ0)
4342nn0cnd 12396 . . . 4 (𝑁 ∈ ℕ → (𝑁 mod (2↑((#b𝑁) − 1))) ∈ ℂ)
4440, 21, 43subaddd 11451 . . 3 (𝑁 ∈ ℕ → ((𝑁 − (2↑((#b𝑁) − 1))) = (𝑁 mod (2↑((#b𝑁) − 1))) ↔ ((2↑((#b𝑁) − 1)) + (𝑁 mod (2↑((#b𝑁) − 1)))) = 𝑁))
4539, 44mpbid 231 . 2 (𝑁 ∈ ℕ → ((2↑((#b𝑁) − 1)) + (𝑁 mod (2↑((#b𝑁) − 1)))) = 𝑁)
4645eqcomd 2742 1 (𝑁 ∈ ℕ → 𝑁 = ((2↑((#b𝑁) − 1)) + (𝑁 mod (2↑((#b𝑁) − 1)))))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 396   = wceq 1540  wcel 2105   class class class wbr 5092  cfv 6479  (class class class)co 7337  cc 10970  cr 10971  0cc0 10972  1c1 10973   + caddc 10975   · cmul 10977   < clt 11110  cle 11111  cmin 11306  cn 12074  2c2 12129  0cn0 12334  +crp 12831   mod cmo 13690  cexp 13883  #bcblen 46266
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 1912  ax-6 1970  ax-7 2010  ax-8 2107  ax-9 2115  ax-10 2136  ax-11 2153  ax-12 2170  ax-ext 2707  ax-rep 5229  ax-sep 5243  ax-nul 5250  ax-pow 5308  ax-pr 5372  ax-un 7650  ax-inf2 9498  ax-cnex 11028  ax-resscn 11029  ax-1cn 11030  ax-icn 11031  ax-addcl 11032  ax-addrcl 11033  ax-mulcl 11034  ax-mulrcl 11035  ax-mulcom 11036  ax-addass 11037  ax-mulass 11038  ax-distr 11039  ax-i2m1 11040  ax-1ne0 11041  ax-1rid 11042  ax-rnegex 11043  ax-rrecex 11044  ax-cnre 11045  ax-pre-lttri 11046  ax-pre-lttrn 11047  ax-pre-ltadd 11048  ax-pre-mulgt0 11049  ax-pre-sup 11050  ax-addf 11051  ax-mulf 11052
This theorem depends on definitions:  df-bi 206  df-an 397  df-or 845  df-3or 1087  df-3an 1088  df-tru 1543  df-fal 1553  df-ex 1781  df-nf 1785  df-sb 2067  df-mo 2538  df-eu 2567  df-clab 2714  df-cleq 2728  df-clel 2814  df-nfc 2886  df-ne 2941  df-nel 3047  df-ral 3062  df-rex 3071  df-rmo 3349  df-reu 3350  df-rab 3404  df-v 3443  df-sbc 3728  df-csb 3844  df-dif 3901  df-un 3903  df-in 3905  df-ss 3915  df-pss 3917  df-nul 4270  df-if 4474  df-pw 4549  df-sn 4574  df-pr 4576  df-tp 4578  df-op 4580  df-uni 4853  df-int 4895  df-iun 4943  df-iin 4944  df-br 5093  df-opab 5155  df-mpt 5176  df-tr 5210  df-id 5518  df-eprel 5524  df-po 5532  df-so 5533  df-fr 5575  df-se 5576  df-we 5577  df-xp 5626  df-rel 5627  df-cnv 5628  df-co 5629  df-dm 5630  df-rn 5631  df-res 5632  df-ima 5633  df-pred 6238  df-ord 6305  df-on 6306  df-lim 6307  df-suc 6308  df-iota 6431  df-fun 6481  df-fn 6482  df-f 6483  df-f1 6484  df-fo 6485  df-f1o 6486  df-fv 6487  df-isom 6488  df-riota 7293  df-ov 7340  df-oprab 7341  df-mpo 7342  df-of 7595  df-om 7781  df-1st 7899  df-2nd 7900  df-supp 8048  df-frecs 8167  df-wrecs 8198  df-recs 8272  df-rdg 8311  df-1o 8367  df-2o 8368  df-er 8569  df-map 8688  df-pm 8689  df-ixp 8757  df-en 8805  df-dom 8806  df-sdom 8807  df-fin 8808  df-fsupp 9227  df-fi 9268  df-sup 9299  df-inf 9300  df-oi 9367  df-card 9796  df-pnf 11112  df-mnf 11113  df-xr 11114  df-ltxr 11115  df-le 11116  df-sub 11308  df-neg 11309  df-div 11734  df-nn 12075  df-2 12137  df-3 12138  df-4 12139  df-5 12140  df-6 12141  df-7 12142  df-8 12143  df-9 12144  df-n0 12335  df-z 12421  df-dec 12539  df-uz 12684  df-q 12790  df-rp 12832  df-xneg 12949  df-xadd 12950  df-xmul 12951  df-ioo 13184  df-ioc 13185  df-ico 13186  df-icc 13187  df-fz 13341  df-fzo 13484  df-fl 13613  df-mod 13691  df-seq 13823  df-exp 13884  df-fac 14089  df-bc 14118  df-hash 14146  df-shft 14877  df-cj 14909  df-re 14910  df-im 14911  df-sqrt 15045  df-abs 15046  df-limsup 15279  df-clim 15296  df-rlim 15297  df-sum 15497  df-ef 15876  df-sin 15878  df-cos 15879  df-pi 15881  df-struct 16945  df-sets 16962  df-slot 16980  df-ndx 16992  df-base 17010  df-ress 17039  df-plusg 17072  df-mulr 17073  df-starv 17074  df-sca 17075  df-vsca 17076  df-ip 17077  df-tset 17078  df-ple 17079  df-ds 17081  df-unif 17082  df-hom 17083  df-cco 17084  df-rest 17230  df-topn 17231  df-0g 17249  df-gsum 17250  df-topgen 17251  df-pt 17252  df-prds 17255  df-xrs 17310  df-qtop 17315  df-imas 17316  df-xps 17318  df-mre 17392  df-mrc 17393  df-acs 17395  df-mgm 18423  df-sgrp 18472  df-mnd 18483  df-submnd 18528  df-mulg 18797  df-cntz 19019  df-cmn 19483  df-psmet 20695  df-xmet 20696  df-met 20697  df-bl 20698  df-mopn 20699  df-fbas 20700  df-fg 20701  df-cnfld 20704  df-top 22149  df-topon 22166  df-topsp 22188  df-bases 22202  df-cld 22276  df-ntr 22277  df-cls 22278  df-nei 22355  df-lp 22393  df-perf 22394  df-cn 22484  df-cnp 22485  df-haus 22572  df-tx 22819  df-hmeo 23012  df-fil 23103  df-fm 23195  df-flim 23196  df-flf 23197  df-xms 23579  df-ms 23580  df-tms 23581  df-cncf 24147  df-limc 25136  df-dv 25137  df-log 25818  df-cxp 25819  df-logb 26021  df-blen 46267
This theorem is referenced by:  nnpw2p  46283
  Copyright terms: Public domain W3C validator