Metamath Proof Explorer


Theorem mulgmhm

Description: The map from x to n x for a fixed positive integer n is a monoid homomorphism if the monoid is commutative. (Contributed by Mario Carneiro, 4-May-2015)

Ref Expression
Hypotheses mulgmhm.b 𝐵 = ( Base ‘ 𝐺 )
mulgmhm.m · = ( .g𝐺 )
Assertion mulgmhm ( ( 𝐺 ∈ CMnd ∧ 𝑀 ∈ ℕ0 ) → ( 𝑥𝐵 ↦ ( 𝑀 · 𝑥 ) ) ∈ ( 𝐺 MndHom 𝐺 ) )

Proof

Step Hyp Ref Expression
1 mulgmhm.b 𝐵 = ( Base ‘ 𝐺 )
2 mulgmhm.m · = ( .g𝐺 )
3 cmnmnd ( 𝐺 ∈ CMnd → 𝐺 ∈ Mnd )
4 3 adantr ( ( 𝐺 ∈ CMnd ∧ 𝑀 ∈ ℕ0 ) → 𝐺 ∈ Mnd )
5 1 2 mulgnn0cl ( ( 𝐺 ∈ Mnd ∧ 𝑀 ∈ ℕ0𝑥𝐵 ) → ( 𝑀 · 𝑥 ) ∈ 𝐵 )
6 3 5 syl3an1 ( ( 𝐺 ∈ CMnd ∧ 𝑀 ∈ ℕ0𝑥𝐵 ) → ( 𝑀 · 𝑥 ) ∈ 𝐵 )
7 6 3expa ( ( ( 𝐺 ∈ CMnd ∧ 𝑀 ∈ ℕ0 ) ∧ 𝑥𝐵 ) → ( 𝑀 · 𝑥 ) ∈ 𝐵 )
8 7 fmpttd ( ( 𝐺 ∈ CMnd ∧ 𝑀 ∈ ℕ0 ) → ( 𝑥𝐵 ↦ ( 𝑀 · 𝑥 ) ) : 𝐵𝐵 )
9 3anass ( ( 𝑀 ∈ ℕ0𝑦𝐵𝑧𝐵 ) ↔ ( 𝑀 ∈ ℕ0 ∧ ( 𝑦𝐵𝑧𝐵 ) ) )
10 eqid ( +g𝐺 ) = ( +g𝐺 )
11 1 2 10 mulgnn0di ( ( 𝐺 ∈ CMnd ∧ ( 𝑀 ∈ ℕ0𝑦𝐵𝑧𝐵 ) ) → ( 𝑀 · ( 𝑦 ( +g𝐺 ) 𝑧 ) ) = ( ( 𝑀 · 𝑦 ) ( +g𝐺 ) ( 𝑀 · 𝑧 ) ) )
12 9 11 sylan2br ( ( 𝐺 ∈ CMnd ∧ ( 𝑀 ∈ ℕ0 ∧ ( 𝑦𝐵𝑧𝐵 ) ) ) → ( 𝑀 · ( 𝑦 ( +g𝐺 ) 𝑧 ) ) = ( ( 𝑀 · 𝑦 ) ( +g𝐺 ) ( 𝑀 · 𝑧 ) ) )
13 12 anassrs ( ( ( 𝐺 ∈ CMnd ∧ 𝑀 ∈ ℕ0 ) ∧ ( 𝑦𝐵𝑧𝐵 ) ) → ( 𝑀 · ( 𝑦 ( +g𝐺 ) 𝑧 ) ) = ( ( 𝑀 · 𝑦 ) ( +g𝐺 ) ( 𝑀 · 𝑧 ) ) )
14 1 10 mndcl ( ( 𝐺 ∈ Mnd ∧ 𝑦𝐵𝑧𝐵 ) → ( 𝑦 ( +g𝐺 ) 𝑧 ) ∈ 𝐵 )
15 14 3expb ( ( 𝐺 ∈ Mnd ∧ ( 𝑦𝐵𝑧𝐵 ) ) → ( 𝑦 ( +g𝐺 ) 𝑧 ) ∈ 𝐵 )
16 4 15 sylan ( ( ( 𝐺 ∈ CMnd ∧ 𝑀 ∈ ℕ0 ) ∧ ( 𝑦𝐵𝑧𝐵 ) ) → ( 𝑦 ( +g𝐺 ) 𝑧 ) ∈ 𝐵 )
17 oveq2 ( 𝑥 = ( 𝑦 ( +g𝐺 ) 𝑧 ) → ( 𝑀 · 𝑥 ) = ( 𝑀 · ( 𝑦 ( +g𝐺 ) 𝑧 ) ) )
18 eqid ( 𝑥𝐵 ↦ ( 𝑀 · 𝑥 ) ) = ( 𝑥𝐵 ↦ ( 𝑀 · 𝑥 ) )
19 ovex ( 𝑀 · ( 𝑦 ( +g𝐺 ) 𝑧 ) ) ∈ V
20 17 18 19 fvmpt ( ( 𝑦 ( +g𝐺 ) 𝑧 ) ∈ 𝐵 → ( ( 𝑥𝐵 ↦ ( 𝑀 · 𝑥 ) ) ‘ ( 𝑦 ( +g𝐺 ) 𝑧 ) ) = ( 𝑀 · ( 𝑦 ( +g𝐺 ) 𝑧 ) ) )
21 16 20 syl ( ( ( 𝐺 ∈ CMnd ∧ 𝑀 ∈ ℕ0 ) ∧ ( 𝑦𝐵𝑧𝐵 ) ) → ( ( 𝑥𝐵 ↦ ( 𝑀 · 𝑥 ) ) ‘ ( 𝑦 ( +g𝐺 ) 𝑧 ) ) = ( 𝑀 · ( 𝑦 ( +g𝐺 ) 𝑧 ) ) )
22 oveq2 ( 𝑥 = 𝑦 → ( 𝑀 · 𝑥 ) = ( 𝑀 · 𝑦 ) )
23 ovex ( 𝑀 · 𝑦 ) ∈ V
24 22 18 23 fvmpt ( 𝑦𝐵 → ( ( 𝑥𝐵 ↦ ( 𝑀 · 𝑥 ) ) ‘ 𝑦 ) = ( 𝑀 · 𝑦 ) )
25 oveq2 ( 𝑥 = 𝑧 → ( 𝑀 · 𝑥 ) = ( 𝑀 · 𝑧 ) )
26 ovex ( 𝑀 · 𝑧 ) ∈ V
27 25 18 26 fvmpt ( 𝑧𝐵 → ( ( 𝑥𝐵 ↦ ( 𝑀 · 𝑥 ) ) ‘ 𝑧 ) = ( 𝑀 · 𝑧 ) )
28 24 27 oveqan12d ( ( 𝑦𝐵𝑧𝐵 ) → ( ( ( 𝑥𝐵 ↦ ( 𝑀 · 𝑥 ) ) ‘ 𝑦 ) ( +g𝐺 ) ( ( 𝑥𝐵 ↦ ( 𝑀 · 𝑥 ) ) ‘ 𝑧 ) ) = ( ( 𝑀 · 𝑦 ) ( +g𝐺 ) ( 𝑀 · 𝑧 ) ) )
29 28 adantl ( ( ( 𝐺 ∈ CMnd ∧ 𝑀 ∈ ℕ0 ) ∧ ( 𝑦𝐵𝑧𝐵 ) ) → ( ( ( 𝑥𝐵 ↦ ( 𝑀 · 𝑥 ) ) ‘ 𝑦 ) ( +g𝐺 ) ( ( 𝑥𝐵 ↦ ( 𝑀 · 𝑥 ) ) ‘ 𝑧 ) ) = ( ( 𝑀 · 𝑦 ) ( +g𝐺 ) ( 𝑀 · 𝑧 ) ) )
30 13 21 29 3eqtr4d ( ( ( 𝐺 ∈ CMnd ∧ 𝑀 ∈ ℕ0 ) ∧ ( 𝑦𝐵𝑧𝐵 ) ) → ( ( 𝑥𝐵 ↦ ( 𝑀 · 𝑥 ) ) ‘ ( 𝑦 ( +g𝐺 ) 𝑧 ) ) = ( ( ( 𝑥𝐵 ↦ ( 𝑀 · 𝑥 ) ) ‘ 𝑦 ) ( +g𝐺 ) ( ( 𝑥𝐵 ↦ ( 𝑀 · 𝑥 ) ) ‘ 𝑧 ) ) )
31 30 ralrimivva ( ( 𝐺 ∈ CMnd ∧ 𝑀 ∈ ℕ0 ) → ∀ 𝑦𝐵𝑧𝐵 ( ( 𝑥𝐵 ↦ ( 𝑀 · 𝑥 ) ) ‘ ( 𝑦 ( +g𝐺 ) 𝑧 ) ) = ( ( ( 𝑥𝐵 ↦ ( 𝑀 · 𝑥 ) ) ‘ 𝑦 ) ( +g𝐺 ) ( ( 𝑥𝐵 ↦ ( 𝑀 · 𝑥 ) ) ‘ 𝑧 ) ) )
32 eqid ( 0g𝐺 ) = ( 0g𝐺 )
33 1 32 mndidcl ( 𝐺 ∈ Mnd → ( 0g𝐺 ) ∈ 𝐵 )
34 oveq2 ( 𝑥 = ( 0g𝐺 ) → ( 𝑀 · 𝑥 ) = ( 𝑀 · ( 0g𝐺 ) ) )
35 ovex ( 𝑀 · ( 0g𝐺 ) ) ∈ V
36 34 18 35 fvmpt ( ( 0g𝐺 ) ∈ 𝐵 → ( ( 𝑥𝐵 ↦ ( 𝑀 · 𝑥 ) ) ‘ ( 0g𝐺 ) ) = ( 𝑀 · ( 0g𝐺 ) ) )
37 4 33 36 3syl ( ( 𝐺 ∈ CMnd ∧ 𝑀 ∈ ℕ0 ) → ( ( 𝑥𝐵 ↦ ( 𝑀 · 𝑥 ) ) ‘ ( 0g𝐺 ) ) = ( 𝑀 · ( 0g𝐺 ) ) )
38 1 2 32 mulgnn0z ( ( 𝐺 ∈ Mnd ∧ 𝑀 ∈ ℕ0 ) → ( 𝑀 · ( 0g𝐺 ) ) = ( 0g𝐺 ) )
39 3 38 sylan ( ( 𝐺 ∈ CMnd ∧ 𝑀 ∈ ℕ0 ) → ( 𝑀 · ( 0g𝐺 ) ) = ( 0g𝐺 ) )
40 37 39 eqtrd ( ( 𝐺 ∈ CMnd ∧ 𝑀 ∈ ℕ0 ) → ( ( 𝑥𝐵 ↦ ( 𝑀 · 𝑥 ) ) ‘ ( 0g𝐺 ) ) = ( 0g𝐺 ) )
41 8 31 40 3jca ( ( 𝐺 ∈ CMnd ∧ 𝑀 ∈ ℕ0 ) → ( ( 𝑥𝐵 ↦ ( 𝑀 · 𝑥 ) ) : 𝐵𝐵 ∧ ∀ 𝑦𝐵𝑧𝐵 ( ( 𝑥𝐵 ↦ ( 𝑀 · 𝑥 ) ) ‘ ( 𝑦 ( +g𝐺 ) 𝑧 ) ) = ( ( ( 𝑥𝐵 ↦ ( 𝑀 · 𝑥 ) ) ‘ 𝑦 ) ( +g𝐺 ) ( ( 𝑥𝐵 ↦ ( 𝑀 · 𝑥 ) ) ‘ 𝑧 ) ) ∧ ( ( 𝑥𝐵 ↦ ( 𝑀 · 𝑥 ) ) ‘ ( 0g𝐺 ) ) = ( 0g𝐺 ) ) )
42 1 1 10 10 32 32 ismhm ( ( 𝑥𝐵 ↦ ( 𝑀 · 𝑥 ) ) ∈ ( 𝐺 MndHom 𝐺 ) ↔ ( ( 𝐺 ∈ Mnd ∧ 𝐺 ∈ Mnd ) ∧ ( ( 𝑥𝐵 ↦ ( 𝑀 · 𝑥 ) ) : 𝐵𝐵 ∧ ∀ 𝑦𝐵𝑧𝐵 ( ( 𝑥𝐵 ↦ ( 𝑀 · 𝑥 ) ) ‘ ( 𝑦 ( +g𝐺 ) 𝑧 ) ) = ( ( ( 𝑥𝐵 ↦ ( 𝑀 · 𝑥 ) ) ‘ 𝑦 ) ( +g𝐺 ) ( ( 𝑥𝐵 ↦ ( 𝑀 · 𝑥 ) ) ‘ 𝑧 ) ) ∧ ( ( 𝑥𝐵 ↦ ( 𝑀 · 𝑥 ) ) ‘ ( 0g𝐺 ) ) = ( 0g𝐺 ) ) ) )
43 4 4 41 42 syl21anbrc ( ( 𝐺 ∈ CMnd ∧ 𝑀 ∈ ℕ0 ) → ( 𝑥𝐵 ↦ ( 𝑀 · 𝑥 ) ) ∈ ( 𝐺 MndHom 𝐺 ) )