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

Theorem moddi 13838
Description: Distribute multiplication over a modulo operation. (Contributed by NM, 11-Nov-2008.)
Assertion
Ref Expression
moddi ((𝐴 ∈ ℝ+𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → (𝐴 · (𝐵 mod 𝐶)) = ((𝐴 · 𝐵) mod (𝐴 · 𝐶)))

Proof of Theorem moddi
StepHypRef Expression
1 rpcn 12893 . . . . 5 (𝐴 ∈ ℝ+𝐴 ∈ ℂ)
213ad2ant1 1133 . . . 4 ((𝐴 ∈ ℝ+𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → 𝐴 ∈ ℂ)
3 recn 11088 . . . . 5 (𝐵 ∈ ℝ → 𝐵 ∈ ℂ)
433ad2ant2 1134 . . . 4 ((𝐴 ∈ ℝ+𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → 𝐵 ∈ ℂ)
5 rpre 12891 . . . . . . . 8 (𝐶 ∈ ℝ+𝐶 ∈ ℝ)
65adantl 481 . . . . . . 7 ((𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → 𝐶 ∈ ℝ)
7 refldivcl 13719 . . . . . . 7 ((𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → (⌊‘(𝐵 / 𝐶)) ∈ ℝ)
86, 7remulcld 11134 . . . . . 6 ((𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → (𝐶 · (⌊‘(𝐵 / 𝐶))) ∈ ℝ)
98recnd 11132 . . . . 5 ((𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → (𝐶 · (⌊‘(𝐵 / 𝐶))) ∈ ℂ)
1093adant1 1130 . . . 4 ((𝐴 ∈ ℝ+𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → (𝐶 · (⌊‘(𝐵 / 𝐶))) ∈ ℂ)
112, 4, 10subdid 11565 . . 3 ((𝐴 ∈ ℝ+𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → (𝐴 · (𝐵 − (𝐶 · (⌊‘(𝐵 / 𝐶))))) = ((𝐴 · 𝐵) − (𝐴 · (𝐶 · (⌊‘(𝐵 / 𝐶))))))
12 rpcnne0 12901 . . . . . . . . 9 (𝐶 ∈ ℝ+ → (𝐶 ∈ ℂ ∧ 𝐶 ≠ 0))
13123ad2ant3 1135 . . . . . . . 8 ((𝐴 ∈ ℝ+𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → (𝐶 ∈ ℂ ∧ 𝐶 ≠ 0))
14 rpcnne0 12901 . . . . . . . . 9 (𝐴 ∈ ℝ+ → (𝐴 ∈ ℂ ∧ 𝐴 ≠ 0))
15143ad2ant1 1133 . . . . . . . 8 ((𝐴 ∈ ℝ+𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → (𝐴 ∈ ℂ ∧ 𝐴 ≠ 0))
16 divcan5 11815 . . . . . . . 8 ((𝐵 ∈ ℂ ∧ (𝐶 ∈ ℂ ∧ 𝐶 ≠ 0) ∧ (𝐴 ∈ ℂ ∧ 𝐴 ≠ 0)) → ((𝐴 · 𝐵) / (𝐴 · 𝐶)) = (𝐵 / 𝐶))
174, 13, 15, 16syl3anc 1373 . . . . . . 7 ((𝐴 ∈ ℝ+𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → ((𝐴 · 𝐵) / (𝐴 · 𝐶)) = (𝐵 / 𝐶))
1817fveq2d 6821 . . . . . 6 ((𝐴 ∈ ℝ+𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → (⌊‘((𝐴 · 𝐵) / (𝐴 · 𝐶))) = (⌊‘(𝐵 / 𝐶)))
1918oveq2d 7357 . . . . 5 ((𝐴 ∈ ℝ+𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → ((𝐴 · 𝐶) · (⌊‘((𝐴 · 𝐵) / (𝐴 · 𝐶)))) = ((𝐴 · 𝐶) · (⌊‘(𝐵 / 𝐶))))
20 rpcn 12893 . . . . . . 7 (𝐶 ∈ ℝ+𝐶 ∈ ℂ)
21203ad2ant3 1135 . . . . . 6 ((𝐴 ∈ ℝ+𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → 𝐶 ∈ ℂ)
22 rerpdivcl 12914 . . . . . . . 8 ((𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → (𝐵 / 𝐶) ∈ ℝ)
23 reflcl 13692 . . . . . . . . 9 ((𝐵 / 𝐶) ∈ ℝ → (⌊‘(𝐵 / 𝐶)) ∈ ℝ)
2423recnd 11132 . . . . . . . 8 ((𝐵 / 𝐶) ∈ ℝ → (⌊‘(𝐵 / 𝐶)) ∈ ℂ)
2522, 24syl 17 . . . . . . 7 ((𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → (⌊‘(𝐵 / 𝐶)) ∈ ℂ)
26253adant1 1130 . . . . . 6 ((𝐴 ∈ ℝ+𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → (⌊‘(𝐵 / 𝐶)) ∈ ℂ)
272, 21, 26mulassd 11127 . . . . 5 ((𝐴 ∈ ℝ+𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → ((𝐴 · 𝐶) · (⌊‘(𝐵 / 𝐶))) = (𝐴 · (𝐶 · (⌊‘(𝐵 / 𝐶)))))
2819, 27eqtr2d 2766 . . . 4 ((𝐴 ∈ ℝ+𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → (𝐴 · (𝐶 · (⌊‘(𝐵 / 𝐶)))) = ((𝐴 · 𝐶) · (⌊‘((𝐴 · 𝐵) / (𝐴 · 𝐶)))))
2928oveq2d 7357 . . 3 ((𝐴 ∈ ℝ+𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → ((𝐴 · 𝐵) − (𝐴 · (𝐶 · (⌊‘(𝐵 / 𝐶))))) = ((𝐴 · 𝐵) − ((𝐴 · 𝐶) · (⌊‘((𝐴 · 𝐵) / (𝐴 · 𝐶))))))
3011, 29eqtrd 2765 . 2 ((𝐴 ∈ ℝ+𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → (𝐴 · (𝐵 − (𝐶 · (⌊‘(𝐵 / 𝐶))))) = ((𝐴 · 𝐵) − ((𝐴 · 𝐶) · (⌊‘((𝐴 · 𝐵) / (𝐴 · 𝐶))))))
31 modval 13767 . . . 4 ((𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → (𝐵 mod 𝐶) = (𝐵 − (𝐶 · (⌊‘(𝐵 / 𝐶)))))
32313adant1 1130 . . 3 ((𝐴 ∈ ℝ+𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → (𝐵 mod 𝐶) = (𝐵 − (𝐶 · (⌊‘(𝐵 / 𝐶)))))
3332oveq2d 7357 . 2 ((𝐴 ∈ ℝ+𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → (𝐴 · (𝐵 mod 𝐶)) = (𝐴 · (𝐵 − (𝐶 · (⌊‘(𝐵 / 𝐶))))))
34 rpre 12891 . . . . 5 (𝐴 ∈ ℝ+𝐴 ∈ ℝ)
35 remulcl 11083 . . . . 5 ((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ) → (𝐴 · 𝐵) ∈ ℝ)
3634, 35sylan 580 . . . 4 ((𝐴 ∈ ℝ+𝐵 ∈ ℝ) → (𝐴 · 𝐵) ∈ ℝ)
37363adant3 1132 . . 3 ((𝐴 ∈ ℝ+𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → (𝐴 · 𝐵) ∈ ℝ)
38 rpmulcl 12907 . . 3 ((𝐴 ∈ ℝ+𝐶 ∈ ℝ+) → (𝐴 · 𝐶) ∈ ℝ+)
39 modval 13767 . . 3 (((𝐴 · 𝐵) ∈ ℝ ∧ (𝐴 · 𝐶) ∈ ℝ+) → ((𝐴 · 𝐵) mod (𝐴 · 𝐶)) = ((𝐴 · 𝐵) − ((𝐴 · 𝐶) · (⌊‘((𝐴 · 𝐵) / (𝐴 · 𝐶))))))
4037, 38, 393imp3i2an 1346 . 2 ((𝐴 ∈ ℝ+𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → ((𝐴 · 𝐵) mod (𝐴 · 𝐶)) = ((𝐴 · 𝐵) − ((𝐴 · 𝐶) · (⌊‘((𝐴 · 𝐵) / (𝐴 · 𝐶))))))
4130, 33, 403eqtr4d 2775 1 ((𝐴 ∈ ℝ+𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → (𝐴 · (𝐵 mod 𝐶)) = ((𝐴 · 𝐵) mod (𝐴 · 𝐶)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 395  w3a 1086   = wceq 1541  wcel 2110  wne 2926  cfv 6477  (class class class)co 7341  cc 10996  cr 10997  0cc0 10998   · cmul 11003  cmin 11336   / cdiv 11766  +crp 12882  cfl 13686   mod cmo 13765
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 1911  ax-6 1968  ax-7 2009  ax-8 2112  ax-9 2120  ax-10 2143  ax-11 2159  ax-12 2179  ax-ext 2702  ax-sep 5232  ax-nul 5242  ax-pow 5301  ax-pr 5368  ax-un 7663  ax-cnex 11054  ax-resscn 11055  ax-1cn 11056  ax-icn 11057  ax-addcl 11058  ax-addrcl 11059  ax-mulcl 11060  ax-mulrcl 11061  ax-mulcom 11062  ax-addass 11063  ax-mulass 11064  ax-distr 11065  ax-i2m1 11066  ax-1ne0 11067  ax-1rid 11068  ax-rnegex 11069  ax-rrecex 11070  ax-cnre 11071  ax-pre-lttri 11072  ax-pre-lttrn 11073  ax-pre-ltadd 11074  ax-pre-mulgt0 11075  ax-pre-sup 11076
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3or 1087  df-3an 1088  df-tru 1544  df-fal 1554  df-ex 1781  df-nf 1785  df-sb 2067  df-mo 2534  df-eu 2563  df-clab 2709  df-cleq 2722  df-clel 2804  df-nfc 2879  df-ne 2927  df-nel 3031  df-ral 3046  df-rex 3055  df-rmo 3344  df-reu 3345  df-rab 3394  df-v 3436  df-sbc 3740  df-csb 3849  df-dif 3903  df-un 3905  df-in 3907  df-ss 3917  df-pss 3920  df-nul 4282  df-if 4474  df-pw 4550  df-sn 4575  df-pr 4577  df-op 4581  df-uni 4858  df-iun 4941  df-br 5090  df-opab 5152  df-mpt 5171  df-tr 5197  df-id 5509  df-eprel 5514  df-po 5522  df-so 5523  df-fr 5567  df-we 5569  df-xp 5620  df-rel 5621  df-cnv 5622  df-co 5623  df-dm 5624  df-rn 5625  df-res 5626  df-ima 5627  df-pred 6244  df-ord 6305  df-on 6306  df-lim 6307  df-suc 6308  df-iota 6433  df-fun 6479  df-fn 6480  df-f 6481  df-f1 6482  df-fo 6483  df-f1o 6484  df-fv 6485  df-riota 7298  df-ov 7344  df-oprab 7345  df-mpo 7346  df-om 7792  df-2nd 7917  df-frecs 8206  df-wrecs 8237  df-recs 8286  df-rdg 8324  df-er 8617  df-en 8865  df-dom 8866  df-sdom 8867  df-sup 9321  df-inf 9322  df-pnf 11140  df-mnf 11141  df-xr 11142  df-ltxr 11143  df-le 11144  df-sub 11338  df-neg 11339  df-div 11767  df-nn 12118  df-n0 12374  df-z 12461  df-uz 12725  df-rp 12883  df-fl 13688  df-mod 13766
This theorem is referenced by:  dirkertrigeq  46118
  Copyright terms: Public domain W3C validator