Metamath Proof Explorer


Theorem ghmeql

Description: The equalizer of two group homomorphisms is a subgroup. (Contributed by Stefan O'Rear, 7-Mar-2015) (Revised by Mario Carneiro, 6-May-2015)

Ref Expression
Assertion ghmeql ( ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) ∧ 𝐺 ∈ ( 𝑆 GrpHom 𝑇 ) ) → dom ( 𝐹𝐺 ) ∈ ( SubGrp ‘ 𝑆 ) )

Proof

Step Hyp Ref Expression
1 ghmmhm ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) → 𝐹 ∈ ( 𝑆 MndHom 𝑇 ) )
2 ghmmhm ( 𝐺 ∈ ( 𝑆 GrpHom 𝑇 ) → 𝐺 ∈ ( 𝑆 MndHom 𝑇 ) )
3 mhmeql ( ( 𝐹 ∈ ( 𝑆 MndHom 𝑇 ) ∧ 𝐺 ∈ ( 𝑆 MndHom 𝑇 ) ) → dom ( 𝐹𝐺 ) ∈ ( SubMnd ‘ 𝑆 ) )
4 1 2 3 syl2an ( ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) ∧ 𝐺 ∈ ( 𝑆 GrpHom 𝑇 ) ) → dom ( 𝐹𝐺 ) ∈ ( SubMnd ‘ 𝑆 ) )
5 fveq2 ( 𝑦 = ( ( invg𝑆 ) ‘ 𝑥 ) → ( 𝐹𝑦 ) = ( 𝐹 ‘ ( ( invg𝑆 ) ‘ 𝑥 ) ) )
6 fveq2 ( 𝑦 = ( ( invg𝑆 ) ‘ 𝑥 ) → ( 𝐺𝑦 ) = ( 𝐺 ‘ ( ( invg𝑆 ) ‘ 𝑥 ) ) )
7 5 6 eqeq12d ( 𝑦 = ( ( invg𝑆 ) ‘ 𝑥 ) → ( ( 𝐹𝑦 ) = ( 𝐺𝑦 ) ↔ ( 𝐹 ‘ ( ( invg𝑆 ) ‘ 𝑥 ) ) = ( 𝐺 ‘ ( ( invg𝑆 ) ‘ 𝑥 ) ) ) )
8 ghmgrp1 ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) → 𝑆 ∈ Grp )
9 8 adantr ( ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) ∧ 𝐺 ∈ ( 𝑆 GrpHom 𝑇 ) ) → 𝑆 ∈ Grp )
10 9 adantr ( ( ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) ∧ 𝐺 ∈ ( 𝑆 GrpHom 𝑇 ) ) ∧ ( 𝑥 ∈ ( Base ‘ 𝑆 ) ∧ ( 𝐹𝑥 ) = ( 𝐺𝑥 ) ) ) → 𝑆 ∈ Grp )
11 simprl ( ( ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) ∧ 𝐺 ∈ ( 𝑆 GrpHom 𝑇 ) ) ∧ ( 𝑥 ∈ ( Base ‘ 𝑆 ) ∧ ( 𝐹𝑥 ) = ( 𝐺𝑥 ) ) ) → 𝑥 ∈ ( Base ‘ 𝑆 ) )
12 eqid ( Base ‘ 𝑆 ) = ( Base ‘ 𝑆 )
13 eqid ( invg𝑆 ) = ( invg𝑆 )
14 12 13 grpinvcl ( ( 𝑆 ∈ Grp ∧ 𝑥 ∈ ( Base ‘ 𝑆 ) ) → ( ( invg𝑆 ) ‘ 𝑥 ) ∈ ( Base ‘ 𝑆 ) )
15 10 11 14 syl2anc ( ( ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) ∧ 𝐺 ∈ ( 𝑆 GrpHom 𝑇 ) ) ∧ ( 𝑥 ∈ ( Base ‘ 𝑆 ) ∧ ( 𝐹𝑥 ) = ( 𝐺𝑥 ) ) ) → ( ( invg𝑆 ) ‘ 𝑥 ) ∈ ( Base ‘ 𝑆 ) )
16 simprr ( ( ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) ∧ 𝐺 ∈ ( 𝑆 GrpHom 𝑇 ) ) ∧ ( 𝑥 ∈ ( Base ‘ 𝑆 ) ∧ ( 𝐹𝑥 ) = ( 𝐺𝑥 ) ) ) → ( 𝐹𝑥 ) = ( 𝐺𝑥 ) )
17 16 fveq2d ( ( ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) ∧ 𝐺 ∈ ( 𝑆 GrpHom 𝑇 ) ) ∧ ( 𝑥 ∈ ( Base ‘ 𝑆 ) ∧ ( 𝐹𝑥 ) = ( 𝐺𝑥 ) ) ) → ( ( invg𝑇 ) ‘ ( 𝐹𝑥 ) ) = ( ( invg𝑇 ) ‘ ( 𝐺𝑥 ) ) )
18 eqid ( invg𝑇 ) = ( invg𝑇 )
19 12 13 18 ghminv ( ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) ∧ 𝑥 ∈ ( Base ‘ 𝑆 ) ) → ( 𝐹 ‘ ( ( invg𝑆 ) ‘ 𝑥 ) ) = ( ( invg𝑇 ) ‘ ( 𝐹𝑥 ) ) )
20 19 ad2ant2r ( ( ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) ∧ 𝐺 ∈ ( 𝑆 GrpHom 𝑇 ) ) ∧ ( 𝑥 ∈ ( Base ‘ 𝑆 ) ∧ ( 𝐹𝑥 ) = ( 𝐺𝑥 ) ) ) → ( 𝐹 ‘ ( ( invg𝑆 ) ‘ 𝑥 ) ) = ( ( invg𝑇 ) ‘ ( 𝐹𝑥 ) ) )
21 12 13 18 ghminv ( ( 𝐺 ∈ ( 𝑆 GrpHom 𝑇 ) ∧ 𝑥 ∈ ( Base ‘ 𝑆 ) ) → ( 𝐺 ‘ ( ( invg𝑆 ) ‘ 𝑥 ) ) = ( ( invg𝑇 ) ‘ ( 𝐺𝑥 ) ) )
22 21 ad2ant2lr ( ( ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) ∧ 𝐺 ∈ ( 𝑆 GrpHom 𝑇 ) ) ∧ ( 𝑥 ∈ ( Base ‘ 𝑆 ) ∧ ( 𝐹𝑥 ) = ( 𝐺𝑥 ) ) ) → ( 𝐺 ‘ ( ( invg𝑆 ) ‘ 𝑥 ) ) = ( ( invg𝑇 ) ‘ ( 𝐺𝑥 ) ) )
23 17 20 22 3eqtr4d ( ( ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) ∧ 𝐺 ∈ ( 𝑆 GrpHom 𝑇 ) ) ∧ ( 𝑥 ∈ ( Base ‘ 𝑆 ) ∧ ( 𝐹𝑥 ) = ( 𝐺𝑥 ) ) ) → ( 𝐹 ‘ ( ( invg𝑆 ) ‘ 𝑥 ) ) = ( 𝐺 ‘ ( ( invg𝑆 ) ‘ 𝑥 ) ) )
24 7 15 23 elrabd ( ( ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) ∧ 𝐺 ∈ ( 𝑆 GrpHom 𝑇 ) ) ∧ ( 𝑥 ∈ ( Base ‘ 𝑆 ) ∧ ( 𝐹𝑥 ) = ( 𝐺𝑥 ) ) ) → ( ( invg𝑆 ) ‘ 𝑥 ) ∈ { 𝑦 ∈ ( Base ‘ 𝑆 ) ∣ ( 𝐹𝑦 ) = ( 𝐺𝑦 ) } )
25 24 expr ( ( ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) ∧ 𝐺 ∈ ( 𝑆 GrpHom 𝑇 ) ) ∧ 𝑥 ∈ ( Base ‘ 𝑆 ) ) → ( ( 𝐹𝑥 ) = ( 𝐺𝑥 ) → ( ( invg𝑆 ) ‘ 𝑥 ) ∈ { 𝑦 ∈ ( Base ‘ 𝑆 ) ∣ ( 𝐹𝑦 ) = ( 𝐺𝑦 ) } ) )
26 25 ralrimiva ( ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) ∧ 𝐺 ∈ ( 𝑆 GrpHom 𝑇 ) ) → ∀ 𝑥 ∈ ( Base ‘ 𝑆 ) ( ( 𝐹𝑥 ) = ( 𝐺𝑥 ) → ( ( invg𝑆 ) ‘ 𝑥 ) ∈ { 𝑦 ∈ ( Base ‘ 𝑆 ) ∣ ( 𝐹𝑦 ) = ( 𝐺𝑦 ) } ) )
27 fveq2 ( 𝑦 = 𝑥 → ( 𝐹𝑦 ) = ( 𝐹𝑥 ) )
28 fveq2 ( 𝑦 = 𝑥 → ( 𝐺𝑦 ) = ( 𝐺𝑥 ) )
29 27 28 eqeq12d ( 𝑦 = 𝑥 → ( ( 𝐹𝑦 ) = ( 𝐺𝑦 ) ↔ ( 𝐹𝑥 ) = ( 𝐺𝑥 ) ) )
30 29 ralrab ( ∀ 𝑥 ∈ { 𝑦 ∈ ( Base ‘ 𝑆 ) ∣ ( 𝐹𝑦 ) = ( 𝐺𝑦 ) } ( ( invg𝑆 ) ‘ 𝑥 ) ∈ { 𝑦 ∈ ( Base ‘ 𝑆 ) ∣ ( 𝐹𝑦 ) = ( 𝐺𝑦 ) } ↔ ∀ 𝑥 ∈ ( Base ‘ 𝑆 ) ( ( 𝐹𝑥 ) = ( 𝐺𝑥 ) → ( ( invg𝑆 ) ‘ 𝑥 ) ∈ { 𝑦 ∈ ( Base ‘ 𝑆 ) ∣ ( 𝐹𝑦 ) = ( 𝐺𝑦 ) } ) )
31 26 30 sylibr ( ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) ∧ 𝐺 ∈ ( 𝑆 GrpHom 𝑇 ) ) → ∀ 𝑥 ∈ { 𝑦 ∈ ( Base ‘ 𝑆 ) ∣ ( 𝐹𝑦 ) = ( 𝐺𝑦 ) } ( ( invg𝑆 ) ‘ 𝑥 ) ∈ { 𝑦 ∈ ( Base ‘ 𝑆 ) ∣ ( 𝐹𝑦 ) = ( 𝐺𝑦 ) } )
32 eqid ( Base ‘ 𝑇 ) = ( Base ‘ 𝑇 )
33 12 32 ghmf ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) → 𝐹 : ( Base ‘ 𝑆 ) ⟶ ( Base ‘ 𝑇 ) )
34 33 adantr ( ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) ∧ 𝐺 ∈ ( 𝑆 GrpHom 𝑇 ) ) → 𝐹 : ( Base ‘ 𝑆 ) ⟶ ( Base ‘ 𝑇 ) )
35 34 ffnd ( ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) ∧ 𝐺 ∈ ( 𝑆 GrpHom 𝑇 ) ) → 𝐹 Fn ( Base ‘ 𝑆 ) )
36 12 32 ghmf ( 𝐺 ∈ ( 𝑆 GrpHom 𝑇 ) → 𝐺 : ( Base ‘ 𝑆 ) ⟶ ( Base ‘ 𝑇 ) )
37 36 adantl ( ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) ∧ 𝐺 ∈ ( 𝑆 GrpHom 𝑇 ) ) → 𝐺 : ( Base ‘ 𝑆 ) ⟶ ( Base ‘ 𝑇 ) )
38 37 ffnd ( ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) ∧ 𝐺 ∈ ( 𝑆 GrpHom 𝑇 ) ) → 𝐺 Fn ( Base ‘ 𝑆 ) )
39 fndmin ( ( 𝐹 Fn ( Base ‘ 𝑆 ) ∧ 𝐺 Fn ( Base ‘ 𝑆 ) ) → dom ( 𝐹𝐺 ) = { 𝑦 ∈ ( Base ‘ 𝑆 ) ∣ ( 𝐹𝑦 ) = ( 𝐺𝑦 ) } )
40 35 38 39 syl2anc ( ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) ∧ 𝐺 ∈ ( 𝑆 GrpHom 𝑇 ) ) → dom ( 𝐹𝐺 ) = { 𝑦 ∈ ( Base ‘ 𝑆 ) ∣ ( 𝐹𝑦 ) = ( 𝐺𝑦 ) } )
41 eleq2 ( dom ( 𝐹𝐺 ) = { 𝑦 ∈ ( Base ‘ 𝑆 ) ∣ ( 𝐹𝑦 ) = ( 𝐺𝑦 ) } → ( ( ( invg𝑆 ) ‘ 𝑥 ) ∈ dom ( 𝐹𝐺 ) ↔ ( ( invg𝑆 ) ‘ 𝑥 ) ∈ { 𝑦 ∈ ( Base ‘ 𝑆 ) ∣ ( 𝐹𝑦 ) = ( 𝐺𝑦 ) } ) )
42 41 raleqbi1dv ( dom ( 𝐹𝐺 ) = { 𝑦 ∈ ( Base ‘ 𝑆 ) ∣ ( 𝐹𝑦 ) = ( 𝐺𝑦 ) } → ( ∀ 𝑥 ∈ dom ( 𝐹𝐺 ) ( ( invg𝑆 ) ‘ 𝑥 ) ∈ dom ( 𝐹𝐺 ) ↔ ∀ 𝑥 ∈ { 𝑦 ∈ ( Base ‘ 𝑆 ) ∣ ( 𝐹𝑦 ) = ( 𝐺𝑦 ) } ( ( invg𝑆 ) ‘ 𝑥 ) ∈ { 𝑦 ∈ ( Base ‘ 𝑆 ) ∣ ( 𝐹𝑦 ) = ( 𝐺𝑦 ) } ) )
43 40 42 syl ( ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) ∧ 𝐺 ∈ ( 𝑆 GrpHom 𝑇 ) ) → ( ∀ 𝑥 ∈ dom ( 𝐹𝐺 ) ( ( invg𝑆 ) ‘ 𝑥 ) ∈ dom ( 𝐹𝐺 ) ↔ ∀ 𝑥 ∈ { 𝑦 ∈ ( Base ‘ 𝑆 ) ∣ ( 𝐹𝑦 ) = ( 𝐺𝑦 ) } ( ( invg𝑆 ) ‘ 𝑥 ) ∈ { 𝑦 ∈ ( Base ‘ 𝑆 ) ∣ ( 𝐹𝑦 ) = ( 𝐺𝑦 ) } ) )
44 31 43 mpbird ( ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) ∧ 𝐺 ∈ ( 𝑆 GrpHom 𝑇 ) ) → ∀ 𝑥 ∈ dom ( 𝐹𝐺 ) ( ( invg𝑆 ) ‘ 𝑥 ) ∈ dom ( 𝐹𝐺 ) )
45 13 issubg3 ( 𝑆 ∈ Grp → ( dom ( 𝐹𝐺 ) ∈ ( SubGrp ‘ 𝑆 ) ↔ ( dom ( 𝐹𝐺 ) ∈ ( SubMnd ‘ 𝑆 ) ∧ ∀ 𝑥 ∈ dom ( 𝐹𝐺 ) ( ( invg𝑆 ) ‘ 𝑥 ) ∈ dom ( 𝐹𝐺 ) ) ) )
46 9 45 syl ( ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) ∧ 𝐺 ∈ ( 𝑆 GrpHom 𝑇 ) ) → ( dom ( 𝐹𝐺 ) ∈ ( SubGrp ‘ 𝑆 ) ↔ ( dom ( 𝐹𝐺 ) ∈ ( SubMnd ‘ 𝑆 ) ∧ ∀ 𝑥 ∈ dom ( 𝐹𝐺 ) ( ( invg𝑆 ) ‘ 𝑥 ) ∈ dom ( 𝐹𝐺 ) ) ) )
47 4 44 46 mpbir2and ( ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) ∧ 𝐺 ∈ ( 𝑆 GrpHom 𝑇 ) ) → dom ( 𝐹𝐺 ) ∈ ( SubGrp ‘ 𝑆 ) )