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

Theorem lcmgcd 16698
Description: The product of two numbers' least common multiple and greatest common divisor is the absolute value of the product of the two numbers. In particular, that absolute value is the least common multiple of two coprime numbers, for which (𝑀 gcd 𝑁) = 1.

Multiple methods exist for proving this, and it is often proven either as a consequence of the fundamental theorem of arithmetic 1arith 17020 or of Bézout's identity bezout 16634; see e.g., https://proofwiki.org/wiki/Product_of_GCD_and_LCM 16634 and https://math.stackexchange.com/a/470827 16634. This proof uses the latter to first confirm it for positive integers 𝑀 and 𝑁 (the "Second Proof" in the above Stack Exchange page), then shows that implies it for all nonzero integer inputs, then finally uses lcm0val 16685 to show it applies when either or both inputs are zero. (Contributed by Steve Rodriguez, 20-Jan-2020.)

Assertion
Ref Expression
lcmgcd ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → ((𝑀 lcm 𝑁) · (𝑀 gcd 𝑁)) = (abs‘(𝑀 · 𝑁)))

Proof of Theorem lcmgcd
StepHypRef Expression
1 gcdcl 16597 . . . . . . . 8 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑀 gcd 𝑁) ∈ ℕ0)
21nn0cnd 12592 . . . . . . 7 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑀 gcd 𝑁) ∈ ℂ)
32mul02d 11433 . . . . . 6 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (0 · (𝑀 gcd 𝑁)) = 0)
4 0z 12627 . . . . . . . . . 10 0 ∈ ℤ
5 lcmcom 16684 . . . . . . . . . 10 ((𝑁 ∈ ℤ ∧ 0 ∈ ℤ) → (𝑁 lcm 0) = (0 lcm 𝑁))
64, 5mpan2 704 . . . . . . . . 9 (𝑁 ∈ ℤ → (𝑁 lcm 0) = (0 lcm 𝑁))
7 lcm0val 16685 . . . . . . . . 9 (𝑁 ∈ ℤ → (𝑁 lcm 0) = 0)
86, 7eqtr3d 2797 . . . . . . . 8 (𝑁 ∈ ℤ → (0 lcm 𝑁) = 0)
98adantl 487 . . . . . . 7 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (0 lcm 𝑁) = 0)
109oveq1d 7429 . . . . . 6 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → ((0 lcm 𝑁) · (𝑀 gcd 𝑁)) = (0 · (𝑀 gcd 𝑁)))
11 zcn 12621 . . . . . . . . 9 (𝑁 ∈ ℤ → 𝑁 ∈ ℂ)
1211adantl 487 . . . . . . . 8 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → 𝑁 ∈ ℂ)
1312mul02d 11433 . . . . . . 7 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (0 · 𝑁) = 0)
1413abs00bd 15379 . . . . . 6 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (abs‘(0 · 𝑁)) = 0)
153, 10, 143eqtr4d 2805 . . . . 5 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → ((0 lcm 𝑁) · (𝑀 gcd 𝑁)) = (abs‘(0 · 𝑁)))
1615adantr 486 . . . 4 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑀 = 0) → ((0 lcm 𝑁) · (𝑀 gcd 𝑁)) = (abs‘(0 · 𝑁)))
17 simpr 490 . . . . . 6 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑀 = 0) → 𝑀 = 0)
1817oveq1d 7429 . . . . 5 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑀 = 0) → (𝑀 lcm 𝑁) = (0 lcm 𝑁))
1918oveq1d 7429 . . . 4 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑀 = 0) → ((𝑀 lcm 𝑁) · (𝑀 gcd 𝑁)) = ((0 lcm 𝑁) · (𝑀 gcd 𝑁)))
2017oveq1d 7429 . . . . 5 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑀 = 0) → (𝑀 · 𝑁) = (0 · 𝑁))
2120fveq2d 6883 . . . 4 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑀 = 0) → (abs‘(𝑀 · 𝑁)) = (abs‘(0 · 𝑁)))
2216, 19, 213eqtr4d 2805 . . 3 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑀 = 0) → ((𝑀 lcm 𝑁) · (𝑀 gcd 𝑁)) = (abs‘(𝑀 · 𝑁)))
23 lcm0val 16685 . . . . . . . 8 (𝑀 ∈ ℤ → (𝑀 lcm 0) = 0)
2423adantr 486 . . . . . . 7 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑀 lcm 0) = 0)
2524oveq1d 7429 . . . . . 6 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → ((𝑀 lcm 0) · (𝑀 gcd 𝑁)) = (0 · (𝑀 gcd 𝑁)))
26 zcn 12621 . . . . . . . . 9 (𝑀 ∈ ℤ → 𝑀 ∈ ℂ)
2726adantr 486 . . . . . . . 8 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → 𝑀 ∈ ℂ)
2827mul01d 11434 . . . . . . 7 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑀 · 0) = 0)
2928abs00bd 15379 . . . . . 6 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (abs‘(𝑀 · 0)) = 0)
303, 25, 293eqtr4d 2805 . . . . 5 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → ((𝑀 lcm 0) · (𝑀 gcd 𝑁)) = (abs‘(𝑀 · 0)))
3130adantr 486 . . . 4 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑁 = 0) → ((𝑀 lcm 0) · (𝑀 gcd 𝑁)) = (abs‘(𝑀 · 0)))
32 simpr 490 . . . . . 6 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑁 = 0) → 𝑁 = 0)
3332oveq2d 7430 . . . . 5 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑁 = 0) → (𝑀 lcm 𝑁) = (𝑀 lcm 0))
3433oveq1d 7429 . . . 4 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑁 = 0) → ((𝑀 lcm 𝑁) · (𝑀 gcd 𝑁)) = ((𝑀 lcm 0) · (𝑀 gcd 𝑁)))
3532oveq2d 7430 . . . . 5 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑁 = 0) → (𝑀 · 𝑁) = (𝑀 · 0))
3635fveq2d 6883 . . . 4 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑁 = 0) → (abs‘(𝑀 · 𝑁)) = (abs‘(𝑀 · 0)))
3731, 34, 363eqtr4d 2805 . . 3 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ 𝑁 = 0) → ((𝑀 lcm 𝑁) · (𝑀 gcd 𝑁)) = (abs‘(𝑀 · 𝑁)))
3822, 37jaodan 972 . 2 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ (𝑀 = 0 ∨ 𝑁 = 0)) → ((𝑀 lcm 𝑁) · (𝑀 gcd 𝑁)) = (abs‘(𝑀 · 𝑁)))
39 neanior 3048 . . . . 5 ((𝑀 ≠ 0 ∧ 𝑁 ≠ 0) ↔ ¬ (𝑀 = 0 ∨ 𝑁 = 0))
40 nnabscl 15414 . . . . . . 7 ((𝑀 ∈ ℤ ∧ 𝑀 ≠ 0) → (abs‘𝑀) ∈ ℕ)
41 nnabscl 15414 . . . . . . 7 ((𝑁 ∈ ℤ ∧ 𝑁 ≠ 0) → (abs‘𝑁) ∈ ℕ)
4240, 41anim12i 625 . . . . . 6 (((𝑀 ∈ ℤ ∧ 𝑀 ≠ 0) ∧ (𝑁 ∈ ℤ ∧ 𝑁 ≠ 0)) → ((abs‘𝑀) ∈ ℕ ∧ (abs‘𝑁) ∈ ℕ))
4342an4s 673 . . . . 5 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ (𝑀 ≠ 0 ∧ 𝑁 ≠ 0)) → ((abs‘𝑀) ∈ ℕ ∧ (abs‘𝑁) ∈ ℕ))
4439, 43sylan2br 607 . . . 4 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ ¬ (𝑀 = 0 ∨ 𝑁 = 0)) → ((abs‘𝑀) ∈ ℕ ∧ (abs‘𝑁) ∈ ℕ))
45 lcmgcdlem 16697 . . . . 5 (((abs‘𝑀) ∈ ℕ ∧ (abs‘𝑁) ∈ ℕ) → ((((abs‘𝑀) lcm (abs‘𝑁)) · ((abs‘𝑀) gcd (abs‘𝑁))) = (abs‘((abs‘𝑀) · (abs‘𝑁))) ∧ ((0 ∈ ℕ ∧ ((abs‘𝑀) ∥ 0 ∧ (abs‘𝑁) ∥ 0)) → ((abs‘𝑀) lcm (abs‘𝑁)) ∥ 0)))
4645simpld 500 . . . 4 (((abs‘𝑀) ∈ ℕ ∧ (abs‘𝑁) ∈ ℕ) → (((abs‘𝑀) lcm (abs‘𝑁)) · ((abs‘𝑀) gcd (abs‘𝑁))) = (abs‘((abs‘𝑀) · (abs‘𝑁))))
4744, 46syl 18 . . 3 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ ¬ (𝑀 = 0 ∨ 𝑁 = 0)) → (((abs‘𝑀) lcm (abs‘𝑁)) · ((abs‘𝑀) gcd (abs‘𝑁))) = (abs‘((abs‘𝑀) · (abs‘𝑁))))
48 lcmabs 16696 . . . . 5 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → ((abs‘𝑀) lcm (abs‘𝑁)) = (𝑀 lcm 𝑁))
49 gcdabs 16622 . . . . 5 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → ((abs‘𝑀) gcd (abs‘𝑁)) = (𝑀 gcd 𝑁))
5048, 49oveq12d 7432 . . . 4 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (((abs‘𝑀) lcm (abs‘𝑁)) · ((abs‘𝑀) gcd (abs‘𝑁))) = ((𝑀 lcm 𝑁) · (𝑀 gcd 𝑁)))
5150adantr 486 . . 3 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ ¬ (𝑀 = 0 ∨ 𝑁 = 0)) → (((abs‘𝑀) lcm (abs‘𝑁)) · ((abs‘𝑀) gcd (abs‘𝑁))) = ((𝑀 lcm 𝑁) · (𝑀 gcd 𝑁)))
52 absidm 15412 . . . . . . 7 (𝑀 ∈ ℂ → (abs‘(abs‘𝑀)) = (abs‘𝑀))
53 absidm 15412 . . . . . . 7 (𝑁 ∈ ℂ → (abs‘(abs‘𝑁)) = (abs‘𝑁))
5452, 53oveqan12d 7433 . . . . . 6 ((𝑀 ∈ ℂ ∧ 𝑁 ∈ ℂ) → ((abs‘(abs‘𝑀)) · (abs‘(abs‘𝑁))) = ((abs‘𝑀) · (abs‘𝑁)))
5526, 11, 54syl2an 608 . . . . 5 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → ((abs‘(abs‘𝑀)) · (abs‘(abs‘𝑁))) = ((abs‘𝑀) · (abs‘𝑁)))
56 nn0abscl 15400 . . . . . . . 8 (𝑀 ∈ ℤ → (abs‘𝑀) ∈ ℕ0)
5756nn0cnd 12592 . . . . . . 7 (𝑀 ∈ ℤ → (abs‘𝑀) ∈ ℂ)
5857adantr 486 . . . . . 6 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (abs‘𝑀) ∈ ℂ)
59 nn0abscl 15400 . . . . . . . 8 (𝑁 ∈ ℤ → (abs‘𝑁) ∈ ℕ0)
6059nn0cnd 12592 . . . . . . 7 (𝑁 ∈ ℤ → (abs‘𝑁) ∈ ℂ)
6160adantl 487 . . . . . 6 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (abs‘𝑁) ∈ ℂ)
6258, 61absmuld 15545 . . . . 5 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (abs‘((abs‘𝑀) · (abs‘𝑁))) = ((abs‘(abs‘𝑀)) · (abs‘(abs‘𝑁))))
6327, 12absmuld 15545 . . . . 5 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (abs‘(𝑀 · 𝑁)) = ((abs‘𝑀) · (abs‘𝑁)))
6455, 62, 633eqtr4d 2805 . . . 4 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (abs‘((abs‘𝑀) · (abs‘𝑁))) = (abs‘(𝑀 · 𝑁)))
6564adantr 486 . . 3 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ ¬ (𝑀 = 0 ∨ 𝑁 = 0)) → (abs‘((abs‘𝑀) · (abs‘𝑁))) = (abs‘(𝑀 · 𝑁)))
6647, 51, 653eqtr3d 2803 . 2 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ ¬ (𝑀 = 0 ∨ 𝑁 = 0)) → ((𝑀 lcm 𝑁) · (𝑀 gcd 𝑁)) = (abs‘(𝑀 · 𝑁)))
6738, 66pm2.61dan 825 1 ((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) → ((𝑀 lcm 𝑁) · (𝑀 gcd 𝑁)) = (abs‘(𝑀 · 𝑁)))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  ¬ wn 3  wi 4  wa 401  wo 861   = wceq 1570  wcel 2145  wne 2955   class class class wbr 5103  cfv 6533  (class class class)co 7414  cc 11123  0cc0 11125   · cmul 11130  cn 12258  cz 12616  abscabs 15322  cdvds 16343   gcd cgcd 16585   lcm clcm 16679
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 5251  ax-nul 5263  ax-pow 5330  ax-pr 5398  ax-un 7737  ax-cnex 11181  ax-resscn 11182  ax-1cn 11183  ax-icn 11184  ax-addcl 11185  ax-addrcl 11186  ax-mulcl 11187  ax-mulrcl 11188  ax-mulcom 11189  ax-addass 11190  ax-mulass 11191  ax-distr 11192  ax-i2m1 11193  ax-1ne0 11194  ax-1rid 11195  ax-rnegex 11196  ax-rrecex 11197  ax-cnre 11198  ax-pre-lttri 11199  ax-pre-lttrn 11200  ax-pre-ltadd 11201  ax-pre-mulgt0 11202  ax-pre-sup 11203
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 3740  df-csb 3848  df-dif 3902  df-un 3904  df-in 3906  df-ss 3916  df-pss 3919  df-nul 4280  df-if 4483  df-pw 4559  df-sn 4585  df-pr 4587  df-op 4591  df-uni 4868  df-iun 4953  df-br 5104  df-opab 5168  df-mpt 5187  df-tr 5213  df-id 5550  df-eprel 5555  df-po 5563  df-so 5564  df-fr 5608  df-we 5610  df-xp 5661  df-rel 5662  df-cnv 5663  df-co 5664  df-dm 5665  df-rn 5666  df-res 5667  df-ima 5668  df-pred 6299  df-ord 6360  df-on 6361  df-lim 6362  df-suc 6363  df-iota 6489  df-fun 6535  df-fn 6536  df-f 6537  df-f1 6538  df-fo 6539  df-f1o 6540  df-fv 6541  df-riota 7371  df-ov 7417  df-oprab 7418  df-mpo 7419  df-om 7864  df-2nd 7988  df-frecs 8281  df-wrecs 8312  df-recs 8361  df-rdg 8400  df-er 8697  df-en 8954  df-dom 8955  df-sdom 8956  df-sup 9413  df-inf 9414  df-pnf 11270  df-mnf 11271  df-xr 11272  df-ltxr 11273  df-le 11274  df-sub 11468  df-neg 11469  df-div 11897  df-nn 12259  df-2 12328  df-3 12329  df-n0 12530  df-z 12617  df-uz 12889  df-rp 13044  df-fl 13854  df-mod 13932  df-seq 14067  df-exp 14127  df-cj 15187  df-re 15188  df-im 15189  df-sqrt 15323  df-abs 15324  df-dvds 16344  df-gcd 16586  df-lcm 16681
This theorem is used by:  lcmid  16700  lcm1  16701  lcmgcdnn  16702  nzprmdif  45144
  Copyright terms: Public domain W3C validator