MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  modid Structured version   Visualization version   GIF version

Theorem modid 13928
Description: Identity law for modulo. (Contributed by NM, 29-Dec-2008.)
Assertion
Ref Expression
modid (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴𝐴 < 𝐵)) → (𝐴 mod 𝐵) = 𝐴)

Proof of Theorem modid
StepHypRef Expression
1 modval 13903 . . 3 ((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) → (𝐴 mod 𝐵) = (𝐴 − (𝐵 · (⌊‘(𝐴 / 𝐵)))))
21adantr 485 . 2 (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴𝐴 < 𝐵)) → (𝐴 mod 𝐵) = (𝐴 − (𝐵 · (⌊‘(𝐴 / 𝐵)))))
3 rerpdivcl 13047 . . . . . . . . . 10 ((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) → (𝐴 / 𝐵) ∈ ℝ)
43adantr 485 . . . . . . . . 9 (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴𝐴 < 𝐵)) → (𝐴 / 𝐵) ∈ ℝ)
54recnd 11236 . . . . . . . 8 (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴𝐴 < 𝐵)) → (𝐴 / 𝐵) ∈ ℂ)
6 addlid 11392 . . . . . . . . 9 ((𝐴 / 𝐵) ∈ ℂ → (0 + (𝐴 / 𝐵)) = (𝐴 / 𝐵))
76fveq2d 6885 . . . . . . . 8 ((𝐴 / 𝐵) ∈ ℂ → (⌊‘(0 + (𝐴 / 𝐵))) = (⌊‘(𝐴 / 𝐵)))
85, 7syl 18 . . . . . . 7 (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴𝐴 < 𝐵)) → (⌊‘(0 + (𝐴 / 𝐵))) = (⌊‘(𝐴 / 𝐵)))
9 rpregt0 13030 . . . . . . . . . . 11 (𝐵 ∈ ℝ+ → (𝐵 ∈ ℝ ∧ 0 < 𝐵))
10 divge0 12083 . . . . . . . . . . 11 (((𝐴 ∈ ℝ ∧ 0 ≤ 𝐴) ∧ (𝐵 ∈ ℝ ∧ 0 < 𝐵)) → 0 ≤ (𝐴 / 𝐵))
119, 10sylan2 604 . . . . . . . . . 10 (((𝐴 ∈ ℝ ∧ 0 ≤ 𝐴) ∧ 𝐵 ∈ ℝ+) → 0 ≤ (𝐴 / 𝐵))
1211an32s 664 . . . . . . . . 9 (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ 0 ≤ 𝐴) → 0 ≤ (𝐴 / 𝐵))
1312adantrr 729 . . . . . . . 8 (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴𝐴 < 𝐵)) → 0 ≤ (𝐴 / 𝐵))
14 simpr 489 . . . . . . . . . . 11 ((𝐵 ∈ ℝ+𝐴 < 𝐵) → 𝐴 < 𝐵)
15 rpcn 13026 . . . . . . . . . . . . 13 (𝐵 ∈ ℝ+𝐵 ∈ ℂ)
1615mulridd 11225 . . . . . . . . . . . 12 (𝐵 ∈ ℝ+ → (𝐵 · 1) = 𝐵)
1716adantr 485 . . . . . . . . . . 11 ((𝐵 ∈ ℝ+𝐴 < 𝐵) → (𝐵 · 1) = 𝐵)
1814, 17breqtrrd 5138 . . . . . . . . . 10 ((𝐵 ∈ ℝ+𝐴 < 𝐵) → 𝐴 < (𝐵 · 1))
1918ad2ant2l 758 . . . . . . . . 9 (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴𝐴 < 𝐵)) → 𝐴 < (𝐵 · 1))
20 simpll 778 . . . . . . . . . 10 (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴𝐴 < 𝐵)) → 𝐴 ∈ ℝ)
219ad2antlr 739 . . . . . . . . . 10 (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴𝐴 < 𝐵)) → (𝐵 ∈ ℝ ∧ 0 < 𝐵))
22 1re 11207 . . . . . . . . . . 11 1 ∈ ℝ
23 ltdivmul 12089 . . . . . . . . . . 11 ((𝐴 ∈ ℝ ∧ 1 ∈ ℝ ∧ (𝐵 ∈ ℝ ∧ 0 < 𝐵)) → ((𝐴 / 𝐵) < 1 ↔ 𝐴 < (𝐵 · 1)))
2422, 23mp3an2 1476 . . . . . . . . . 10 ((𝐴 ∈ ℝ ∧ (𝐵 ∈ ℝ ∧ 0 < 𝐵)) → ((𝐴 / 𝐵) < 1 ↔ 𝐴 < (𝐵 · 1)))
2520, 21, 24syl2anc 595 . . . . . . . . 9 (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴𝐴 < 𝐵)) → ((𝐴 / 𝐵) < 1 ↔ 𝐴 < (𝐵 · 1)))
2619, 25mpbird 260 . . . . . . . 8 (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴𝐴 < 𝐵)) → (𝐴 / 𝐵) < 1)
27 0z 12601 . . . . . . . . 9 0 ∈ ℤ
28 flbi2 13849 . . . . . . . . 9 ((0 ∈ ℤ ∧ (𝐴 / 𝐵) ∈ ℝ) → ((⌊‘(0 + (𝐴 / 𝐵))) = 0 ↔ (0 ≤ (𝐴 / 𝐵) ∧ (𝐴 / 𝐵) < 1)))
2927, 4, 28sylancr 598 . . . . . . . 8 (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴𝐴 < 𝐵)) → ((⌊‘(0 + (𝐴 / 𝐵))) = 0 ↔ (0 ≤ (𝐴 / 𝐵) ∧ (𝐴 / 𝐵) < 1)))
3013, 26, 29mpbir2and 725 . . . . . . 7 (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴𝐴 < 𝐵)) → (⌊‘(0 + (𝐴 / 𝐵))) = 0)
318, 30eqtr3d 2798 . . . . . 6 (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴𝐴 < 𝐵)) → (⌊‘(𝐴 / 𝐵)) = 0)
3231oveq2d 7426 . . . . 5 (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴𝐴 < 𝐵)) → (𝐵 · (⌊‘(𝐴 / 𝐵))) = (𝐵 · 0))
3315mul01d 11408 . . . . . 6 (𝐵 ∈ ℝ+ → (𝐵 · 0) = 0)
3433ad2antlr 739 . . . . 5 (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴𝐴 < 𝐵)) → (𝐵 · 0) = 0)
3532, 34eqtrd 2796 . . . 4 (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴𝐴 < 𝐵)) → (𝐵 · (⌊‘(𝐴 / 𝐵))) = 0)
3635oveq2d 7426 . . 3 (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴𝐴 < 𝐵)) → (𝐴 − (𝐵 · (⌊‘(𝐴 / 𝐵)))) = (𝐴 − 0))
37 recn 11189 . . . . 5 (𝐴 ∈ ℝ → 𝐴 ∈ ℂ)
3837subid1d 11557 . . . 4 (𝐴 ∈ ℝ → (𝐴 − 0) = 𝐴)
3938ad2antrr 738 . . 3 (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴𝐴 < 𝐵)) → (𝐴 − 0) = 𝐴)
4036, 39eqtrd 2796 . 2 (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴𝐴 < 𝐵)) → (𝐴 − (𝐵 · (⌊‘(𝐴 / 𝐵)))) = 𝐴)
412, 40eqtrd 2796 1 (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴𝐴 < 𝐵)) → (𝐴 mod 𝐵) = 𝐴)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 209  wa 400   = wceq 1568  wcel 2141   class class class wbr 5108  cfv 6536  (class class class)co 7410  cc 11097  cr 11098  0cc0 11099  1c1 11100   + caddc 11102   · cmul 11104   < clt 11242  cle 11243  cmin 11440   / cdiv 11870  cz 12590  +crp 13015  cfl 13822   mod cmo 13901
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1823  ax-4 1837  ax-5 1938  ax-6 1995  ax-7 2036  ax-8 2143  ax-9 2151  ax-10 2174  ax-11 2190  ax-12 2211  ax-ext 2733  ax-sep 5256  ax-nul 5268  ax-pow 5336  ax-pr 5404  ax-un 7732  ax-cnex 11155  ax-resscn 11156  ax-1cn 11157  ax-icn 11158  ax-addcl 11159  ax-addrcl 11160  ax-mulcl 11161  ax-mulrcl 11162  ax-mulcom 11163  ax-addass 11164  ax-mulass 11165  ax-distr 11166  ax-i2m1 11167  ax-1ne0 11168  ax-1rid 11169  ax-rnegex 11170  ax-rrecex 11171  ax-cnre 11172  ax-pre-lttri 11173  ax-pre-lttrn 11174  ax-pre-ltadd 11175  ax-pre-mulgt0 11176  ax-pre-sup 11177
This theorem depends on definitions:  df-bi 210  df-an 401  df-or 861  df-3or 1102  df-3an 1103  df-tru 1571  df-fal 1581  df-ex 1808  df-nf 1812  df-sb 2095  df-mo 2565  df-eu 2595  df-clab 2740  df-cleq 2753  df-clel 2836  df-nfc 2910  df-ne 2957  df-nel 3063  df-ral 3078  df-rex 3088  df-rmo 3367  df-reu 3368  df-rab 3415  df-v 3455  df-sbc 3744  df-csb 3853  df-dif 3907  df-un 3909  df-in 3911  df-ss 3921  df-pss 3924  df-nul 4286  df-if 4487  df-pw 4563  df-sn 4589  df-pr 4591  df-op 4595  df-uni 4872  df-iun 4957  df-br 5109  df-opab 5173  df-mpt 5192  df-tr 5218  df-id 5556  df-eprel 5561  df-po 5569  df-so 5570  df-fr 5614  df-we 5616  df-xp 5667  df-rel 5668  df-cnv 5669  df-co 5670  df-dm 5671  df-rn 5672  df-res 5673  df-ima 5674  df-pred 6302  df-ord 6363  df-on 6364  df-lim 6365  df-suc 6366  df-iota 6492  df-fun 6538  df-fn 6539  df-f 6540  df-f1 6541  df-fo 6542  df-f1o 6543  df-fv 6544  df-riota 7367  df-ov 7413  df-oprab 7414  df-mpo 7415  df-om 7862  df-2nd 7986  df-frecs 8277  df-wrecs 8308  df-recs 8357  df-rdg 8396  df-er 8693  df-en 8943  df-dom 8944  df-sdom 8945  df-sup 9401  df-inf 9402  df-pnf 11244  df-mnf 11245  df-xr 11246  df-ltxr 11247  df-le 11248  df-sub 11442  df-neg 11443  df-div 11871  df-nn 12233  df-n0 12504  df-z 12591  df-uz 12862  df-rp 13016  df-fl 13824  df-mod 13902
This theorem is referenced by:  modid2  13930  0mod  13934  1mod  13935  modabs  13936  muladdmodid  13945  m1modnnsub1  13952  modltm1p1mod  13958  2submod  13967  modifeq2int  13968  modaddmodlo  13970  modsubdir  13975  modsumfzodifsn  13979  digit1  14272  cshwidxm1  14843  bitsinv1  16499  sadaddlem  16523  sadasslem  16527  sadeq  16529  crth  16836  eulerthlem2  16840  prmdiveq  16844  modprm0  16864  4sqlem12  17015  dfod2  19633  znf1o  21680  wilthlem1  27208  ppiub  27344  lgslem1  27437  lgsdir2lem1  27465  lgsdirprm  27471  lgsqrlem2  27487  lgseisenlem1  27515  lgseisenlem2  27516  lgseisen  27519  m1lgs  27528  2lgslem1a1  27529  2lgslem4  27546  2sqlem11  27569  2sqreultlem  27587  2sqreunnltlem  27590  cshw1s2  33246  sqwvfoura  46890  sqwvfourb  46891  fourierswlem  46892  fouriersw  46893  addmodne  48032  submodlt  48038  m1modmmod  48046  2exp340mod341  48443  8exp8mod9  48446  fpprel2  48451  nfermltl8rev  48452  gpgedgvtx0  48771  gpgedgvtx1  48772  pgnbgreunbgrlem2lem1  48824  pgnbgreunbgrlem2lem2  48825  pgnbgreunbgrlem2lem3  48826  nnpw2pmod  49308
  Copyright terms: Public domain W3C validator