Metamath Proof Explorer


Theorem ghmrn

Description: The range of a homomorphism is a subgroup. (Contributed by Stefan O'Rear, 31-Dec-2014)

Ref Expression
Assertion ghmrn ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) → ran 𝐹 ∈ ( SubGrp ‘ 𝑇 ) )

Proof

Step Hyp Ref Expression
1 eqid ( Base ‘ 𝑆 ) = ( Base ‘ 𝑆 )
2 eqid ( Base ‘ 𝑇 ) = ( Base ‘ 𝑇 )
3 1 2 ghmf ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) → 𝐹 : ( Base ‘ 𝑆 ) ⟶ ( Base ‘ 𝑇 ) )
4 3 frnd ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) → ran 𝐹 ⊆ ( Base ‘ 𝑇 ) )
5 3 fdmd ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) → dom 𝐹 = ( Base ‘ 𝑆 ) )
6 ghmgrp1 ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) → 𝑆 ∈ Grp )
7 1 grpbn0 ( 𝑆 ∈ Grp → ( Base ‘ 𝑆 ) ≠ ∅ )
8 6 7 syl ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) → ( Base ‘ 𝑆 ) ≠ ∅ )
9 5 8 eqnetrd ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) → dom 𝐹 ≠ ∅ )
10 dm0rn0 ( dom 𝐹 = ∅ ↔ ran 𝐹 = ∅ )
11 10 necon3bii ( dom 𝐹 ≠ ∅ ↔ ran 𝐹 ≠ ∅ )
12 9 11 sylib ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) → ran 𝐹 ≠ ∅ )
13 eqid ( +g𝑆 ) = ( +g𝑆 )
14 eqid ( +g𝑇 ) = ( +g𝑇 )
15 1 13 14 ghmlin ( ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) ∧ 𝑐 ∈ ( Base ‘ 𝑆 ) ∧ 𝑎 ∈ ( Base ‘ 𝑆 ) ) → ( 𝐹 ‘ ( 𝑐 ( +g𝑆 ) 𝑎 ) ) = ( ( 𝐹𝑐 ) ( +g𝑇 ) ( 𝐹𝑎 ) ) )
16 3 ffnd ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) → 𝐹 Fn ( Base ‘ 𝑆 ) )
17 16 3ad2ant1 ( ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) ∧ 𝑐 ∈ ( Base ‘ 𝑆 ) ∧ 𝑎 ∈ ( Base ‘ 𝑆 ) ) → 𝐹 Fn ( Base ‘ 𝑆 ) )
18 1 13 grpcl ( ( 𝑆 ∈ Grp ∧ 𝑐 ∈ ( Base ‘ 𝑆 ) ∧ 𝑎 ∈ ( Base ‘ 𝑆 ) ) → ( 𝑐 ( +g𝑆 ) 𝑎 ) ∈ ( Base ‘ 𝑆 ) )
19 6 18 syl3an1 ( ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) ∧ 𝑐 ∈ ( Base ‘ 𝑆 ) ∧ 𝑎 ∈ ( Base ‘ 𝑆 ) ) → ( 𝑐 ( +g𝑆 ) 𝑎 ) ∈ ( Base ‘ 𝑆 ) )
20 fnfvelrn ( ( 𝐹 Fn ( Base ‘ 𝑆 ) ∧ ( 𝑐 ( +g𝑆 ) 𝑎 ) ∈ ( Base ‘ 𝑆 ) ) → ( 𝐹 ‘ ( 𝑐 ( +g𝑆 ) 𝑎 ) ) ∈ ran 𝐹 )
21 17 19 20 syl2anc ( ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) ∧ 𝑐 ∈ ( Base ‘ 𝑆 ) ∧ 𝑎 ∈ ( Base ‘ 𝑆 ) ) → ( 𝐹 ‘ ( 𝑐 ( +g𝑆 ) 𝑎 ) ) ∈ ran 𝐹 )
22 15 21 eqeltrrd ( ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) ∧ 𝑐 ∈ ( Base ‘ 𝑆 ) ∧ 𝑎 ∈ ( Base ‘ 𝑆 ) ) → ( ( 𝐹𝑐 ) ( +g𝑇 ) ( 𝐹𝑎 ) ) ∈ ran 𝐹 )
23 22 3expia ( ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) ∧ 𝑐 ∈ ( Base ‘ 𝑆 ) ) → ( 𝑎 ∈ ( Base ‘ 𝑆 ) → ( ( 𝐹𝑐 ) ( +g𝑇 ) ( 𝐹𝑎 ) ) ∈ ran 𝐹 ) )
24 23 ralrimiv ( ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) ∧ 𝑐 ∈ ( Base ‘ 𝑆 ) ) → ∀ 𝑎 ∈ ( Base ‘ 𝑆 ) ( ( 𝐹𝑐 ) ( +g𝑇 ) ( 𝐹𝑎 ) ) ∈ ran 𝐹 )
25 oveq2 ( 𝑏 = ( 𝐹𝑎 ) → ( ( 𝐹𝑐 ) ( +g𝑇 ) 𝑏 ) = ( ( 𝐹𝑐 ) ( +g𝑇 ) ( 𝐹𝑎 ) ) )
26 25 eleq1d ( 𝑏 = ( 𝐹𝑎 ) → ( ( ( 𝐹𝑐 ) ( +g𝑇 ) 𝑏 ) ∈ ran 𝐹 ↔ ( ( 𝐹𝑐 ) ( +g𝑇 ) ( 𝐹𝑎 ) ) ∈ ran 𝐹 ) )
27 26 ralrn ( 𝐹 Fn ( Base ‘ 𝑆 ) → ( ∀ 𝑏 ∈ ran 𝐹 ( ( 𝐹𝑐 ) ( +g𝑇 ) 𝑏 ) ∈ ran 𝐹 ↔ ∀ 𝑎 ∈ ( Base ‘ 𝑆 ) ( ( 𝐹𝑐 ) ( +g𝑇 ) ( 𝐹𝑎 ) ) ∈ ran 𝐹 ) )
28 16 27 syl ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) → ( ∀ 𝑏 ∈ ran 𝐹 ( ( 𝐹𝑐 ) ( +g𝑇 ) 𝑏 ) ∈ ran 𝐹 ↔ ∀ 𝑎 ∈ ( Base ‘ 𝑆 ) ( ( 𝐹𝑐 ) ( +g𝑇 ) ( 𝐹𝑎 ) ) ∈ ran 𝐹 ) )
29 28 adantr ( ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) ∧ 𝑐 ∈ ( Base ‘ 𝑆 ) ) → ( ∀ 𝑏 ∈ ran 𝐹 ( ( 𝐹𝑐 ) ( +g𝑇 ) 𝑏 ) ∈ ran 𝐹 ↔ ∀ 𝑎 ∈ ( Base ‘ 𝑆 ) ( ( 𝐹𝑐 ) ( +g𝑇 ) ( 𝐹𝑎 ) ) ∈ ran 𝐹 ) )
30 24 29 mpbird ( ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) ∧ 𝑐 ∈ ( Base ‘ 𝑆 ) ) → ∀ 𝑏 ∈ ran 𝐹 ( ( 𝐹𝑐 ) ( +g𝑇 ) 𝑏 ) ∈ ran 𝐹 )
31 eqid ( invg𝑆 ) = ( invg𝑆 )
32 eqid ( invg𝑇 ) = ( invg𝑇 )
33 1 31 32 ghminv ( ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) ∧ 𝑐 ∈ ( Base ‘ 𝑆 ) ) → ( 𝐹 ‘ ( ( invg𝑆 ) ‘ 𝑐 ) ) = ( ( invg𝑇 ) ‘ ( 𝐹𝑐 ) ) )
34 16 adantr ( ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) ∧ 𝑐 ∈ ( Base ‘ 𝑆 ) ) → 𝐹 Fn ( Base ‘ 𝑆 ) )
35 1 31 grpinvcl ( ( 𝑆 ∈ Grp ∧ 𝑐 ∈ ( Base ‘ 𝑆 ) ) → ( ( invg𝑆 ) ‘ 𝑐 ) ∈ ( Base ‘ 𝑆 ) )
36 6 35 sylan ( ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) ∧ 𝑐 ∈ ( Base ‘ 𝑆 ) ) → ( ( invg𝑆 ) ‘ 𝑐 ) ∈ ( Base ‘ 𝑆 ) )
37 fnfvelrn ( ( 𝐹 Fn ( Base ‘ 𝑆 ) ∧ ( ( invg𝑆 ) ‘ 𝑐 ) ∈ ( Base ‘ 𝑆 ) ) → ( 𝐹 ‘ ( ( invg𝑆 ) ‘ 𝑐 ) ) ∈ ran 𝐹 )
38 34 36 37 syl2anc ( ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) ∧ 𝑐 ∈ ( Base ‘ 𝑆 ) ) → ( 𝐹 ‘ ( ( invg𝑆 ) ‘ 𝑐 ) ) ∈ ran 𝐹 )
39 33 38 eqeltrrd ( ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) ∧ 𝑐 ∈ ( Base ‘ 𝑆 ) ) → ( ( invg𝑇 ) ‘ ( 𝐹𝑐 ) ) ∈ ran 𝐹 )
40 30 39 jca ( ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) ∧ 𝑐 ∈ ( Base ‘ 𝑆 ) ) → ( ∀ 𝑏 ∈ ran 𝐹 ( ( 𝐹𝑐 ) ( +g𝑇 ) 𝑏 ) ∈ ran 𝐹 ∧ ( ( invg𝑇 ) ‘ ( 𝐹𝑐 ) ) ∈ ran 𝐹 ) )
41 40 ralrimiva ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) → ∀ 𝑐 ∈ ( Base ‘ 𝑆 ) ( ∀ 𝑏 ∈ ran 𝐹 ( ( 𝐹𝑐 ) ( +g𝑇 ) 𝑏 ) ∈ ran 𝐹 ∧ ( ( invg𝑇 ) ‘ ( 𝐹𝑐 ) ) ∈ ran 𝐹 ) )
42 oveq1 ( 𝑎 = ( 𝐹𝑐 ) → ( 𝑎 ( +g𝑇 ) 𝑏 ) = ( ( 𝐹𝑐 ) ( +g𝑇 ) 𝑏 ) )
43 42 eleq1d ( 𝑎 = ( 𝐹𝑐 ) → ( ( 𝑎 ( +g𝑇 ) 𝑏 ) ∈ ran 𝐹 ↔ ( ( 𝐹𝑐 ) ( +g𝑇 ) 𝑏 ) ∈ ran 𝐹 ) )
44 43 ralbidv ( 𝑎 = ( 𝐹𝑐 ) → ( ∀ 𝑏 ∈ ran 𝐹 ( 𝑎 ( +g𝑇 ) 𝑏 ) ∈ ran 𝐹 ↔ ∀ 𝑏 ∈ ran 𝐹 ( ( 𝐹𝑐 ) ( +g𝑇 ) 𝑏 ) ∈ ran 𝐹 ) )
45 fveq2 ( 𝑎 = ( 𝐹𝑐 ) → ( ( invg𝑇 ) ‘ 𝑎 ) = ( ( invg𝑇 ) ‘ ( 𝐹𝑐 ) ) )
46 45 eleq1d ( 𝑎 = ( 𝐹𝑐 ) → ( ( ( invg𝑇 ) ‘ 𝑎 ) ∈ ran 𝐹 ↔ ( ( invg𝑇 ) ‘ ( 𝐹𝑐 ) ) ∈ ran 𝐹 ) )
47 44 46 anbi12d ( 𝑎 = ( 𝐹𝑐 ) → ( ( ∀ 𝑏 ∈ ran 𝐹 ( 𝑎 ( +g𝑇 ) 𝑏 ) ∈ ran 𝐹 ∧ ( ( invg𝑇 ) ‘ 𝑎 ) ∈ ran 𝐹 ) ↔ ( ∀ 𝑏 ∈ ran 𝐹 ( ( 𝐹𝑐 ) ( +g𝑇 ) 𝑏 ) ∈ ran 𝐹 ∧ ( ( invg𝑇 ) ‘ ( 𝐹𝑐 ) ) ∈ ran 𝐹 ) ) )
48 47 ralrn ( 𝐹 Fn ( Base ‘ 𝑆 ) → ( ∀ 𝑎 ∈ ran 𝐹 ( ∀ 𝑏 ∈ ran 𝐹 ( 𝑎 ( +g𝑇 ) 𝑏 ) ∈ ran 𝐹 ∧ ( ( invg𝑇 ) ‘ 𝑎 ) ∈ ran 𝐹 ) ↔ ∀ 𝑐 ∈ ( Base ‘ 𝑆 ) ( ∀ 𝑏 ∈ ran 𝐹 ( ( 𝐹𝑐 ) ( +g𝑇 ) 𝑏 ) ∈ ran 𝐹 ∧ ( ( invg𝑇 ) ‘ ( 𝐹𝑐 ) ) ∈ ran 𝐹 ) ) )
49 16 48 syl ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) → ( ∀ 𝑎 ∈ ran 𝐹 ( ∀ 𝑏 ∈ ran 𝐹 ( 𝑎 ( +g𝑇 ) 𝑏 ) ∈ ran 𝐹 ∧ ( ( invg𝑇 ) ‘ 𝑎 ) ∈ ran 𝐹 ) ↔ ∀ 𝑐 ∈ ( Base ‘ 𝑆 ) ( ∀ 𝑏 ∈ ran 𝐹 ( ( 𝐹𝑐 ) ( +g𝑇 ) 𝑏 ) ∈ ran 𝐹 ∧ ( ( invg𝑇 ) ‘ ( 𝐹𝑐 ) ) ∈ ran 𝐹 ) ) )
50 41 49 mpbird ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) → ∀ 𝑎 ∈ ran 𝐹 ( ∀ 𝑏 ∈ ran 𝐹 ( 𝑎 ( +g𝑇 ) 𝑏 ) ∈ ran 𝐹 ∧ ( ( invg𝑇 ) ‘ 𝑎 ) ∈ ran 𝐹 ) )
51 ghmgrp2 ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) → 𝑇 ∈ Grp )
52 2 14 32 issubg2 ( 𝑇 ∈ Grp → ( ran 𝐹 ∈ ( SubGrp ‘ 𝑇 ) ↔ ( ran 𝐹 ⊆ ( Base ‘ 𝑇 ) ∧ ran 𝐹 ≠ ∅ ∧ ∀ 𝑎 ∈ ran 𝐹 ( ∀ 𝑏 ∈ ran 𝐹 ( 𝑎 ( +g𝑇 ) 𝑏 ) ∈ ran 𝐹 ∧ ( ( invg𝑇 ) ‘ 𝑎 ) ∈ ran 𝐹 ) ) ) )
53 51 52 syl ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) → ( ran 𝐹 ∈ ( SubGrp ‘ 𝑇 ) ↔ ( ran 𝐹 ⊆ ( Base ‘ 𝑇 ) ∧ ran 𝐹 ≠ ∅ ∧ ∀ 𝑎 ∈ ran 𝐹 ( ∀ 𝑏 ∈ ran 𝐹 ( 𝑎 ( +g𝑇 ) 𝑏 ) ∈ ran 𝐹 ∧ ( ( invg𝑇 ) ‘ 𝑎 ) ∈ ran 𝐹 ) ) ) )
54 4 12 50 53 mpbir3and ( 𝐹 ∈ ( 𝑆 GrpHom 𝑇 ) → ran 𝐹 ∈ ( SubGrp ‘ 𝑇 ) )