Metamath Proof Explorer


Theorem lcmfunnnd

Description: Useful equation to calculate the least common multiple of 1 to n. (Contributed by metakunt, 29-Apr-2024)

Ref Expression
Hypothesis lcmfunnnd.1 ⊢ ( 𝜑 → 𝑁 ∈ ℕ )
Assertion lcmfunnnd ( 𝜑 → ( lcm ‘ ( 1 ... 𝑁 ) ) = ( ( lcm ‘ ( 1 ... ( 𝑁 − 1 ) ) ) lcm 𝑁 ) )

Proof

Step Hyp Ref Expression
1 lcmfunnnd.1 ⊢ ( 𝜑 → 𝑁 ∈ ℕ )
2 1 nncnd ⊢ ( 𝜑 → 𝑁 ∈ ℂ )
3 1cnd ⊢ ( 𝜑 → 1 ∈ ℂ )
4 2 3 npcand ⊢ ( 𝜑 → ( ( 𝑁 − 1 ) + 1 ) = 𝑁 )
5 4 oveq2d ⊢ ( 𝜑 → ( 1 ... ( ( 𝑁 − 1 ) + 1 ) ) = ( 1 ... 𝑁 ) )
6 nnm1nn0 ⊢ ( 𝑁 ∈ ℕ → ( 𝑁 − 1 ) ∈ ℕ0 )
7 1 6 syl ⊢ ( 𝜑 → ( 𝑁 − 1 ) ∈ ℕ0 )
8 nn0uz ⊢ ℕ0 = ( ℤ≥ ‘ 0 )
9 8 eleq2i ⊢ ( ( 𝑁 − 1 ) ∈ ℕ0 ↔ ( 𝑁 − 1 ) ∈ ( ℤ≥ ‘ 0 ) )
10 7 9 sylib ⊢ ( 𝜑 → ( 𝑁 − 1 ) ∈ ( ℤ≥ ‘ 0 ) )
11 1m1e0 ⊢ ( 1 − 1 ) = 0
12 11 fveq2i ⊢ ( ℤ≥ ‘ ( 1 − 1 ) ) = ( ℤ≥ ‘ 0 )
13 12 eleq2i ⊢ ( ( 𝑁 − 1 ) ∈ ( ℤ≥ ‘ ( 1 − 1 ) ) ↔ ( 𝑁 − 1 ) ∈ ( ℤ≥ ‘ 0 ) )
14 13 a1i ⊢ ( 𝜑 → ( ( 𝑁 − 1 ) ∈ ( ℤ≥ ‘ ( 1 − 1 ) ) ↔ ( 𝑁 − 1 ) ∈ ( ℤ≥ ‘ 0 ) ) )
15 10 14 mpbird ⊢ ( 𝜑 → ( 𝑁 − 1 ) ∈ ( ℤ≥ ‘ ( 1 − 1 ) ) )
16 1z ⊢ 1 ∈ ℤ
17 fzsuc2 ⊢ ( ( 1 ∈ ℤ ∧ ( 𝑁 − 1 ) ∈ ( ℤ≥ ‘ ( 1 − 1 ) ) ) → ( 1 ... ( ( 𝑁 − 1 ) + 1 ) ) = ( ( 1 ... ( 𝑁 − 1 ) ) ∪ { ( ( 𝑁 − 1 ) + 1 ) } ) )
18 16 17 mpan ⊢ ( ( 𝑁 − 1 ) ∈ ( ℤ≥ ‘ ( 1 − 1 ) ) → ( 1 ... ( ( 𝑁 − 1 ) + 1 ) ) = ( ( 1 ... ( 𝑁 − 1 ) ) ∪ { ( ( 𝑁 − 1 ) + 1 ) } ) )
19 15 18 syl ⊢ ( 𝜑 → ( 1 ... ( ( 𝑁 − 1 ) + 1 ) ) = ( ( 1 ... ( 𝑁 − 1 ) ) ∪ { ( ( 𝑁 − 1 ) + 1 ) } ) )
20 5 19 eqtr3d ⊢ ( 𝜑 → ( 1 ... 𝑁 ) = ( ( 1 ... ( 𝑁 − 1 ) ) ∪ { ( ( 𝑁 − 1 ) + 1 ) } ) )
21 4 sneqd ⊢ ( 𝜑 → { ( ( 𝑁 − 1 ) + 1 ) } = { 𝑁 } )
22 21 uneq2d ⊢ ( 𝜑 → ( ( 1 ... ( 𝑁 − 1 ) ) ∪ { ( ( 𝑁 − 1 ) + 1 ) } ) = ( ( 1 ... ( 𝑁 − 1 ) ) ∪ { 𝑁 } ) )
23 20 22 eqtrd ⊢ ( 𝜑 → ( 1 ... 𝑁 ) = ( ( 1 ... ( 𝑁 − 1 ) ) ∪ { 𝑁 } ) )
24 23 fveq2d ⊢ ( 𝜑 → ( lcm ‘ ( 1 ... 𝑁 ) ) = ( lcm ‘ ( ( 1 ... ( 𝑁 − 1 ) ) ∪ { 𝑁 } ) ) )
25 fzssz ⊢ ( 1 ... ( 𝑁 − 1 ) ) ⊆ ℤ
26 25 a1i ⊢ ( 𝜑 → ( 1 ... ( 𝑁 − 1 ) ) ⊆ ℤ )
27 fzfi ⊢ ( 1 ... ( 𝑁 − 1 ) ) ∈ Fin
28 27 a1i ⊢ ( 𝜑 → ( 1 ... ( 𝑁 − 1 ) ) ∈ Fin )
29 nnz ⊢ ( 𝑁 ∈ ℕ → 𝑁 ∈ ℤ )
30 1 29 syl ⊢ ( 𝜑 → 𝑁 ∈ ℤ )
31 26 28 30 3jca ⊢ ( 𝜑 → ( ( 1 ... ( 𝑁 − 1 ) ) ⊆ ℤ ∧ ( 1 ... ( 𝑁 − 1 ) ) ∈ Fin ∧ 𝑁 ∈ ℤ ) )
32 lcmfunsn ⊢ ( ( ( 1 ... ( 𝑁 − 1 ) ) ⊆ ℤ ∧ ( 1 ... ( 𝑁 − 1 ) ) ∈ Fin ∧ 𝑁 ∈ ℤ ) → ( lcm ‘ ( ( 1 ... ( 𝑁 − 1 ) ) ∪ { 𝑁 } ) ) = ( ( lcm ‘ ( 1 ... ( 𝑁 − 1 ) ) ) lcm 𝑁 ) )
33 31 32 syl ⊢ ( 𝜑 → ( lcm ‘ ( ( 1 ... ( 𝑁 − 1 ) ) ∪ { 𝑁 } ) ) = ( ( lcm ‘ ( 1 ... ( 𝑁 − 1 ) ) ) lcm 𝑁 ) )
34 24 33 eqtrd ⊢ ( 𝜑 → ( lcm ‘ ( 1 ... 𝑁 ) ) = ( ( lcm ‘ ( 1 ... ( 𝑁 − 1 ) ) ) lcm 𝑁 ) )