Metamath Proof Explorer


Theorem mhmlin

Description: A monoid homomorphism commutes with composition. (Contributed by Mario Carneiro, 7-Mar-2015)

Ref Expression
Hypotheses mhmlin.b 𝐵 = ( Base ‘ 𝑆 )
mhmlin.p + = ( +g𝑆 )
mhmlin.q = ( +g𝑇 )
Assertion mhmlin ( ( 𝐹 ∈ ( 𝑆 MndHom 𝑇 ) ∧ 𝑋𝐵𝑌𝐵 ) → ( 𝐹 ‘ ( 𝑋 + 𝑌 ) ) = ( ( 𝐹𝑋 ) ( 𝐹𝑌 ) ) )

Proof

Step Hyp Ref Expression
1 mhmlin.b 𝐵 = ( Base ‘ 𝑆 )
2 mhmlin.p + = ( +g𝑆 )
3 mhmlin.q = ( +g𝑇 )
4 eqid ( Base ‘ 𝑇 ) = ( Base ‘ 𝑇 )
5 eqid ( 0g𝑆 ) = ( 0g𝑆 )
6 eqid ( 0g𝑇 ) = ( 0g𝑇 )
7 1 4 2 3 5 6 ismhm ( 𝐹 ∈ ( 𝑆 MndHom 𝑇 ) ↔ ( ( 𝑆 ∈ Mnd ∧ 𝑇 ∈ Mnd ) ∧ ( 𝐹 : 𝐵 ⟶ ( Base ‘ 𝑇 ) ∧ ∀ 𝑥𝐵𝑦𝐵 ( 𝐹 ‘ ( 𝑥 + 𝑦 ) ) = ( ( 𝐹𝑥 ) ( 𝐹𝑦 ) ) ∧ ( 𝐹 ‘ ( 0g𝑆 ) ) = ( 0g𝑇 ) ) ) )
8 7 simprbi ( 𝐹 ∈ ( 𝑆 MndHom 𝑇 ) → ( 𝐹 : 𝐵 ⟶ ( Base ‘ 𝑇 ) ∧ ∀ 𝑥𝐵𝑦𝐵 ( 𝐹 ‘ ( 𝑥 + 𝑦 ) ) = ( ( 𝐹𝑥 ) ( 𝐹𝑦 ) ) ∧ ( 𝐹 ‘ ( 0g𝑆 ) ) = ( 0g𝑇 ) ) )
9 8 simp2d ( 𝐹 ∈ ( 𝑆 MndHom 𝑇 ) → ∀ 𝑥𝐵𝑦𝐵 ( 𝐹 ‘ ( 𝑥 + 𝑦 ) ) = ( ( 𝐹𝑥 ) ( 𝐹𝑦 ) ) )
10 fvoveq1 ( 𝑥 = 𝑋 → ( 𝐹 ‘ ( 𝑥 + 𝑦 ) ) = ( 𝐹 ‘ ( 𝑋 + 𝑦 ) ) )
11 fveq2 ( 𝑥 = 𝑋 → ( 𝐹𝑥 ) = ( 𝐹𝑋 ) )
12 11 oveq1d ( 𝑥 = 𝑋 → ( ( 𝐹𝑥 ) ( 𝐹𝑦 ) ) = ( ( 𝐹𝑋 ) ( 𝐹𝑦 ) ) )
13 10 12 eqeq12d ( 𝑥 = 𝑋 → ( ( 𝐹 ‘ ( 𝑥 + 𝑦 ) ) = ( ( 𝐹𝑥 ) ( 𝐹𝑦 ) ) ↔ ( 𝐹 ‘ ( 𝑋 + 𝑦 ) ) = ( ( 𝐹𝑋 ) ( 𝐹𝑦 ) ) ) )
14 oveq2 ( 𝑦 = 𝑌 → ( 𝑋 + 𝑦 ) = ( 𝑋 + 𝑌 ) )
15 14 fveq2d ( 𝑦 = 𝑌 → ( 𝐹 ‘ ( 𝑋 + 𝑦 ) ) = ( 𝐹 ‘ ( 𝑋 + 𝑌 ) ) )
16 fveq2 ( 𝑦 = 𝑌 → ( 𝐹𝑦 ) = ( 𝐹𝑌 ) )
17 16 oveq2d ( 𝑦 = 𝑌 → ( ( 𝐹𝑋 ) ( 𝐹𝑦 ) ) = ( ( 𝐹𝑋 ) ( 𝐹𝑌 ) ) )
18 15 17 eqeq12d ( 𝑦 = 𝑌 → ( ( 𝐹 ‘ ( 𝑋 + 𝑦 ) ) = ( ( 𝐹𝑋 ) ( 𝐹𝑦 ) ) ↔ ( 𝐹 ‘ ( 𝑋 + 𝑌 ) ) = ( ( 𝐹𝑋 ) ( 𝐹𝑌 ) ) ) )
19 13 18 rspc2v ( ( 𝑋𝐵𝑌𝐵 ) → ( ∀ 𝑥𝐵𝑦𝐵 ( 𝐹 ‘ ( 𝑥 + 𝑦 ) ) = ( ( 𝐹𝑥 ) ( 𝐹𝑦 ) ) → ( 𝐹 ‘ ( 𝑋 + 𝑌 ) ) = ( ( 𝐹𝑋 ) ( 𝐹𝑌 ) ) ) )
20 9 19 syl5com ( 𝐹 ∈ ( 𝑆 MndHom 𝑇 ) → ( ( 𝑋𝐵𝑌𝐵 ) → ( 𝐹 ‘ ( 𝑋 + 𝑌 ) ) = ( ( 𝐹𝑋 ) ( 𝐹𝑌 ) ) ) )
21 20 3impib ( ( 𝐹 ∈ ( 𝑆 MndHom 𝑇 ) ∧ 𝑋𝐵𝑌𝐵 ) → ( 𝐹 ‘ ( 𝑋 + 𝑌 ) ) = ( ( 𝐹𝑋 ) ( 𝐹𝑌 ) ) )