This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Product of group multiples, for positive multiples in a semigroup. (Contributed by Mario Carneiro, 13-Dec-2014) (Revised by AV, 29-Aug-2021)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | mulgass.b | ⊢ 𝐵 = ( Base ‘ 𝐺 ) | |
| mulgass.t | ⊢ · = ( .g ‘ 𝐺 ) | ||
| Assertion | mulgnnass | ⊢ ( ( 𝐺 ∈ Smgrp ∧ ( 𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑋 ∈ 𝐵 ) ) → ( ( 𝑀 · 𝑁 ) · 𝑋 ) = ( 𝑀 · ( 𝑁 · 𝑋 ) ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | mulgass.b | ⊢ 𝐵 = ( Base ‘ 𝐺 ) | |
| 2 | mulgass.t | ⊢ · = ( .g ‘ 𝐺 ) | |
| 3 | oveq1 | ⊢ ( 𝑛 = 1 → ( 𝑛 · 𝑁 ) = ( 1 · 𝑁 ) ) | |
| 4 | 3 | oveq1d | ⊢ ( 𝑛 = 1 → ( ( 𝑛 · 𝑁 ) · 𝑋 ) = ( ( 1 · 𝑁 ) · 𝑋 ) ) |
| 5 | oveq1 | ⊢ ( 𝑛 = 1 → ( 𝑛 · ( 𝑁 · 𝑋 ) ) = ( 1 · ( 𝑁 · 𝑋 ) ) ) | |
| 6 | 4 5 | eqeq12d | ⊢ ( 𝑛 = 1 → ( ( ( 𝑛 · 𝑁 ) · 𝑋 ) = ( 𝑛 · ( 𝑁 · 𝑋 ) ) ↔ ( ( 1 · 𝑁 ) · 𝑋 ) = ( 1 · ( 𝑁 · 𝑋 ) ) ) ) |
| 7 | 6 | imbi2d | ⊢ ( 𝑛 = 1 → ( ( ( 𝑁 ∈ ℕ ∧ 𝑋 ∈ 𝐵 ∧ 𝐺 ∈ Smgrp ) → ( ( 𝑛 · 𝑁 ) · 𝑋 ) = ( 𝑛 · ( 𝑁 · 𝑋 ) ) ) ↔ ( ( 𝑁 ∈ ℕ ∧ 𝑋 ∈ 𝐵 ∧ 𝐺 ∈ Smgrp ) → ( ( 1 · 𝑁 ) · 𝑋 ) = ( 1 · ( 𝑁 · 𝑋 ) ) ) ) ) |
| 8 | oveq1 | ⊢ ( 𝑛 = 𝑚 → ( 𝑛 · 𝑁 ) = ( 𝑚 · 𝑁 ) ) | |
| 9 | 8 | oveq1d | ⊢ ( 𝑛 = 𝑚 → ( ( 𝑛 · 𝑁 ) · 𝑋 ) = ( ( 𝑚 · 𝑁 ) · 𝑋 ) ) |
| 10 | oveq1 | ⊢ ( 𝑛 = 𝑚 → ( 𝑛 · ( 𝑁 · 𝑋 ) ) = ( 𝑚 · ( 𝑁 · 𝑋 ) ) ) | |
| 11 | 9 10 | eqeq12d | ⊢ ( 𝑛 = 𝑚 → ( ( ( 𝑛 · 𝑁 ) · 𝑋 ) = ( 𝑛 · ( 𝑁 · 𝑋 ) ) ↔ ( ( 𝑚 · 𝑁 ) · 𝑋 ) = ( 𝑚 · ( 𝑁 · 𝑋 ) ) ) ) |
| 12 | 11 | imbi2d | ⊢ ( 𝑛 = 𝑚 → ( ( ( 𝑁 ∈ ℕ ∧ 𝑋 ∈ 𝐵 ∧ 𝐺 ∈ Smgrp ) → ( ( 𝑛 · 𝑁 ) · 𝑋 ) = ( 𝑛 · ( 𝑁 · 𝑋 ) ) ) ↔ ( ( 𝑁 ∈ ℕ ∧ 𝑋 ∈ 𝐵 ∧ 𝐺 ∈ Smgrp ) → ( ( 𝑚 · 𝑁 ) · 𝑋 ) = ( 𝑚 · ( 𝑁 · 𝑋 ) ) ) ) ) |
| 13 | oveq1 | ⊢ ( 𝑛 = ( 𝑚 + 1 ) → ( 𝑛 · 𝑁 ) = ( ( 𝑚 + 1 ) · 𝑁 ) ) | |
| 14 | 13 | oveq1d | ⊢ ( 𝑛 = ( 𝑚 + 1 ) → ( ( 𝑛 · 𝑁 ) · 𝑋 ) = ( ( ( 𝑚 + 1 ) · 𝑁 ) · 𝑋 ) ) |
| 15 | oveq1 | ⊢ ( 𝑛 = ( 𝑚 + 1 ) → ( 𝑛 · ( 𝑁 · 𝑋 ) ) = ( ( 𝑚 + 1 ) · ( 𝑁 · 𝑋 ) ) ) | |
| 16 | 14 15 | eqeq12d | ⊢ ( 𝑛 = ( 𝑚 + 1 ) → ( ( ( 𝑛 · 𝑁 ) · 𝑋 ) = ( 𝑛 · ( 𝑁 · 𝑋 ) ) ↔ ( ( ( 𝑚 + 1 ) · 𝑁 ) · 𝑋 ) = ( ( 𝑚 + 1 ) · ( 𝑁 · 𝑋 ) ) ) ) |
| 17 | 16 | imbi2d | ⊢ ( 𝑛 = ( 𝑚 + 1 ) → ( ( ( 𝑁 ∈ ℕ ∧ 𝑋 ∈ 𝐵 ∧ 𝐺 ∈ Smgrp ) → ( ( 𝑛 · 𝑁 ) · 𝑋 ) = ( 𝑛 · ( 𝑁 · 𝑋 ) ) ) ↔ ( ( 𝑁 ∈ ℕ ∧ 𝑋 ∈ 𝐵 ∧ 𝐺 ∈ Smgrp ) → ( ( ( 𝑚 + 1 ) · 𝑁 ) · 𝑋 ) = ( ( 𝑚 + 1 ) · ( 𝑁 · 𝑋 ) ) ) ) ) |
| 18 | oveq1 | ⊢ ( 𝑛 = 𝑀 → ( 𝑛 · 𝑁 ) = ( 𝑀 · 𝑁 ) ) | |
| 19 | 18 | oveq1d | ⊢ ( 𝑛 = 𝑀 → ( ( 𝑛 · 𝑁 ) · 𝑋 ) = ( ( 𝑀 · 𝑁 ) · 𝑋 ) ) |
| 20 | oveq1 | ⊢ ( 𝑛 = 𝑀 → ( 𝑛 · ( 𝑁 · 𝑋 ) ) = ( 𝑀 · ( 𝑁 · 𝑋 ) ) ) | |
| 21 | 19 20 | eqeq12d | ⊢ ( 𝑛 = 𝑀 → ( ( ( 𝑛 · 𝑁 ) · 𝑋 ) = ( 𝑛 · ( 𝑁 · 𝑋 ) ) ↔ ( ( 𝑀 · 𝑁 ) · 𝑋 ) = ( 𝑀 · ( 𝑁 · 𝑋 ) ) ) ) |
| 22 | 21 | imbi2d | ⊢ ( 𝑛 = 𝑀 → ( ( ( 𝑁 ∈ ℕ ∧ 𝑋 ∈ 𝐵 ∧ 𝐺 ∈ Smgrp ) → ( ( 𝑛 · 𝑁 ) · 𝑋 ) = ( 𝑛 · ( 𝑁 · 𝑋 ) ) ) ↔ ( ( 𝑁 ∈ ℕ ∧ 𝑋 ∈ 𝐵 ∧ 𝐺 ∈ Smgrp ) → ( ( 𝑀 · 𝑁 ) · 𝑋 ) = ( 𝑀 · ( 𝑁 · 𝑋 ) ) ) ) ) |
| 23 | nncn | ⊢ ( 𝑁 ∈ ℕ → 𝑁 ∈ ℂ ) | |
| 24 | 23 | mullidd | ⊢ ( 𝑁 ∈ ℕ → ( 1 · 𝑁 ) = 𝑁 ) |
| 25 | 24 | 3ad2ant1 | ⊢ ( ( 𝑁 ∈ ℕ ∧ 𝑋 ∈ 𝐵 ∧ 𝐺 ∈ Smgrp ) → ( 1 · 𝑁 ) = 𝑁 ) |
| 26 | 25 | oveq1d | ⊢ ( ( 𝑁 ∈ ℕ ∧ 𝑋 ∈ 𝐵 ∧ 𝐺 ∈ Smgrp ) → ( ( 1 · 𝑁 ) · 𝑋 ) = ( 𝑁 · 𝑋 ) ) |
| 27 | sgrpmgm | ⊢ ( 𝐺 ∈ Smgrp → 𝐺 ∈ Mgm ) | |
| 28 | 1 2 | mulgnncl | ⊢ ( ( 𝐺 ∈ Mgm ∧ 𝑁 ∈ ℕ ∧ 𝑋 ∈ 𝐵 ) → ( 𝑁 · 𝑋 ) ∈ 𝐵 ) |
| 29 | 27 28 | syl3an1 | ⊢ ( ( 𝐺 ∈ Smgrp ∧ 𝑁 ∈ ℕ ∧ 𝑋 ∈ 𝐵 ) → ( 𝑁 · 𝑋 ) ∈ 𝐵 ) |
| 30 | 29 | 3coml | ⊢ ( ( 𝑁 ∈ ℕ ∧ 𝑋 ∈ 𝐵 ∧ 𝐺 ∈ Smgrp ) → ( 𝑁 · 𝑋 ) ∈ 𝐵 ) |
| 31 | 1 2 | mulg1 | ⊢ ( ( 𝑁 · 𝑋 ) ∈ 𝐵 → ( 1 · ( 𝑁 · 𝑋 ) ) = ( 𝑁 · 𝑋 ) ) |
| 32 | 30 31 | syl | ⊢ ( ( 𝑁 ∈ ℕ ∧ 𝑋 ∈ 𝐵 ∧ 𝐺 ∈ Smgrp ) → ( 1 · ( 𝑁 · 𝑋 ) ) = ( 𝑁 · 𝑋 ) ) |
| 33 | 26 32 | eqtr4d | ⊢ ( ( 𝑁 ∈ ℕ ∧ 𝑋 ∈ 𝐵 ∧ 𝐺 ∈ Smgrp ) → ( ( 1 · 𝑁 ) · 𝑋 ) = ( 1 · ( 𝑁 · 𝑋 ) ) ) |
| 34 | oveq1 | ⊢ ( ( ( 𝑚 · 𝑁 ) · 𝑋 ) = ( 𝑚 · ( 𝑁 · 𝑋 ) ) → ( ( ( 𝑚 · 𝑁 ) · 𝑋 ) ( +g ‘ 𝐺 ) ( 𝑁 · 𝑋 ) ) = ( ( 𝑚 · ( 𝑁 · 𝑋 ) ) ( +g ‘ 𝐺 ) ( 𝑁 · 𝑋 ) ) ) | |
| 35 | nncn | ⊢ ( 𝑚 ∈ ℕ → 𝑚 ∈ ℂ ) | |
| 36 | 35 | adantr | ⊢ ( ( 𝑚 ∈ ℕ ∧ ( 𝑁 ∈ ℕ ∧ 𝑋 ∈ 𝐵 ∧ 𝐺 ∈ Smgrp ) ) → 𝑚 ∈ ℂ ) |
| 37 | simpr1 | ⊢ ( ( 𝑚 ∈ ℕ ∧ ( 𝑁 ∈ ℕ ∧ 𝑋 ∈ 𝐵 ∧ 𝐺 ∈ Smgrp ) ) → 𝑁 ∈ ℕ ) | |
| 38 | 37 | nncnd | ⊢ ( ( 𝑚 ∈ ℕ ∧ ( 𝑁 ∈ ℕ ∧ 𝑋 ∈ 𝐵 ∧ 𝐺 ∈ Smgrp ) ) → 𝑁 ∈ ℂ ) |
| 39 | 36 38 | adddirp1d | ⊢ ( ( 𝑚 ∈ ℕ ∧ ( 𝑁 ∈ ℕ ∧ 𝑋 ∈ 𝐵 ∧ 𝐺 ∈ Smgrp ) ) → ( ( 𝑚 + 1 ) · 𝑁 ) = ( ( 𝑚 · 𝑁 ) + 𝑁 ) ) |
| 40 | 39 | oveq1d | ⊢ ( ( 𝑚 ∈ ℕ ∧ ( 𝑁 ∈ ℕ ∧ 𝑋 ∈ 𝐵 ∧ 𝐺 ∈ Smgrp ) ) → ( ( ( 𝑚 + 1 ) · 𝑁 ) · 𝑋 ) = ( ( ( 𝑚 · 𝑁 ) + 𝑁 ) · 𝑋 ) ) |
| 41 | simpr3 | ⊢ ( ( 𝑚 ∈ ℕ ∧ ( 𝑁 ∈ ℕ ∧ 𝑋 ∈ 𝐵 ∧ 𝐺 ∈ Smgrp ) ) → 𝐺 ∈ Smgrp ) | |
| 42 | nnmulcl | ⊢ ( ( 𝑚 ∈ ℕ ∧ 𝑁 ∈ ℕ ) → ( 𝑚 · 𝑁 ) ∈ ℕ ) | |
| 43 | 42 | 3ad2antr1 | ⊢ ( ( 𝑚 ∈ ℕ ∧ ( 𝑁 ∈ ℕ ∧ 𝑋 ∈ 𝐵 ∧ 𝐺 ∈ Smgrp ) ) → ( 𝑚 · 𝑁 ) ∈ ℕ ) |
| 44 | simpr2 | ⊢ ( ( 𝑚 ∈ ℕ ∧ ( 𝑁 ∈ ℕ ∧ 𝑋 ∈ 𝐵 ∧ 𝐺 ∈ Smgrp ) ) → 𝑋 ∈ 𝐵 ) | |
| 45 | eqid | ⊢ ( +g ‘ 𝐺 ) = ( +g ‘ 𝐺 ) | |
| 46 | 1 2 45 | mulgnndir | ⊢ ( ( 𝐺 ∈ Smgrp ∧ ( ( 𝑚 · 𝑁 ) ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑋 ∈ 𝐵 ) ) → ( ( ( 𝑚 · 𝑁 ) + 𝑁 ) · 𝑋 ) = ( ( ( 𝑚 · 𝑁 ) · 𝑋 ) ( +g ‘ 𝐺 ) ( 𝑁 · 𝑋 ) ) ) |
| 47 | 41 43 37 44 46 | syl13anc | ⊢ ( ( 𝑚 ∈ ℕ ∧ ( 𝑁 ∈ ℕ ∧ 𝑋 ∈ 𝐵 ∧ 𝐺 ∈ Smgrp ) ) → ( ( ( 𝑚 · 𝑁 ) + 𝑁 ) · 𝑋 ) = ( ( ( 𝑚 · 𝑁 ) · 𝑋 ) ( +g ‘ 𝐺 ) ( 𝑁 · 𝑋 ) ) ) |
| 48 | 40 47 | eqtrd | ⊢ ( ( 𝑚 ∈ ℕ ∧ ( 𝑁 ∈ ℕ ∧ 𝑋 ∈ 𝐵 ∧ 𝐺 ∈ Smgrp ) ) → ( ( ( 𝑚 + 1 ) · 𝑁 ) · 𝑋 ) = ( ( ( 𝑚 · 𝑁 ) · 𝑋 ) ( +g ‘ 𝐺 ) ( 𝑁 · 𝑋 ) ) ) |
| 49 | 1 2 45 | mulgnnp1 | ⊢ ( ( 𝑚 ∈ ℕ ∧ ( 𝑁 · 𝑋 ) ∈ 𝐵 ) → ( ( 𝑚 + 1 ) · ( 𝑁 · 𝑋 ) ) = ( ( 𝑚 · ( 𝑁 · 𝑋 ) ) ( +g ‘ 𝐺 ) ( 𝑁 · 𝑋 ) ) ) |
| 50 | 30 49 | sylan2 | ⊢ ( ( 𝑚 ∈ ℕ ∧ ( 𝑁 ∈ ℕ ∧ 𝑋 ∈ 𝐵 ∧ 𝐺 ∈ Smgrp ) ) → ( ( 𝑚 + 1 ) · ( 𝑁 · 𝑋 ) ) = ( ( 𝑚 · ( 𝑁 · 𝑋 ) ) ( +g ‘ 𝐺 ) ( 𝑁 · 𝑋 ) ) ) |
| 51 | 48 50 | eqeq12d | ⊢ ( ( 𝑚 ∈ ℕ ∧ ( 𝑁 ∈ ℕ ∧ 𝑋 ∈ 𝐵 ∧ 𝐺 ∈ Smgrp ) ) → ( ( ( ( 𝑚 + 1 ) · 𝑁 ) · 𝑋 ) = ( ( 𝑚 + 1 ) · ( 𝑁 · 𝑋 ) ) ↔ ( ( ( 𝑚 · 𝑁 ) · 𝑋 ) ( +g ‘ 𝐺 ) ( 𝑁 · 𝑋 ) ) = ( ( 𝑚 · ( 𝑁 · 𝑋 ) ) ( +g ‘ 𝐺 ) ( 𝑁 · 𝑋 ) ) ) ) |
| 52 | 34 51 | imbitrrid | ⊢ ( ( 𝑚 ∈ ℕ ∧ ( 𝑁 ∈ ℕ ∧ 𝑋 ∈ 𝐵 ∧ 𝐺 ∈ Smgrp ) ) → ( ( ( 𝑚 · 𝑁 ) · 𝑋 ) = ( 𝑚 · ( 𝑁 · 𝑋 ) ) → ( ( ( 𝑚 + 1 ) · 𝑁 ) · 𝑋 ) = ( ( 𝑚 + 1 ) · ( 𝑁 · 𝑋 ) ) ) ) |
| 53 | 52 | ex | ⊢ ( 𝑚 ∈ ℕ → ( ( 𝑁 ∈ ℕ ∧ 𝑋 ∈ 𝐵 ∧ 𝐺 ∈ Smgrp ) → ( ( ( 𝑚 · 𝑁 ) · 𝑋 ) = ( 𝑚 · ( 𝑁 · 𝑋 ) ) → ( ( ( 𝑚 + 1 ) · 𝑁 ) · 𝑋 ) = ( ( 𝑚 + 1 ) · ( 𝑁 · 𝑋 ) ) ) ) ) |
| 54 | 53 | a2d | ⊢ ( 𝑚 ∈ ℕ → ( ( ( 𝑁 ∈ ℕ ∧ 𝑋 ∈ 𝐵 ∧ 𝐺 ∈ Smgrp ) → ( ( 𝑚 · 𝑁 ) · 𝑋 ) = ( 𝑚 · ( 𝑁 · 𝑋 ) ) ) → ( ( 𝑁 ∈ ℕ ∧ 𝑋 ∈ 𝐵 ∧ 𝐺 ∈ Smgrp ) → ( ( ( 𝑚 + 1 ) · 𝑁 ) · 𝑋 ) = ( ( 𝑚 + 1 ) · ( 𝑁 · 𝑋 ) ) ) ) ) |
| 55 | 7 12 17 22 33 54 | nnind | ⊢ ( 𝑀 ∈ ℕ → ( ( 𝑁 ∈ ℕ ∧ 𝑋 ∈ 𝐵 ∧ 𝐺 ∈ Smgrp ) → ( ( 𝑀 · 𝑁 ) · 𝑋 ) = ( 𝑀 · ( 𝑁 · 𝑋 ) ) ) ) |
| 56 | 55 | 3expd | ⊢ ( 𝑀 ∈ ℕ → ( 𝑁 ∈ ℕ → ( 𝑋 ∈ 𝐵 → ( 𝐺 ∈ Smgrp → ( ( 𝑀 · 𝑁 ) · 𝑋 ) = ( 𝑀 · ( 𝑁 · 𝑋 ) ) ) ) ) ) |
| 57 | 56 | com4r | ⊢ ( 𝐺 ∈ Smgrp → ( 𝑀 ∈ ℕ → ( 𝑁 ∈ ℕ → ( 𝑋 ∈ 𝐵 → ( ( 𝑀 · 𝑁 ) · 𝑋 ) = ( 𝑀 · ( 𝑁 · 𝑋 ) ) ) ) ) ) |
| 58 | 57 | 3imp2 | ⊢ ( ( 𝐺 ∈ Smgrp ∧ ( 𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑋 ∈ 𝐵 ) ) → ( ( 𝑀 · 𝑁 ) · 𝑋 ) = ( 𝑀 · ( 𝑁 · 𝑋 ) ) ) |