This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Associative law for lcm operator. (Contributed by Steve Rodriguez, 20-Jan-2020) (Proof shortened by AV, 16-Sep-2020)
| Ref | Expression | ||
|---|---|---|---|
| Assertion | lcmass | ⊢ ( ( 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑃 ∈ ℤ ) → ( ( 𝑁 lcm 𝑀 ) lcm 𝑃 ) = ( 𝑁 lcm ( 𝑀 lcm 𝑃 ) ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | orass | ⊢ ( ( ( 𝑁 = 0 ∨ 𝑀 = 0 ) ∨ 𝑃 = 0 ) ↔ ( 𝑁 = 0 ∨ ( 𝑀 = 0 ∨ 𝑃 = 0 ) ) ) | |
| 2 | anass | ⊢ ( ( ( 𝑁 ∥ 𝑥 ∧ 𝑀 ∥ 𝑥 ) ∧ 𝑃 ∥ 𝑥 ) ↔ ( 𝑁 ∥ 𝑥 ∧ ( 𝑀 ∥ 𝑥 ∧ 𝑃 ∥ 𝑥 ) ) ) | |
| 3 | 2 | rabbii | ⊢ { 𝑥 ∈ ℕ ∣ ( ( 𝑁 ∥ 𝑥 ∧ 𝑀 ∥ 𝑥 ) ∧ 𝑃 ∥ 𝑥 ) } = { 𝑥 ∈ ℕ ∣ ( 𝑁 ∥ 𝑥 ∧ ( 𝑀 ∥ 𝑥 ∧ 𝑃 ∥ 𝑥 ) ) } |
| 4 | 3 | infeq1i | ⊢ inf ( { 𝑥 ∈ ℕ ∣ ( ( 𝑁 ∥ 𝑥 ∧ 𝑀 ∥ 𝑥 ) ∧ 𝑃 ∥ 𝑥 ) } , ℝ , < ) = inf ( { 𝑥 ∈ ℕ ∣ ( 𝑁 ∥ 𝑥 ∧ ( 𝑀 ∥ 𝑥 ∧ 𝑃 ∥ 𝑥 ) ) } , ℝ , < ) |
| 5 | 1 4 | ifbieq2i | ⊢ if ( ( ( 𝑁 = 0 ∨ 𝑀 = 0 ) ∨ 𝑃 = 0 ) , 0 , inf ( { 𝑥 ∈ ℕ ∣ ( ( 𝑁 ∥ 𝑥 ∧ 𝑀 ∥ 𝑥 ) ∧ 𝑃 ∥ 𝑥 ) } , ℝ , < ) ) = if ( ( 𝑁 = 0 ∨ ( 𝑀 = 0 ∨ 𝑃 = 0 ) ) , 0 , inf ( { 𝑥 ∈ ℕ ∣ ( 𝑁 ∥ 𝑥 ∧ ( 𝑀 ∥ 𝑥 ∧ 𝑃 ∥ 𝑥 ) ) } , ℝ , < ) ) |
| 6 | lcmcl | ⊢ ( ( 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ ) → ( 𝑁 lcm 𝑀 ) ∈ ℕ0 ) | |
| 7 | 6 | 3adant3 | ⊢ ( ( 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑃 ∈ ℤ ) → ( 𝑁 lcm 𝑀 ) ∈ ℕ0 ) |
| 8 | 7 | nn0zd | ⊢ ( ( 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑃 ∈ ℤ ) → ( 𝑁 lcm 𝑀 ) ∈ ℤ ) |
| 9 | simp3 | ⊢ ( ( 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑃 ∈ ℤ ) → 𝑃 ∈ ℤ ) | |
| 10 | lcmval | ⊢ ( ( ( 𝑁 lcm 𝑀 ) ∈ ℤ ∧ 𝑃 ∈ ℤ ) → ( ( 𝑁 lcm 𝑀 ) lcm 𝑃 ) = if ( ( ( 𝑁 lcm 𝑀 ) = 0 ∨ 𝑃 = 0 ) , 0 , inf ( { 𝑥 ∈ ℕ ∣ ( ( 𝑁 lcm 𝑀 ) ∥ 𝑥 ∧ 𝑃 ∥ 𝑥 ) } , ℝ , < ) ) ) | |
| 11 | 8 9 10 | syl2anc | ⊢ ( ( 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑃 ∈ ℤ ) → ( ( 𝑁 lcm 𝑀 ) lcm 𝑃 ) = if ( ( ( 𝑁 lcm 𝑀 ) = 0 ∨ 𝑃 = 0 ) , 0 , inf ( { 𝑥 ∈ ℕ ∣ ( ( 𝑁 lcm 𝑀 ) ∥ 𝑥 ∧ 𝑃 ∥ 𝑥 ) } , ℝ , < ) ) ) |
| 12 | lcmeq0 | ⊢ ( ( 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ ) → ( ( 𝑁 lcm 𝑀 ) = 0 ↔ ( 𝑁 = 0 ∨ 𝑀 = 0 ) ) ) | |
| 13 | 12 | 3adant3 | ⊢ ( ( 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑃 ∈ ℤ ) → ( ( 𝑁 lcm 𝑀 ) = 0 ↔ ( 𝑁 = 0 ∨ 𝑀 = 0 ) ) ) |
| 14 | 13 | orbi1d | ⊢ ( ( 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑃 ∈ ℤ ) → ( ( ( 𝑁 lcm 𝑀 ) = 0 ∨ 𝑃 = 0 ) ↔ ( ( 𝑁 = 0 ∨ 𝑀 = 0 ) ∨ 𝑃 = 0 ) ) ) |
| 15 | 14 | bicomd | ⊢ ( ( 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑃 ∈ ℤ ) → ( ( ( 𝑁 = 0 ∨ 𝑀 = 0 ) ∨ 𝑃 = 0 ) ↔ ( ( 𝑁 lcm 𝑀 ) = 0 ∨ 𝑃 = 0 ) ) ) |
| 16 | nnz | ⊢ ( 𝑥 ∈ ℕ → 𝑥 ∈ ℤ ) | |
| 17 | 16 | adantl | ⊢ ( ( ( 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑃 ∈ ℤ ) ∧ 𝑥 ∈ ℕ ) → 𝑥 ∈ ℤ ) |
| 18 | simp1 | ⊢ ( ( 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑃 ∈ ℤ ) → 𝑁 ∈ ℤ ) | |
| 19 | 18 | adantr | ⊢ ( ( ( 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑃 ∈ ℤ ) ∧ 𝑥 ∈ ℕ ) → 𝑁 ∈ ℤ ) |
| 20 | simpl2 | ⊢ ( ( ( 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑃 ∈ ℤ ) ∧ 𝑥 ∈ ℕ ) → 𝑀 ∈ ℤ ) | |
| 21 | lcmdvdsb | ⊢ ( ( 𝑥 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ ) → ( ( 𝑁 ∥ 𝑥 ∧ 𝑀 ∥ 𝑥 ) ↔ ( 𝑁 lcm 𝑀 ) ∥ 𝑥 ) ) | |
| 22 | 17 19 20 21 | syl3anc | ⊢ ( ( ( 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑃 ∈ ℤ ) ∧ 𝑥 ∈ ℕ ) → ( ( 𝑁 ∥ 𝑥 ∧ 𝑀 ∥ 𝑥 ) ↔ ( 𝑁 lcm 𝑀 ) ∥ 𝑥 ) ) |
| 23 | 22 | anbi1d | ⊢ ( ( ( 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑃 ∈ ℤ ) ∧ 𝑥 ∈ ℕ ) → ( ( ( 𝑁 ∥ 𝑥 ∧ 𝑀 ∥ 𝑥 ) ∧ 𝑃 ∥ 𝑥 ) ↔ ( ( 𝑁 lcm 𝑀 ) ∥ 𝑥 ∧ 𝑃 ∥ 𝑥 ) ) ) |
| 24 | 23 | rabbidva | ⊢ ( ( 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑃 ∈ ℤ ) → { 𝑥 ∈ ℕ ∣ ( ( 𝑁 ∥ 𝑥 ∧ 𝑀 ∥ 𝑥 ) ∧ 𝑃 ∥ 𝑥 ) } = { 𝑥 ∈ ℕ ∣ ( ( 𝑁 lcm 𝑀 ) ∥ 𝑥 ∧ 𝑃 ∥ 𝑥 ) } ) |
| 25 | 24 | infeq1d | ⊢ ( ( 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑃 ∈ ℤ ) → inf ( { 𝑥 ∈ ℕ ∣ ( ( 𝑁 ∥ 𝑥 ∧ 𝑀 ∥ 𝑥 ) ∧ 𝑃 ∥ 𝑥 ) } , ℝ , < ) = inf ( { 𝑥 ∈ ℕ ∣ ( ( 𝑁 lcm 𝑀 ) ∥ 𝑥 ∧ 𝑃 ∥ 𝑥 ) } , ℝ , < ) ) |
| 26 | 15 25 | ifbieq2d | ⊢ ( ( 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑃 ∈ ℤ ) → if ( ( ( 𝑁 = 0 ∨ 𝑀 = 0 ) ∨ 𝑃 = 0 ) , 0 , inf ( { 𝑥 ∈ ℕ ∣ ( ( 𝑁 ∥ 𝑥 ∧ 𝑀 ∥ 𝑥 ) ∧ 𝑃 ∥ 𝑥 ) } , ℝ , < ) ) = if ( ( ( 𝑁 lcm 𝑀 ) = 0 ∨ 𝑃 = 0 ) , 0 , inf ( { 𝑥 ∈ ℕ ∣ ( ( 𝑁 lcm 𝑀 ) ∥ 𝑥 ∧ 𝑃 ∥ 𝑥 ) } , ℝ , < ) ) ) |
| 27 | 11 26 | eqtr4d | ⊢ ( ( 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑃 ∈ ℤ ) → ( ( 𝑁 lcm 𝑀 ) lcm 𝑃 ) = if ( ( ( 𝑁 = 0 ∨ 𝑀 = 0 ) ∨ 𝑃 = 0 ) , 0 , inf ( { 𝑥 ∈ ℕ ∣ ( ( 𝑁 ∥ 𝑥 ∧ 𝑀 ∥ 𝑥 ) ∧ 𝑃 ∥ 𝑥 ) } , ℝ , < ) ) ) |
| 28 | lcmcl | ⊢ ( ( 𝑀 ∈ ℤ ∧ 𝑃 ∈ ℤ ) → ( 𝑀 lcm 𝑃 ) ∈ ℕ0 ) | |
| 29 | 28 | 3adant1 | ⊢ ( ( 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑃 ∈ ℤ ) → ( 𝑀 lcm 𝑃 ) ∈ ℕ0 ) |
| 30 | 29 | nn0zd | ⊢ ( ( 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑃 ∈ ℤ ) → ( 𝑀 lcm 𝑃 ) ∈ ℤ ) |
| 31 | lcmval | ⊢ ( ( 𝑁 ∈ ℤ ∧ ( 𝑀 lcm 𝑃 ) ∈ ℤ ) → ( 𝑁 lcm ( 𝑀 lcm 𝑃 ) ) = if ( ( 𝑁 = 0 ∨ ( 𝑀 lcm 𝑃 ) = 0 ) , 0 , inf ( { 𝑥 ∈ ℕ ∣ ( 𝑁 ∥ 𝑥 ∧ ( 𝑀 lcm 𝑃 ) ∥ 𝑥 ) } , ℝ , < ) ) ) | |
| 32 | 18 30 31 | syl2anc | ⊢ ( ( 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑃 ∈ ℤ ) → ( 𝑁 lcm ( 𝑀 lcm 𝑃 ) ) = if ( ( 𝑁 = 0 ∨ ( 𝑀 lcm 𝑃 ) = 0 ) , 0 , inf ( { 𝑥 ∈ ℕ ∣ ( 𝑁 ∥ 𝑥 ∧ ( 𝑀 lcm 𝑃 ) ∥ 𝑥 ) } , ℝ , < ) ) ) |
| 33 | lcmeq0 | ⊢ ( ( 𝑀 ∈ ℤ ∧ 𝑃 ∈ ℤ ) → ( ( 𝑀 lcm 𝑃 ) = 0 ↔ ( 𝑀 = 0 ∨ 𝑃 = 0 ) ) ) | |
| 34 | 33 | 3adant1 | ⊢ ( ( 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑃 ∈ ℤ ) → ( ( 𝑀 lcm 𝑃 ) = 0 ↔ ( 𝑀 = 0 ∨ 𝑃 = 0 ) ) ) |
| 35 | 34 | orbi2d | ⊢ ( ( 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑃 ∈ ℤ ) → ( ( 𝑁 = 0 ∨ ( 𝑀 lcm 𝑃 ) = 0 ) ↔ ( 𝑁 = 0 ∨ ( 𝑀 = 0 ∨ 𝑃 = 0 ) ) ) ) |
| 36 | 35 | bicomd | ⊢ ( ( 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑃 ∈ ℤ ) → ( ( 𝑁 = 0 ∨ ( 𝑀 = 0 ∨ 𝑃 = 0 ) ) ↔ ( 𝑁 = 0 ∨ ( 𝑀 lcm 𝑃 ) = 0 ) ) ) |
| 37 | 9 | adantr | ⊢ ( ( ( 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑃 ∈ ℤ ) ∧ 𝑥 ∈ ℕ ) → 𝑃 ∈ ℤ ) |
| 38 | lcmdvdsb | ⊢ ( ( 𝑥 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑃 ∈ ℤ ) → ( ( 𝑀 ∥ 𝑥 ∧ 𝑃 ∥ 𝑥 ) ↔ ( 𝑀 lcm 𝑃 ) ∥ 𝑥 ) ) | |
| 39 | 17 20 37 38 | syl3anc | ⊢ ( ( ( 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑃 ∈ ℤ ) ∧ 𝑥 ∈ ℕ ) → ( ( 𝑀 ∥ 𝑥 ∧ 𝑃 ∥ 𝑥 ) ↔ ( 𝑀 lcm 𝑃 ) ∥ 𝑥 ) ) |
| 40 | 39 | anbi2d | ⊢ ( ( ( 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑃 ∈ ℤ ) ∧ 𝑥 ∈ ℕ ) → ( ( 𝑁 ∥ 𝑥 ∧ ( 𝑀 ∥ 𝑥 ∧ 𝑃 ∥ 𝑥 ) ) ↔ ( 𝑁 ∥ 𝑥 ∧ ( 𝑀 lcm 𝑃 ) ∥ 𝑥 ) ) ) |
| 41 | 40 | rabbidva | ⊢ ( ( 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑃 ∈ ℤ ) → { 𝑥 ∈ ℕ ∣ ( 𝑁 ∥ 𝑥 ∧ ( 𝑀 ∥ 𝑥 ∧ 𝑃 ∥ 𝑥 ) ) } = { 𝑥 ∈ ℕ ∣ ( 𝑁 ∥ 𝑥 ∧ ( 𝑀 lcm 𝑃 ) ∥ 𝑥 ) } ) |
| 42 | 41 | infeq1d | ⊢ ( ( 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑃 ∈ ℤ ) → inf ( { 𝑥 ∈ ℕ ∣ ( 𝑁 ∥ 𝑥 ∧ ( 𝑀 ∥ 𝑥 ∧ 𝑃 ∥ 𝑥 ) ) } , ℝ , < ) = inf ( { 𝑥 ∈ ℕ ∣ ( 𝑁 ∥ 𝑥 ∧ ( 𝑀 lcm 𝑃 ) ∥ 𝑥 ) } , ℝ , < ) ) |
| 43 | 36 42 | ifbieq2d | ⊢ ( ( 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑃 ∈ ℤ ) → if ( ( 𝑁 = 0 ∨ ( 𝑀 = 0 ∨ 𝑃 = 0 ) ) , 0 , inf ( { 𝑥 ∈ ℕ ∣ ( 𝑁 ∥ 𝑥 ∧ ( 𝑀 ∥ 𝑥 ∧ 𝑃 ∥ 𝑥 ) ) } , ℝ , < ) ) = if ( ( 𝑁 = 0 ∨ ( 𝑀 lcm 𝑃 ) = 0 ) , 0 , inf ( { 𝑥 ∈ ℕ ∣ ( 𝑁 ∥ 𝑥 ∧ ( 𝑀 lcm 𝑃 ) ∥ 𝑥 ) } , ℝ , < ) ) ) |
| 44 | 32 43 | eqtr4d | ⊢ ( ( 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑃 ∈ ℤ ) → ( 𝑁 lcm ( 𝑀 lcm 𝑃 ) ) = if ( ( 𝑁 = 0 ∨ ( 𝑀 = 0 ∨ 𝑃 = 0 ) ) , 0 , inf ( { 𝑥 ∈ ℕ ∣ ( 𝑁 ∥ 𝑥 ∧ ( 𝑀 ∥ 𝑥 ∧ 𝑃 ∥ 𝑥 ) ) } , ℝ , < ) ) ) |
| 45 | 5 27 44 | 3eqtr4a | ⊢ ( ( 𝑁 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑃 ∈ ℤ ) → ( ( 𝑁 lcm 𝑀 ) lcm 𝑃 ) = ( 𝑁 lcm ( 𝑀 lcm 𝑃 ) ) ) |