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

Theorem modid 14004
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 13979 . . 3 ((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) → (𝐴 mod 𝐵) = (𝐴 − (𝐵 · (⌊‘(𝐴 / 𝐵)))))
21adantr 486 . 2 (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 mod 𝐵) = (𝐴 − (𝐵 · (⌊‘(𝐴 / 𝐵)))))
3 rerpdivcl 13121 . . . . . . . . . 10 ((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) → (𝐴 / 𝐵) ∈ ℝ)
43adantr 486 . . . . . . . . 9 (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 / 𝐵) ∈ ℝ)
54recnd 11308 . . . . . . . 8 (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 / 𝐵) ∈ ℂ)
6 addlid 11464 . . . . . . . . 9 ((𝐴 / 𝐵) ∈ ℂ → (0 + (𝐴 / 𝐵)) = (𝐴 / 𝐵))
76fveq2d 6877 . . . . . . . 8 ((𝐴 / 𝐵) ∈ ℂ → (⌊‘(0 + (𝐴 / 𝐵))) = (⌊‘(𝐴 / 𝐵)))
85, 7syl 18 . . . . . . 7 (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (⌊‘(0 + (𝐴 / 𝐵))) = (⌊‘(𝐴 / 𝐵)))
9 rpregt0 13104 . . . . . . . . . . 11 (𝐵 ∈ ℝ+ → (𝐵 ∈ ℝ ∧ 0 < 𝐵))
10 divge0 12155 . . . . . . . . . . 11 (((𝐴 ∈ ℝ ∧ 0 ≤ 𝐴) ∧ (𝐵 ∈ ℝ ∧ 0 < 𝐵)) → 0 ≤ (𝐴 / 𝐵))
119, 10sylan2 605 . . . . . . . . . 10 (((𝐴 ∈ ℝ ∧ 0 ≤ 𝐴) ∧ 𝐵 ∈ ℝ+) → 0 ≤ (𝐴 / 𝐵))
1211an32s 665 . . . . . . . . 9 (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ 0 ≤ 𝐴) → 0 ≤ (𝐴 / 𝐵))
1312adantrr 730 . . . . . . . 8 (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → 0 ≤ (𝐴 / 𝐵))
14 simpr 490 . . . . . . . . . . 11 ((𝐵 ∈ ℝ+ ∧ 𝐴 < 𝐵) → 𝐴 < 𝐵)
15 rpcn 13100 . . . . . . . . . . . . 13 (𝐵 ∈ ℝ+ → 𝐵 ∈ ℂ)
1615mulridd 11297 . . . . . . . . . . . 12 (𝐵 ∈ ℝ+ → (𝐵 · 1) = 𝐵)
1716adantr 486 . . . . . . . . . . 11 ((𝐵 ∈ ℝ+ ∧ 𝐴 < 𝐵) → (𝐵 · 1) = 𝐵)
1814, 17breqtrrd 5132 . . . . . . . . . 10 ((𝐵 ∈ ℝ+ ∧ 𝐴 < 𝐵) → 𝐴 < (𝐵 · 1))
1918ad2ant2l 759 . . . . . . . . 9 (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → 𝐴 < (𝐵 · 1))
20 simpll 779 . . . . . . . . . 10 (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → 𝐴 ∈ ℝ)
219ad2antlr 740 . . . . . . . . . 10 (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐵 ∈ ℝ ∧ 0 < 𝐵))
22 1re 11279 . . . . . . . . . . 11 1 ∈ ℝ
23 ltdivmul 12161 . . . . . . . . . . 11 ((𝐴 ∈ ℝ ∧ 1 ∈ ℝ ∧ (𝐵 ∈ ℝ ∧ 0 < 𝐵)) → ((𝐴 / 𝐵) < 1 ↔ 𝐴 < (𝐵 · 1)))
2422, 23mp3an2 1478 . . . . . . . . . 10 ((𝐴 ∈ ℝ ∧ (𝐵 ∈ ℝ ∧ 0 < 𝐵)) → ((𝐴 / 𝐵) < 1 ↔ 𝐴 < (𝐵 · 1)))
2520, 21, 24syl2anc 596 . . . . . . . . 9 (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → ((𝐴 / 𝐵) < 1 ↔ 𝐴 < (𝐵 · 1)))
2619, 25mpbird 260 . . . . . . . 8 (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 / 𝐵) < 1)
27 0z 12673 . . . . . . . . 9 0 ∈ ℤ
28 flbi2 13925 . . . . . . . . 9 ((0 ∈ ℤ ∧ (𝐴 / 𝐵) ∈ ℝ) → ((⌊‘(0 + (𝐴 / 𝐵))) = 0 ↔ (0 ≤ (𝐴 / 𝐵) ∧ (𝐴 / 𝐵) < 1)))
2927, 4, 28sylancr 599 . . . . . . . 8 (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → ((⌊‘(0 + (𝐴 / 𝐵))) = 0 ↔ (0 ≤ (𝐴 / 𝐵) ∧ (𝐴 / 𝐵) < 1)))
3013, 26, 29mpbir2and 726 . . . . . . 7 (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (⌊‘(0 + (𝐴 / 𝐵))) = 0)
318, 30eqtr3d 2797 . . . . . 6 (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (⌊‘(𝐴 / 𝐵)) = 0)
3231oveq2d 7424 . . . . 5 (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐵 · (⌊‘(𝐴 / 𝐵))) = (𝐵 · 0))
3315mul01d 11480 . . . . . 6 (𝐵 ∈ ℝ+ → (𝐵 · 0) = 0)
3433ad2antlr 740 . . . . 5 (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐵 · 0) = 0)
3532, 34eqtrd 2795 . . . 4 (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐵 · (⌊‘(𝐴 / 𝐵))) = 0)
3635oveq2d 7424 . . 3 (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 − (𝐵 · (⌊‘(𝐴 / 𝐵)))) = (𝐴 − 0))
37 recn 11261 . . . . 5 (𝐴 ∈ ℝ → 𝐴 ∈ ℂ)
3837subid1d 11629 . . . 4 (𝐴 ∈ ℝ → (𝐴 − 0) = 𝐴)
3938ad2antrr 739 . . 3 (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 − 0) = 𝐴)
4036, 39eqtrd 2795 . 2 (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 − (𝐵 · (⌊‘(𝐴 / 𝐵)))) = 𝐴)
412, 40eqtrd 2795 1 (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) ∧ (0 ≤ 𝐴 ∧ 𝐴 < 𝐵)) → (𝐴 mod 𝐵) = 𝐴)
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   → wi 4   ↔ wb 209   ∧ wa 401   = wceq 1570   ∈ wcel 2145   class class class wbr 5102  ‘cfv 6527  (class class class)co 7408  ℂcc 11169  ℝcr 11170  0cc0 11171  1c1 11172   + caddc 11174   · cmul 11176   < clt 11314   ≤ cle 11315   − cmin 11512   / cdiv 11942  ℤcz 12662  ℝ+crp 13089  ⌊cfl 13898   mod cmo 13977
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 1943  ax-6 2000  ax-7 2041  ax-8 2147  ax-9 2155  ax-10 2178  ax-11 2194  ax-12 2213  ax-ext 2732  ax-sep 5248  ax-nul 5259  ax-pow 5326  ax-pr 5390  ax-un 7734  ax-cnex 11227  ax-resscn 11228  ax-1cn 11229  ax-icn 11230  ax-addcl 11231  ax-addrcl 11232  ax-mulcl 11233  ax-mulrcl 11234  ax-mulcom 11235  ax-addass 11236  ax-mulass 11237  ax-distr 11238  ax-i2m1 11239  ax-1ne0 11240  ax-1rid 11241  ax-rnegex 11242  ax-rrecex 11243  ax-cnre 11244  ax-pre-lttri 11245  ax-pre-lttrn 11246  ax-pre-ltadd 11247  ax-pre-mulgt0 11248  ax-pre-sup 11249
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 2100  df-mo 2564  df-eu 2594  df-clab 2739  df-cleq 2752  df-clel 2835  df-nfc 2909  df-ne 2956  df-nel 3062  df-ral 3077  df-rex 3087  df-rmo 3365  df-reu 3366  df-rab 3413  df-v 3452  df-sbc 3739  df-csb 3847  df-dif 3901  df-un 3903  df-in 3905  df-ss 3915  df-pss 3918  df-nul 4279  df-if 4482  df-pw 4558  df-sn 4584  df-pr 4586  df-op 4590  df-uni 4867  df-iun 4952  df-br 5103  df-opab 5167  df-mpt 5186  df-tr 5212  df-id 5542  df-eprel 5547  df-po 5555  df-so 5556  df-fr 5600  df-we 5602  df-xp 5653  df-rel 5654  df-cnv 5655  df-co 5656  df-dm 5657  df-rn 5658  df-res 5659  df-ima 5660  df-pred 6293  df-ord 6354  df-on 6355  df-lim 6356  df-suc 6357  df-iota 6483  df-fun 6529  df-fn 6530  df-f 6531  df-f1 6532  df-fo 6533  df-f1o 6534  df-fv 6535  df-riota 7365  df-ov 7411  df-oprab 7412  df-mpo 7413  df-om 7861  df-2nd 7985  df-frecs 8277  df-wrecs 8308  df-recs 8357  df-rdg 8396  df-er 8695  df-en 8952  df-dom 8953  df-sdom 8954  df-sup 9412  df-inf 9413  df-pnf 11316  df-mnf 11317  df-xr 11318  df-ltxr 11319  df-le 11320  df-sub 11514  df-neg 11515  df-div 11943  df-nn 12305  df-n0 12576  df-z 12663  df-uz 12935  df-rp 13090  df-fl 13900  df-mod 13978
This theorem is used by:  modid2  14006  0mod  14010  1mod  14011  modabs  14012  muladdmodid  14021  m1modnnsub1  14028  modltm1p1mod  14034  2submod  14043  modifeq2int  14044  modaddmodlo  14046  modsubdir  14051  modsumfzodifsn  14055  digit1  14348  cshwidxm1  14925  bitsinv1  16579  sadaddlem  16603  sadasslem  16607  sadeq  16609  crth  16916  eulerthlem2  16920  prmdiveq  16924  modprm0  16944  4sqlem12  17095  dfod2  19739  znf1o  21818  wilthlem1  27358  ppiub  27494  lgslem1  27587  lgsdir2lem1  27615  lgsdirprm  27621  lgsqrlem2  27637  lgseisenlem1  27665  lgseisenlem2  27666  lgseisen  27669  m1lgs  27678  2lgslem1a1  27679  2lgslem4  27696  2sqlem11  27719  2sqreultlem  27737  2sqreunnltlem  27740  cshw1s2  33454  sqwvfoura  47160  sqwvfourb  47161  fourierswlem  47162  fouriersw  47163  addmodne  48342  submodlt  48348  m1modmmod  48356  2exp340mod341  48753  8exp8mod9  48756  fpprel2  48761  nfermltl8rev  48762  gpgedgvtx0  49081  gpgedgvtx1  49082  pgnbgreunbgrlem2lem1  49134  pgnbgreunbgrlem2lem2  49135  pgnbgreunbgrlem2lem3  49136  nnpw2pmod  49617
  Copyright terms: Public domain W3C validator