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

Theorem moddi 13119
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 12213 . . . . 5 (𝐴 ∈ ℝ+𝐴 ∈ ℂ)
213ad2ant1 1113 . . . 4 ((𝐴 ∈ ℝ+𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → 𝐴 ∈ ℂ)
3 recn 10421 . . . . 5 (𝐵 ∈ ℝ → 𝐵 ∈ ℂ)
433ad2ant2 1114 . . . 4 ((𝐴 ∈ ℝ+𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → 𝐵 ∈ ℂ)
5 rpre 12209 . . . . . . . 8 (𝐶 ∈ ℝ+𝐶 ∈ ℝ)
65adantl 474 . . . . . . 7 ((𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → 𝐶 ∈ ℝ)
7 refldivcl 13005 . . . . . . 7 ((𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → (⌊‘(𝐵 / 𝐶)) ∈ ℝ)
86, 7remulcld 10466 . . . . . 6 ((𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → (𝐶 · (⌊‘(𝐵 / 𝐶))) ∈ ℝ)
98recnd 10464 . . . . 5 ((𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → (𝐶 · (⌊‘(𝐵 / 𝐶))) ∈ ℂ)
1093adant1 1110 . . . 4 ((𝐴 ∈ ℝ+𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → (𝐶 · (⌊‘(𝐵 / 𝐶))) ∈ ℂ)
112, 4, 10subdid 10893 . . 3 ((𝐴 ∈ ℝ+𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → (𝐴 · (𝐵 − (𝐶 · (⌊‘(𝐵 / 𝐶))))) = ((𝐴 · 𝐵) − (𝐴 · (𝐶 · (⌊‘(𝐵 / 𝐶))))))
12 rpcnne0 12221 . . . . . . . . 9 (𝐶 ∈ ℝ+ → (𝐶 ∈ ℂ ∧ 𝐶 ≠ 0))
13123ad2ant3 1115 . . . . . . . 8 ((𝐴 ∈ ℝ+𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → (𝐶 ∈ ℂ ∧ 𝐶 ≠ 0))
14 rpcnne0 12221 . . . . . . . . 9 (𝐴 ∈ ℝ+ → (𝐴 ∈ ℂ ∧ 𝐴 ≠ 0))
15143ad2ant1 1113 . . . . . . . 8 ((𝐴 ∈ ℝ+𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → (𝐴 ∈ ℂ ∧ 𝐴 ≠ 0))
16 divcan5 11139 . . . . . . . 8 ((𝐵 ∈ ℂ ∧ (𝐶 ∈ ℂ ∧ 𝐶 ≠ 0) ∧ (𝐴 ∈ ℂ ∧ 𝐴 ≠ 0)) → ((𝐴 · 𝐵) / (𝐴 · 𝐶)) = (𝐵 / 𝐶))
174, 13, 15, 16syl3anc 1351 . . . . . . 7 ((𝐴 ∈ ℝ+𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → ((𝐴 · 𝐵) / (𝐴 · 𝐶)) = (𝐵 / 𝐶))
1817fveq2d 6501 . . . . . 6 ((𝐴 ∈ ℝ+𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → (⌊‘((𝐴 · 𝐵) / (𝐴 · 𝐶))) = (⌊‘(𝐵 / 𝐶)))
1918oveq2d 6990 . . . . 5 ((𝐴 ∈ ℝ+𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → ((𝐴 · 𝐶) · (⌊‘((𝐴 · 𝐵) / (𝐴 · 𝐶)))) = ((𝐴 · 𝐶) · (⌊‘(𝐵 / 𝐶))))
20 rpcn 12213 . . . . . . 7 (𝐶 ∈ ℝ+𝐶 ∈ ℂ)
21203ad2ant3 1115 . . . . . 6 ((𝐴 ∈ ℝ+𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → 𝐶 ∈ ℂ)
22 rerpdivcl 12233 . . . . . . . 8 ((𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → (𝐵 / 𝐶) ∈ ℝ)
23 reflcl 12978 . . . . . . . . 9 ((𝐵 / 𝐶) ∈ ℝ → (⌊‘(𝐵 / 𝐶)) ∈ ℝ)
2423recnd 10464 . . . . . . . 8 ((𝐵 / 𝐶) ∈ ℝ → (⌊‘(𝐵 / 𝐶)) ∈ ℂ)
2522, 24syl 17 . . . . . . 7 ((𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → (⌊‘(𝐵 / 𝐶)) ∈ ℂ)
26253adant1 1110 . . . . . 6 ((𝐴 ∈ ℝ+𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → (⌊‘(𝐵 / 𝐶)) ∈ ℂ)
272, 21, 26mulassd 10459 . . . . 5 ((𝐴 ∈ ℝ+𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → ((𝐴 · 𝐶) · (⌊‘(𝐵 / 𝐶))) = (𝐴 · (𝐶 · (⌊‘(𝐵 / 𝐶)))))
2819, 27eqtr2d 2812 . . . 4 ((𝐴 ∈ ℝ+𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → (𝐴 · (𝐶 · (⌊‘(𝐵 / 𝐶)))) = ((𝐴 · 𝐶) · (⌊‘((𝐴 · 𝐵) / (𝐴 · 𝐶)))))
2928oveq2d 6990 . . 3 ((𝐴 ∈ ℝ+𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → ((𝐴 · 𝐵) − (𝐴 · (𝐶 · (⌊‘(𝐵 / 𝐶))))) = ((𝐴 · 𝐵) − ((𝐴 · 𝐶) · (⌊‘((𝐴 · 𝐵) / (𝐴 · 𝐶))))))
3011, 29eqtrd 2811 . 2 ((𝐴 ∈ ℝ+𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → (𝐴 · (𝐵 − (𝐶 · (⌊‘(𝐵 / 𝐶))))) = ((𝐴 · 𝐵) − ((𝐴 · 𝐶) · (⌊‘((𝐴 · 𝐵) / (𝐴 · 𝐶))))))
31 modval 13051 . . . 4 ((𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → (𝐵 mod 𝐶) = (𝐵 − (𝐶 · (⌊‘(𝐵 / 𝐶)))))
32313adant1 1110 . . 3 ((𝐴 ∈ ℝ+𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → (𝐵 mod 𝐶) = (𝐵 − (𝐶 · (⌊‘(𝐵 / 𝐶)))))
3332oveq2d 6990 . 2 ((𝐴 ∈ ℝ+𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → (𝐴 · (𝐵 mod 𝐶)) = (𝐴 · (𝐵 − (𝐶 · (⌊‘(𝐵 / 𝐶))))))
34 rpre 12209 . . . . 5 (𝐴 ∈ ℝ+𝐴 ∈ ℝ)
35 remulcl 10416 . . . . 5 ((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ) → (𝐴 · 𝐵) ∈ ℝ)
3634, 35sylan 572 . . . 4 ((𝐴 ∈ ℝ+𝐵 ∈ ℝ) → (𝐴 · 𝐵) ∈ ℝ)
37363adant3 1112 . . 3 ((𝐴 ∈ ℝ+𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → (𝐴 · 𝐵) ∈ ℝ)
38 rpmulcl 12226 . . 3 ((𝐴 ∈ ℝ+𝐶 ∈ ℝ+) → (𝐴 · 𝐶) ∈ ℝ+)
39 modval 13051 . . 3 (((𝐴 · 𝐵) ∈ ℝ ∧ (𝐴 · 𝐶) ∈ ℝ+) → ((𝐴 · 𝐵) mod (𝐴 · 𝐶)) = ((𝐴 · 𝐵) − ((𝐴 · 𝐶) · (⌊‘((𝐴 · 𝐵) / (𝐴 · 𝐶))))))
4037, 38, 393imp3i2an 1325 . 2 ((𝐴 ∈ ℝ+𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → ((𝐴 · 𝐵) mod (𝐴 · 𝐶)) = ((𝐴 · 𝐵) − ((𝐴 · 𝐶) · (⌊‘((𝐴 · 𝐵) / (𝐴 · 𝐶))))))
4130, 33, 403eqtr4d 2821 1 ((𝐴 ∈ ℝ+𝐵 ∈ ℝ ∧ 𝐶 ∈ ℝ+) → (𝐴 · (𝐵 mod 𝐶)) = ((𝐴 · 𝐵) mod (𝐴 · 𝐶)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 387  w3a 1068   = wceq 1507  wcel 2048  wne 2964  cfv 6186  (class class class)co 6974  cc 10329  cr 10330  0cc0 10331   · cmul 10336  cmin 10666   / cdiv 11094  +crp 12201  cfl 12972   mod cmo 13049
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1758  ax-4 1772  ax-5 1869  ax-6 1928  ax-7 1964  ax-8 2050  ax-9 2057  ax-10 2077  ax-11 2091  ax-12 2104  ax-13 2299  ax-ext 2747  ax-sep 5058  ax-nul 5065  ax-pow 5117  ax-pr 5184  ax-un 7277  ax-cnex 10387  ax-resscn 10388  ax-1cn 10389  ax-icn 10390  ax-addcl 10391  ax-addrcl 10392  ax-mulcl 10393  ax-mulrcl 10394  ax-mulcom 10395  ax-addass 10396  ax-mulass 10397  ax-distr 10398  ax-i2m1 10399  ax-1ne0 10400  ax-1rid 10401  ax-rnegex 10402  ax-rrecex 10403  ax-cnre 10404  ax-pre-lttri 10405  ax-pre-lttrn 10406  ax-pre-ltadd 10407  ax-pre-mulgt0 10408  ax-pre-sup 10409
This theorem depends on definitions:  df-bi 199  df-an 388  df-or 834  df-3or 1069  df-3an 1070  df-tru 1510  df-ex 1743  df-nf 1747  df-sb 2014  df-mo 2544  df-eu 2580  df-clab 2756  df-cleq 2768  df-clel 2843  df-nfc 2915  df-ne 2965  df-nel 3071  df-ral 3090  df-rex 3091  df-reu 3092  df-rmo 3093  df-rab 3094  df-v 3414  df-sbc 3681  df-csb 3786  df-dif 3831  df-un 3833  df-in 3835  df-ss 3842  df-pss 3844  df-nul 4178  df-if 4349  df-pw 4422  df-sn 4440  df-pr 4442  df-tp 4444  df-op 4446  df-uni 4711  df-iun 4792  df-br 4928  df-opab 4990  df-mpt 5007  df-tr 5029  df-id 5309  df-eprel 5314  df-po 5323  df-so 5324  df-fr 5363  df-we 5365  df-xp 5410  df-rel 5411  df-cnv 5412  df-co 5413  df-dm 5414  df-rn 5415  df-res 5416  df-ima 5417  df-pred 5984  df-ord 6030  df-on 6031  df-lim 6032  df-suc 6033  df-iota 6150  df-fun 6188  df-fn 6189  df-f 6190  df-f1 6191  df-fo 6192  df-f1o 6193  df-fv 6194  df-riota 6935  df-ov 6977  df-oprab 6978  df-mpo 6979  df-om 7395  df-wrecs 7747  df-recs 7809  df-rdg 7847  df-er 8085  df-en 8303  df-dom 8304  df-sdom 8305  df-sup 8697  df-inf 8698  df-pnf 10472  df-mnf 10473  df-xr 10474  df-ltxr 10475  df-le 10476  df-sub 10668  df-neg 10669  df-div 11095  df-nn 11436  df-n0 11705  df-z 11791  df-uz 12056  df-rp 12202  df-fl 12974  df-mod 13050
This theorem is referenced by:  dirkertrigeq  41796
  Copyright terms: Public domain W3C validator