Metamath Proof Explorer


Theorem ghmgrp

Description: The image of a group G under a group homomorphism F is a group. This is a stronger result than that usually found in the literature, since the target of the homomorphism (operator O in our model) need not have any of the properties of a group as a prerequisite. (Contributed by Paul Chapman, 25-Apr-2008) (Revised by Mario Carneiro, 12-May-2014) (Revised by Thierry Arnoux, 25-Jan-2020)

Ref Expression
Hypotheses ghmgrp.f ( ( 𝜑𝑥𝑋𝑦𝑋 ) → ( 𝐹 ‘ ( 𝑥 + 𝑦 ) ) = ( ( 𝐹𝑥 ) ( 𝐹𝑦 ) ) )
ghmgrp.x 𝑋 = ( Base ‘ 𝐺 )
ghmgrp.y 𝑌 = ( Base ‘ 𝐻 )
ghmgrp.p + = ( +g𝐺 )
ghmgrp.q = ( +g𝐻 )
ghmgrp.1 ( 𝜑𝐹 : 𝑋onto𝑌 )
ghmgrp.3 ( 𝜑𝐺 ∈ Grp )
Assertion ghmgrp ( 𝜑𝐻 ∈ Grp )

Proof

Step Hyp Ref Expression
1 ghmgrp.f ( ( 𝜑𝑥𝑋𝑦𝑋 ) → ( 𝐹 ‘ ( 𝑥 + 𝑦 ) ) = ( ( 𝐹𝑥 ) ( 𝐹𝑦 ) ) )
2 ghmgrp.x 𝑋 = ( Base ‘ 𝐺 )
3 ghmgrp.y 𝑌 = ( Base ‘ 𝐻 )
4 ghmgrp.p + = ( +g𝐺 )
5 ghmgrp.q = ( +g𝐻 )
6 ghmgrp.1 ( 𝜑𝐹 : 𝑋onto𝑌 )
7 ghmgrp.3 ( 𝜑𝐺 ∈ Grp )
8 grpmnd ( 𝐺 ∈ Grp → 𝐺 ∈ Mnd )
9 7 8 syl ( 𝜑𝐺 ∈ Mnd )
10 1 2 3 4 5 6 9 mhmmnd ( 𝜑𝐻 ∈ Mnd )
11 fof ( 𝐹 : 𝑋onto𝑌𝐹 : 𝑋𝑌 )
12 6 11 syl ( 𝜑𝐹 : 𝑋𝑌 )
13 12 ad3antrrr ( ( ( ( 𝜑𝑎𝑌 ) ∧ 𝑖𝑋 ) ∧ ( 𝐹𝑖 ) = 𝑎 ) → 𝐹 : 𝑋𝑌 )
14 7 ad3antrrr ( ( ( ( 𝜑𝑎𝑌 ) ∧ 𝑖𝑋 ) ∧ ( 𝐹𝑖 ) = 𝑎 ) → 𝐺 ∈ Grp )
15 simplr ( ( ( ( 𝜑𝑎𝑌 ) ∧ 𝑖𝑋 ) ∧ ( 𝐹𝑖 ) = 𝑎 ) → 𝑖𝑋 )
16 eqid ( invg𝐺 ) = ( invg𝐺 )
17 2 16 grpinvcl ( ( 𝐺 ∈ Grp ∧ 𝑖𝑋 ) → ( ( invg𝐺 ) ‘ 𝑖 ) ∈ 𝑋 )
18 14 15 17 syl2anc ( ( ( ( 𝜑𝑎𝑌 ) ∧ 𝑖𝑋 ) ∧ ( 𝐹𝑖 ) = 𝑎 ) → ( ( invg𝐺 ) ‘ 𝑖 ) ∈ 𝑋 )
19 13 18 ffvelrnd ( ( ( ( 𝜑𝑎𝑌 ) ∧ 𝑖𝑋 ) ∧ ( 𝐹𝑖 ) = 𝑎 ) → ( 𝐹 ‘ ( ( invg𝐺 ) ‘ 𝑖 ) ) ∈ 𝑌 )
20 1 3adant1r ( ( ( 𝜑𝑖𝑋 ) ∧ 𝑥𝑋𝑦𝑋 ) → ( 𝐹 ‘ ( 𝑥 + 𝑦 ) ) = ( ( 𝐹𝑥 ) ( 𝐹𝑦 ) ) )
21 7 17 sylan ( ( 𝜑𝑖𝑋 ) → ( ( invg𝐺 ) ‘ 𝑖 ) ∈ 𝑋 )
22 simpr ( ( 𝜑𝑖𝑋 ) → 𝑖𝑋 )
23 20 21 22 mhmlem ( ( 𝜑𝑖𝑋 ) → ( 𝐹 ‘ ( ( ( invg𝐺 ) ‘ 𝑖 ) + 𝑖 ) ) = ( ( 𝐹 ‘ ( ( invg𝐺 ) ‘ 𝑖 ) ) ( 𝐹𝑖 ) ) )
24 23 ad4ant13 ( ( ( ( 𝜑𝑎𝑌 ) ∧ 𝑖𝑋 ) ∧ ( 𝐹𝑖 ) = 𝑎 ) → ( 𝐹 ‘ ( ( ( invg𝐺 ) ‘ 𝑖 ) + 𝑖 ) ) = ( ( 𝐹 ‘ ( ( invg𝐺 ) ‘ 𝑖 ) ) ( 𝐹𝑖 ) ) )
25 eqid ( 0g𝐺 ) = ( 0g𝐺 )
26 2 4 25 16 grplinv ( ( 𝐺 ∈ Grp ∧ 𝑖𝑋 ) → ( ( ( invg𝐺 ) ‘ 𝑖 ) + 𝑖 ) = ( 0g𝐺 ) )
27 26 fveq2d ( ( 𝐺 ∈ Grp ∧ 𝑖𝑋 ) → ( 𝐹 ‘ ( ( ( invg𝐺 ) ‘ 𝑖 ) + 𝑖 ) ) = ( 𝐹 ‘ ( 0g𝐺 ) ) )
28 14 15 27 syl2anc ( ( ( ( 𝜑𝑎𝑌 ) ∧ 𝑖𝑋 ) ∧ ( 𝐹𝑖 ) = 𝑎 ) → ( 𝐹 ‘ ( ( ( invg𝐺 ) ‘ 𝑖 ) + 𝑖 ) ) = ( 𝐹 ‘ ( 0g𝐺 ) ) )
29 1 2 3 4 5 6 9 25 mhmid ( 𝜑 → ( 𝐹 ‘ ( 0g𝐺 ) ) = ( 0g𝐻 ) )
30 29 ad3antrrr ( ( ( ( 𝜑𝑎𝑌 ) ∧ 𝑖𝑋 ) ∧ ( 𝐹𝑖 ) = 𝑎 ) → ( 𝐹 ‘ ( 0g𝐺 ) ) = ( 0g𝐻 ) )
31 28 30 eqtrd ( ( ( ( 𝜑𝑎𝑌 ) ∧ 𝑖𝑋 ) ∧ ( 𝐹𝑖 ) = 𝑎 ) → ( 𝐹 ‘ ( ( ( invg𝐺 ) ‘ 𝑖 ) + 𝑖 ) ) = ( 0g𝐻 ) )
32 simpr ( ( ( ( 𝜑𝑎𝑌 ) ∧ 𝑖𝑋 ) ∧ ( 𝐹𝑖 ) = 𝑎 ) → ( 𝐹𝑖 ) = 𝑎 )
33 32 oveq2d ( ( ( ( 𝜑𝑎𝑌 ) ∧ 𝑖𝑋 ) ∧ ( 𝐹𝑖 ) = 𝑎 ) → ( ( 𝐹 ‘ ( ( invg𝐺 ) ‘ 𝑖 ) ) ( 𝐹𝑖 ) ) = ( ( 𝐹 ‘ ( ( invg𝐺 ) ‘ 𝑖 ) ) 𝑎 ) )
34 24 31 33 3eqtr3rd ( ( ( ( 𝜑𝑎𝑌 ) ∧ 𝑖𝑋 ) ∧ ( 𝐹𝑖 ) = 𝑎 ) → ( ( 𝐹 ‘ ( ( invg𝐺 ) ‘ 𝑖 ) ) 𝑎 ) = ( 0g𝐻 ) )
35 oveq1 ( 𝑓 = ( 𝐹 ‘ ( ( invg𝐺 ) ‘ 𝑖 ) ) → ( 𝑓 𝑎 ) = ( ( 𝐹 ‘ ( ( invg𝐺 ) ‘ 𝑖 ) ) 𝑎 ) )
36 35 eqeq1d ( 𝑓 = ( 𝐹 ‘ ( ( invg𝐺 ) ‘ 𝑖 ) ) → ( ( 𝑓 𝑎 ) = ( 0g𝐻 ) ↔ ( ( 𝐹 ‘ ( ( invg𝐺 ) ‘ 𝑖 ) ) 𝑎 ) = ( 0g𝐻 ) ) )
37 36 rspcev ( ( ( 𝐹 ‘ ( ( invg𝐺 ) ‘ 𝑖 ) ) ∈ 𝑌 ∧ ( ( 𝐹 ‘ ( ( invg𝐺 ) ‘ 𝑖 ) ) 𝑎 ) = ( 0g𝐻 ) ) → ∃ 𝑓𝑌 ( 𝑓 𝑎 ) = ( 0g𝐻 ) )
38 19 34 37 syl2anc ( ( ( ( 𝜑𝑎𝑌 ) ∧ 𝑖𝑋 ) ∧ ( 𝐹𝑖 ) = 𝑎 ) → ∃ 𝑓𝑌 ( 𝑓 𝑎 ) = ( 0g𝐻 ) )
39 foelrni ( ( 𝐹 : 𝑋onto𝑌𝑎𝑌 ) → ∃ 𝑖𝑋 ( 𝐹𝑖 ) = 𝑎 )
40 6 39 sylan ( ( 𝜑𝑎𝑌 ) → ∃ 𝑖𝑋 ( 𝐹𝑖 ) = 𝑎 )
41 38 40 r19.29a ( ( 𝜑𝑎𝑌 ) → ∃ 𝑓𝑌 ( 𝑓 𝑎 ) = ( 0g𝐻 ) )
42 41 ralrimiva ( 𝜑 → ∀ 𝑎𝑌𝑓𝑌 ( 𝑓 𝑎 ) = ( 0g𝐻 ) )
43 eqid ( 0g𝐻 ) = ( 0g𝐻 )
44 3 5 43 isgrp ( 𝐻 ∈ Grp ↔ ( 𝐻 ∈ Mnd ∧ ∀ 𝑎𝑌𝑓𝑌 ( 𝑓 𝑎 ) = ( 0g𝐻 ) ) )
45 10 42 44 sylanbrc ( 𝜑𝐻 ∈ Grp )