Metamath Proof Explorer


Theorem lcmcllem

Description: Lemma for lcmn0cl and dvdslcm . (Contributed by Steve Rodriguez, 20-Jan-2020) (Proof shortened by AV, 16-Sep-2020)

Ref Expression
Assertion lcmcllem ( ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) ∧ ¬ ( 𝑀 = 0 ∨ 𝑁 = 0 ) ) → ( 𝑀 lcm 𝑁 ) ∈ { 𝑛 ∈ ℕ ∣ ( 𝑀𝑛𝑁𝑛 ) } )

Proof

Step Hyp Ref Expression
1 lcmn0val ( ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) ∧ ¬ ( 𝑀 = 0 ∨ 𝑁 = 0 ) ) → ( 𝑀 lcm 𝑁 ) = inf ( { 𝑛 ∈ ℕ ∣ ( 𝑀𝑛𝑁𝑛 ) } , ℝ , < ) )
2 ssrab2 { 𝑛 ∈ ℕ ∣ ( 𝑀𝑛𝑁𝑛 ) } ⊆ ℕ
3 nnuz ℕ = ( ℤ ‘ 1 )
4 2 3 sseqtri { 𝑛 ∈ ℕ ∣ ( 𝑀𝑛𝑁𝑛 ) } ⊆ ( ℤ ‘ 1 )
5 zmulcl ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) → ( 𝑀 · 𝑁 ) ∈ ℤ )
6 5 adantr ( ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) ∧ ¬ ( 𝑀 = 0 ∨ 𝑁 = 0 ) ) → ( 𝑀 · 𝑁 ) ∈ ℤ )
7 zcn ( 𝑀 ∈ ℤ → 𝑀 ∈ ℂ )
8 zcn ( 𝑁 ∈ ℤ → 𝑁 ∈ ℂ )
9 7 8 anim12i ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) → ( 𝑀 ∈ ℂ ∧ 𝑁 ∈ ℂ ) )
10 ioran ( ¬ ( 𝑀 = 0 ∨ 𝑁 = 0 ) ↔ ( ¬ 𝑀 = 0 ∧ ¬ 𝑁 = 0 ) )
11 df-ne ( 𝑀 ≠ 0 ↔ ¬ 𝑀 = 0 )
12 df-ne ( 𝑁 ≠ 0 ↔ ¬ 𝑁 = 0 )
13 11 12 anbi12i ( ( 𝑀 ≠ 0 ∧ 𝑁 ≠ 0 ) ↔ ( ¬ 𝑀 = 0 ∧ ¬ 𝑁 = 0 ) )
14 10 13 sylbb2 ( ¬ ( 𝑀 = 0 ∨ 𝑁 = 0 ) → ( 𝑀 ≠ 0 ∧ 𝑁 ≠ 0 ) )
15 mulne0 ( ( ( 𝑀 ∈ ℂ ∧ 𝑀 ≠ 0 ) ∧ ( 𝑁 ∈ ℂ ∧ 𝑁 ≠ 0 ) ) → ( 𝑀 · 𝑁 ) ≠ 0 )
16 15 an4s ( ( ( 𝑀 ∈ ℂ ∧ 𝑁 ∈ ℂ ) ∧ ( 𝑀 ≠ 0 ∧ 𝑁 ≠ 0 ) ) → ( 𝑀 · 𝑁 ) ≠ 0 )
17 9 14 16 syl2an ( ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) ∧ ¬ ( 𝑀 = 0 ∨ 𝑁 = 0 ) ) → ( 𝑀 · 𝑁 ) ≠ 0 )
18 nnabscl ( ( ( 𝑀 · 𝑁 ) ∈ ℤ ∧ ( 𝑀 · 𝑁 ) ≠ 0 ) → ( abs ‘ ( 𝑀 · 𝑁 ) ) ∈ ℕ )
19 6 17 18 syl2anc ( ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) ∧ ¬ ( 𝑀 = 0 ∨ 𝑁 = 0 ) ) → ( abs ‘ ( 𝑀 · 𝑁 ) ) ∈ ℕ )
20 dvdsmul1 ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) → 𝑀 ∥ ( 𝑀 · 𝑁 ) )
21 dvdsabsb ( ( 𝑀 ∈ ℤ ∧ ( 𝑀 · 𝑁 ) ∈ ℤ ) → ( 𝑀 ∥ ( 𝑀 · 𝑁 ) ↔ 𝑀 ∥ ( abs ‘ ( 𝑀 · 𝑁 ) ) ) )
22 5 21 syldan ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) → ( 𝑀 ∥ ( 𝑀 · 𝑁 ) ↔ 𝑀 ∥ ( abs ‘ ( 𝑀 · 𝑁 ) ) ) )
23 20 22 mpbid ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) → 𝑀 ∥ ( abs ‘ ( 𝑀 · 𝑁 ) ) )
24 dvdsmul2 ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) → 𝑁 ∥ ( 𝑀 · 𝑁 ) )
25 dvdsabsb ( ( 𝑁 ∈ ℤ ∧ ( 𝑀 · 𝑁 ) ∈ ℤ ) → ( 𝑁 ∥ ( 𝑀 · 𝑁 ) ↔ 𝑁 ∥ ( abs ‘ ( 𝑀 · 𝑁 ) ) ) )
26 5 25 sylan2 ( ( 𝑁 ∈ ℤ ∧ ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) ) → ( 𝑁 ∥ ( 𝑀 · 𝑁 ) ↔ 𝑁 ∥ ( abs ‘ ( 𝑀 · 𝑁 ) ) ) )
27 26 anabss7 ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) → ( 𝑁 ∥ ( 𝑀 · 𝑁 ) ↔ 𝑁 ∥ ( abs ‘ ( 𝑀 · 𝑁 ) ) ) )
28 24 27 mpbid ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) → 𝑁 ∥ ( abs ‘ ( 𝑀 · 𝑁 ) ) )
29 23 28 jca ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) → ( 𝑀 ∥ ( abs ‘ ( 𝑀 · 𝑁 ) ) ∧ 𝑁 ∥ ( abs ‘ ( 𝑀 · 𝑁 ) ) ) )
30 29 adantr ( ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) ∧ ¬ ( 𝑀 = 0 ∨ 𝑁 = 0 ) ) → ( 𝑀 ∥ ( abs ‘ ( 𝑀 · 𝑁 ) ) ∧ 𝑁 ∥ ( abs ‘ ( 𝑀 · 𝑁 ) ) ) )
31 breq2 ( 𝑛 = ( abs ‘ ( 𝑀 · 𝑁 ) ) → ( 𝑀𝑛𝑀 ∥ ( abs ‘ ( 𝑀 · 𝑁 ) ) ) )
32 breq2 ( 𝑛 = ( abs ‘ ( 𝑀 · 𝑁 ) ) → ( 𝑁𝑛𝑁 ∥ ( abs ‘ ( 𝑀 · 𝑁 ) ) ) )
33 31 32 anbi12d ( 𝑛 = ( abs ‘ ( 𝑀 · 𝑁 ) ) → ( ( 𝑀𝑛𝑁𝑛 ) ↔ ( 𝑀 ∥ ( abs ‘ ( 𝑀 · 𝑁 ) ) ∧ 𝑁 ∥ ( abs ‘ ( 𝑀 · 𝑁 ) ) ) ) )
34 33 rspcev ( ( ( abs ‘ ( 𝑀 · 𝑁 ) ) ∈ ℕ ∧ ( 𝑀 ∥ ( abs ‘ ( 𝑀 · 𝑁 ) ) ∧ 𝑁 ∥ ( abs ‘ ( 𝑀 · 𝑁 ) ) ) ) → ∃ 𝑛 ∈ ℕ ( 𝑀𝑛𝑁𝑛 ) )
35 19 30 34 syl2anc ( ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) ∧ ¬ ( 𝑀 = 0 ∨ 𝑁 = 0 ) ) → ∃ 𝑛 ∈ ℕ ( 𝑀𝑛𝑁𝑛 ) )
36 rabn0 ( { 𝑛 ∈ ℕ ∣ ( 𝑀𝑛𝑁𝑛 ) } ≠ ∅ ↔ ∃ 𝑛 ∈ ℕ ( 𝑀𝑛𝑁𝑛 ) )
37 35 36 sylibr ( ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) ∧ ¬ ( 𝑀 = 0 ∨ 𝑁 = 0 ) ) → { 𝑛 ∈ ℕ ∣ ( 𝑀𝑛𝑁𝑛 ) } ≠ ∅ )
38 infssuzcl ( ( { 𝑛 ∈ ℕ ∣ ( 𝑀𝑛𝑁𝑛 ) } ⊆ ( ℤ ‘ 1 ) ∧ { 𝑛 ∈ ℕ ∣ ( 𝑀𝑛𝑁𝑛 ) } ≠ ∅ ) → inf ( { 𝑛 ∈ ℕ ∣ ( 𝑀𝑛𝑁𝑛 ) } , ℝ , < ) ∈ { 𝑛 ∈ ℕ ∣ ( 𝑀𝑛𝑁𝑛 ) } )
39 4 37 38 sylancr ( ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) ∧ ¬ ( 𝑀 = 0 ∨ 𝑁 = 0 ) ) → inf ( { 𝑛 ∈ ℕ ∣ ( 𝑀𝑛𝑁𝑛 ) } , ℝ , < ) ∈ { 𝑛 ∈ ℕ ∣ ( 𝑀𝑛𝑁𝑛 ) } )
40 1 39 eqeltrd ( ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) ∧ ¬ ( 𝑀 = 0 ∨ 𝑁 = 0 ) ) → ( 𝑀 lcm 𝑁 ) ∈ { 𝑛 ∈ ℕ ∣ ( 𝑀𝑛𝑁𝑛 ) } )