ILE Home Intuitionistic Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >  modqmuladd GIF version

Theorem modqmuladd 9368
Description: Decomposition of an integer into a multiple of a modulus and a remainder. (Contributed by Jim Kingdon, 23-Oct-2021.)
Hypotheses
Ref Expression
modqmuladd.a (𝜑𝐴 ∈ ℤ)
modqmuladd.bq (𝜑𝐵 ∈ ℚ)
modqmuladd.b (𝜑𝐵 ∈ (0[,)𝑀))
modqmuladd.m (𝜑𝑀 ∈ ℚ)
modqmuladd.mgt0 (𝜑 → 0 < 𝑀)
Assertion
Ref Expression
modqmuladd (𝜑 → ((𝐴 mod 𝑀) = 𝐵 ↔ ∃𝑘 ∈ ℤ 𝐴 = ((𝑘 · 𝑀) + 𝐵)))
Distinct variable groups:   𝐴,𝑘   𝐵,𝑘   𝑘,𝑀   𝜑,𝑘

Proof of Theorem modqmuladd
StepHypRef Expression
1 modqmuladd.a . . . . . . 7 (𝜑𝐴 ∈ ℤ)
2 zq 8711 . . . . . . 7 (𝐴 ∈ ℤ → 𝐴 ∈ ℚ)
31, 2syl 14 . . . . . 6 (𝜑𝐴 ∈ ℚ)
4 modqmuladd.m . . . . . 6 (𝜑𝑀 ∈ ℚ)
5 modqmuladd.mgt0 . . . . . . 7 (𝜑 → 0 < 𝑀)
65gt0ne0d 7613 . . . . . 6 (𝜑𝑀 ≠ 0)
7 qdivcl 8728 . . . . . 6 ((𝐴 ∈ ℚ ∧ 𝑀 ∈ ℚ ∧ 𝑀 ≠ 0) → (𝐴 / 𝑀) ∈ ℚ)
83, 4, 6, 7syl3anc 1169 . . . . 5 (𝜑 → (𝐴 / 𝑀) ∈ ℚ)
98flqcld 9279 . . . 4 (𝜑 → (⌊‘(𝐴 / 𝑀)) ∈ ℤ)
10 oveq1 5539 . . . . . . 7 (𝑘 = (⌊‘(𝐴 / 𝑀)) → (𝑘 · 𝑀) = ((⌊‘(𝐴 / 𝑀)) · 𝑀))
1110oveq1d 5547 . . . . . 6 (𝑘 = (⌊‘(𝐴 / 𝑀)) → ((𝑘 · 𝑀) + (𝐴 mod 𝑀)) = (((⌊‘(𝐴 / 𝑀)) · 𝑀) + (𝐴 mod 𝑀)))
1211eqeq2d 2092 . . . . 5 (𝑘 = (⌊‘(𝐴 / 𝑀)) → (𝐴 = ((𝑘 · 𝑀) + (𝐴 mod 𝑀)) ↔ 𝐴 = (((⌊‘(𝐴 / 𝑀)) · 𝑀) + (𝐴 mod 𝑀))))
1312adantl 271 . . . 4 ((𝜑𝑘 = (⌊‘(𝐴 / 𝑀))) → (𝐴 = ((𝑘 · 𝑀) + (𝐴 mod 𝑀)) ↔ 𝐴 = (((⌊‘(𝐴 / 𝑀)) · 𝑀) + (𝐴 mod 𝑀))))
14 flqpmodeq 9329 . . . . . 6 ((𝐴 ∈ ℚ ∧ 𝑀 ∈ ℚ ∧ 0 < 𝑀) → (((⌊‘(𝐴 / 𝑀)) · 𝑀) + (𝐴 mod 𝑀)) = 𝐴)
153, 4, 5, 14syl3anc 1169 . . . . 5 (𝜑 → (((⌊‘(𝐴 / 𝑀)) · 𝑀) + (𝐴 mod 𝑀)) = 𝐴)
1615eqcomd 2086 . . . 4 (𝜑𝐴 = (((⌊‘(𝐴 / 𝑀)) · 𝑀) + (𝐴 mod 𝑀)))
179, 13, 16rspcedvd 2708 . . 3 (𝜑 → ∃𝑘 ∈ ℤ 𝐴 = ((𝑘 · 𝑀) + (𝐴 mod 𝑀)))
18 oveq2 5540 . . . . . 6 (𝐵 = (𝐴 mod 𝑀) → ((𝑘 · 𝑀) + 𝐵) = ((𝑘 · 𝑀) + (𝐴 mod 𝑀)))
1918eqeq2d 2092 . . . . 5 (𝐵 = (𝐴 mod 𝑀) → (𝐴 = ((𝑘 · 𝑀) + 𝐵) ↔ 𝐴 = ((𝑘 · 𝑀) + (𝐴 mod 𝑀))))
2019eqcoms 2084 . . . 4 ((𝐴 mod 𝑀) = 𝐵 → (𝐴 = ((𝑘 · 𝑀) + 𝐵) ↔ 𝐴 = ((𝑘 · 𝑀) + (𝐴 mod 𝑀))))
2120rexbidv 2369 . . 3 ((𝐴 mod 𝑀) = 𝐵 → (∃𝑘 ∈ ℤ 𝐴 = ((𝑘 · 𝑀) + 𝐵) ↔ ∃𝑘 ∈ ℤ 𝐴 = ((𝑘 · 𝑀) + (𝐴 mod 𝑀))))
2217, 21syl5ibrcom 155 . 2 (𝜑 → ((𝐴 mod 𝑀) = 𝐵 → ∃𝑘 ∈ ℤ 𝐴 = ((𝑘 · 𝑀) + 𝐵)))
23 oveq1 5539 . . . . . 6 (𝐴 = ((𝑘 · 𝑀) + 𝐵) → (𝐴 mod 𝑀) = (((𝑘 · 𝑀) + 𝐵) mod 𝑀))
2423adantl 271 . . . . 5 (((𝜑𝑘 ∈ ℤ) ∧ 𝐴 = ((𝑘 · 𝑀) + 𝐵)) → (𝐴 mod 𝑀) = (((𝑘 · 𝑀) + 𝐵) mod 𝑀))
25 simplr 496 . . . . . 6 (((𝜑𝑘 ∈ ℤ) ∧ 𝐴 = ((𝑘 · 𝑀) + 𝐵)) → 𝑘 ∈ ℤ)
264ad2antrr 471 . . . . . 6 (((𝜑𝑘 ∈ ℤ) ∧ 𝐴 = ((𝑘 · 𝑀) + 𝐵)) → 𝑀 ∈ ℚ)
27 modqmuladd.bq . . . . . . 7 (𝜑𝐵 ∈ ℚ)
2827ad2antrr 471 . . . . . 6 (((𝜑𝑘 ∈ ℤ) ∧ 𝐴 = ((𝑘 · 𝑀) + 𝐵)) → 𝐵 ∈ ℚ)
29 modqmuladd.b . . . . . . 7 (𝜑𝐵 ∈ (0[,)𝑀))
3029ad2antrr 471 . . . . . 6 (((𝜑𝑘 ∈ ℤ) ∧ 𝐴 = ((𝑘 · 𝑀) + 𝐵)) → 𝐵 ∈ (0[,)𝑀))
31 mulqaddmodid 9366 . . . . . 6 (((𝑘 ∈ ℤ ∧ 𝑀 ∈ ℚ) ∧ (𝐵 ∈ ℚ ∧ 𝐵 ∈ (0[,)𝑀))) → (((𝑘 · 𝑀) + 𝐵) mod 𝑀) = 𝐵)
3225, 26, 28, 30, 31syl22anc 1170 . . . . 5 (((𝜑𝑘 ∈ ℤ) ∧ 𝐴 = ((𝑘 · 𝑀) + 𝐵)) → (((𝑘 · 𝑀) + 𝐵) mod 𝑀) = 𝐵)
3324, 32eqtrd 2113 . . . 4 (((𝜑𝑘 ∈ ℤ) ∧ 𝐴 = ((𝑘 · 𝑀) + 𝐵)) → (𝐴 mod 𝑀) = 𝐵)
3433ex 113 . . 3 ((𝜑𝑘 ∈ ℤ) → (𝐴 = ((𝑘 · 𝑀) + 𝐵) → (𝐴 mod 𝑀) = 𝐵))
3534rexlimdva 2477 . 2 (𝜑 → (∃𝑘 ∈ ℤ 𝐴 = ((𝑘 · 𝑀) + 𝐵) → (𝐴 mod 𝑀) = 𝐵))
3622, 35impbid 127 1 (𝜑 → ((𝐴 mod 𝑀) = 𝐵 ↔ ∃𝑘 ∈ ℤ 𝐴 = ((𝑘 · 𝑀) + 𝐵)))
Colors of variables: wff set class
Syntax hints:  wi 4  wa 102  wb 103   = wceq 1284  wcel 1433  wne 2245  wrex 2349   class class class wbr 3785  cfv 4922  (class class class)co 5532  0cc0 6981   + caddc 6984   · cmul 6986   < clt 7153   / cdiv 7760  cz 8351  cq 8704  [,)cico 8913  cfl 9272   mod cmo 9324
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-mp 7  ax-ia1 104  ax-ia2 105  ax-ia3 106  ax-in1 576  ax-in2 577  ax-io 662  ax-5 1376  ax-7 1377  ax-gen 1378  ax-ie1 1422  ax-ie2 1423  ax-8 1435  ax-10 1436  ax-11 1437  ax-i12 1438  ax-bndl 1439  ax-4 1440  ax-13 1444  ax-14 1445  ax-17 1459  ax-i9 1463  ax-ial 1467  ax-i5r 1468  ax-ext 2063  ax-sep 3896  ax-pow 3948  ax-pr 3964  ax-un 4188  ax-setind 4280  ax-cnex 7067  ax-resscn 7068  ax-1cn 7069  ax-1re 7070  ax-icn 7071  ax-addcl 7072  ax-addrcl 7073  ax-mulcl 7074  ax-mulrcl 7075  ax-addcom 7076  ax-mulcom 7077  ax-addass 7078  ax-mulass 7079  ax-distr 7080  ax-i2m1 7081  ax-0lt1 7082  ax-1rid 7083  ax-0id 7084  ax-rnegex 7085  ax-precex 7086  ax-cnre 7087  ax-pre-ltirr 7088  ax-pre-ltwlin 7089  ax-pre-lttrn 7090  ax-pre-apti 7091  ax-pre-ltadd 7092  ax-pre-mulgt0 7093  ax-pre-mulext 7094  ax-arch 7095
This theorem depends on definitions:  df-bi 115  df-3or 920  df-3an 921  df-tru 1287  df-fal 1290  df-nf 1390  df-sb 1686  df-eu 1944  df-mo 1945  df-clab 2068  df-cleq 2074  df-clel 2077  df-nfc 2208  df-ne 2246  df-nel 2340  df-ral 2353  df-rex 2354  df-reu 2355  df-rmo 2356  df-rab 2357  df-v 2603  df-sbc 2816  df-csb 2909  df-dif 2975  df-un 2977  df-in 2979  df-ss 2986  df-pw 3384  df-sn 3404  df-pr 3405  df-op 3407  df-uni 3602  df-int 3637  df-iun 3680  df-br 3786  df-opab 3840  df-mpt 3841  df-id 4048  df-po 4051  df-iso 4052  df-xp 4369  df-rel 4370  df-cnv 4371  df-co 4372  df-dm 4373  df-rn 4374  df-res 4375  df-ima 4376  df-iota 4887  df-fun 4924  df-fn 4925  df-f 4926  df-fv 4930  df-riota 5488  df-ov 5535  df-oprab 5536  df-mpt2 5537  df-1st 5787  df-2nd 5788  df-pnf 7155  df-mnf 7156  df-xr 7157  df-ltxr 7158  df-le 7159  df-sub 7281  df-neg 7282  df-reap 7675  df-ap 7682  df-div 7761  df-inn 8040  df-n0 8289  df-z 8352  df-q 8705  df-rp 8735  df-ico 8917  df-fl 9274  df-mod 9325
This theorem is referenced by:  modqmuladdim  9369
  Copyright terms: Public domain W3C validator