Metamath Proof Explorer


Theorem qusgrp

Description: If Y is a normal subgroup of G , then H = G / Y is a group, called the quotient of G by Y . (Contributed by Mario Carneiro, 14-Jun-2015) (Revised by Mario Carneiro, 12-Aug-2015)

Ref Expression
Hypothesis qusgrp.h 𝐻 = ( 𝐺 /s ( 𝐺 ~QG 𝑆 ) )
Assertion qusgrp ( 𝑆 ∈ ( NrmSGrp ‘ 𝐺 ) → 𝐻 ∈ Grp )

Proof

Step Hyp Ref Expression
1 qusgrp.h 𝐻 = ( 𝐺 /s ( 𝐺 ~QG 𝑆 ) )
2 1 a1i ( 𝑆 ∈ ( NrmSGrp ‘ 𝐺 ) → 𝐻 = ( 𝐺 /s ( 𝐺 ~QG 𝑆 ) ) )
3 eqidd ( 𝑆 ∈ ( NrmSGrp ‘ 𝐺 ) → ( Base ‘ 𝐺 ) = ( Base ‘ 𝐺 ) )
4 eqidd ( 𝑆 ∈ ( NrmSGrp ‘ 𝐺 ) → ( +g𝐺 ) = ( +g𝐺 ) )
5 nsgsubg ( 𝑆 ∈ ( NrmSGrp ‘ 𝐺 ) → 𝑆 ∈ ( SubGrp ‘ 𝐺 ) )
6 eqid ( Base ‘ 𝐺 ) = ( Base ‘ 𝐺 )
7 eqid ( 𝐺 ~QG 𝑆 ) = ( 𝐺 ~QG 𝑆 )
8 6 7 eqger ( 𝑆 ∈ ( SubGrp ‘ 𝐺 ) → ( 𝐺 ~QG 𝑆 ) Er ( Base ‘ 𝐺 ) )
9 5 8 syl ( 𝑆 ∈ ( NrmSGrp ‘ 𝐺 ) → ( 𝐺 ~QG 𝑆 ) Er ( Base ‘ 𝐺 ) )
10 subgrcl ( 𝑆 ∈ ( SubGrp ‘ 𝐺 ) → 𝐺 ∈ Grp )
11 5 10 syl ( 𝑆 ∈ ( NrmSGrp ‘ 𝐺 ) → 𝐺 ∈ Grp )
12 eqid ( +g𝐺 ) = ( +g𝐺 )
13 6 7 12 eqgcpbl ( 𝑆 ∈ ( NrmSGrp ‘ 𝐺 ) → ( ( 𝑎 ( 𝐺 ~QG 𝑆 ) 𝑐𝑏 ( 𝐺 ~QG 𝑆 ) 𝑑 ) → ( 𝑎 ( +g𝐺 ) 𝑏 ) ( 𝐺 ~QG 𝑆 ) ( 𝑐 ( +g𝐺 ) 𝑑 ) ) )
14 6 12 grpcl ( ( 𝐺 ∈ Grp ∧ 𝑢 ∈ ( Base ‘ 𝐺 ) ∧ 𝑣 ∈ ( Base ‘ 𝐺 ) ) → ( 𝑢 ( +g𝐺 ) 𝑣 ) ∈ ( Base ‘ 𝐺 ) )
15 11 14 syl3an1 ( ( 𝑆 ∈ ( NrmSGrp ‘ 𝐺 ) ∧ 𝑢 ∈ ( Base ‘ 𝐺 ) ∧ 𝑣 ∈ ( Base ‘ 𝐺 ) ) → ( 𝑢 ( +g𝐺 ) 𝑣 ) ∈ ( Base ‘ 𝐺 ) )
16 9 adantr ( ( 𝑆 ∈ ( NrmSGrp ‘ 𝐺 ) ∧ ( 𝑢 ∈ ( Base ‘ 𝐺 ) ∧ 𝑣 ∈ ( Base ‘ 𝐺 ) ∧ 𝑤 ∈ ( Base ‘ 𝐺 ) ) ) → ( 𝐺 ~QG 𝑆 ) Er ( Base ‘ 𝐺 ) )
17 11 adantr ( ( 𝑆 ∈ ( NrmSGrp ‘ 𝐺 ) ∧ ( 𝑢 ∈ ( Base ‘ 𝐺 ) ∧ 𝑣 ∈ ( Base ‘ 𝐺 ) ∧ 𝑤 ∈ ( Base ‘ 𝐺 ) ) ) → 𝐺 ∈ Grp )
18 simpr1 ( ( 𝑆 ∈ ( NrmSGrp ‘ 𝐺 ) ∧ ( 𝑢 ∈ ( Base ‘ 𝐺 ) ∧ 𝑣 ∈ ( Base ‘ 𝐺 ) ∧ 𝑤 ∈ ( Base ‘ 𝐺 ) ) ) → 𝑢 ∈ ( Base ‘ 𝐺 ) )
19 simpr2 ( ( 𝑆 ∈ ( NrmSGrp ‘ 𝐺 ) ∧ ( 𝑢 ∈ ( Base ‘ 𝐺 ) ∧ 𝑣 ∈ ( Base ‘ 𝐺 ) ∧ 𝑤 ∈ ( Base ‘ 𝐺 ) ) ) → 𝑣 ∈ ( Base ‘ 𝐺 ) )
20 17 18 19 14 syl3anc ( ( 𝑆 ∈ ( NrmSGrp ‘ 𝐺 ) ∧ ( 𝑢 ∈ ( Base ‘ 𝐺 ) ∧ 𝑣 ∈ ( Base ‘ 𝐺 ) ∧ 𝑤 ∈ ( Base ‘ 𝐺 ) ) ) → ( 𝑢 ( +g𝐺 ) 𝑣 ) ∈ ( Base ‘ 𝐺 ) )
21 simpr3 ( ( 𝑆 ∈ ( NrmSGrp ‘ 𝐺 ) ∧ ( 𝑢 ∈ ( Base ‘ 𝐺 ) ∧ 𝑣 ∈ ( Base ‘ 𝐺 ) ∧ 𝑤 ∈ ( Base ‘ 𝐺 ) ) ) → 𝑤 ∈ ( Base ‘ 𝐺 ) )
22 6 12 grpcl ( ( 𝐺 ∈ Grp ∧ ( 𝑢 ( +g𝐺 ) 𝑣 ) ∈ ( Base ‘ 𝐺 ) ∧ 𝑤 ∈ ( Base ‘ 𝐺 ) ) → ( ( 𝑢 ( +g𝐺 ) 𝑣 ) ( +g𝐺 ) 𝑤 ) ∈ ( Base ‘ 𝐺 ) )
23 17 20 21 22 syl3anc ( ( 𝑆 ∈ ( NrmSGrp ‘ 𝐺 ) ∧ ( 𝑢 ∈ ( Base ‘ 𝐺 ) ∧ 𝑣 ∈ ( Base ‘ 𝐺 ) ∧ 𝑤 ∈ ( Base ‘ 𝐺 ) ) ) → ( ( 𝑢 ( +g𝐺 ) 𝑣 ) ( +g𝐺 ) 𝑤 ) ∈ ( Base ‘ 𝐺 ) )
24 16 23 erref ( ( 𝑆 ∈ ( NrmSGrp ‘ 𝐺 ) ∧ ( 𝑢 ∈ ( Base ‘ 𝐺 ) ∧ 𝑣 ∈ ( Base ‘ 𝐺 ) ∧ 𝑤 ∈ ( Base ‘ 𝐺 ) ) ) → ( ( 𝑢 ( +g𝐺 ) 𝑣 ) ( +g𝐺 ) 𝑤 ) ( 𝐺 ~QG 𝑆 ) ( ( 𝑢 ( +g𝐺 ) 𝑣 ) ( +g𝐺 ) 𝑤 ) )
25 6 12 grpass ( ( 𝐺 ∈ Grp ∧ ( 𝑢 ∈ ( Base ‘ 𝐺 ) ∧ 𝑣 ∈ ( Base ‘ 𝐺 ) ∧ 𝑤 ∈ ( Base ‘ 𝐺 ) ) ) → ( ( 𝑢 ( +g𝐺 ) 𝑣 ) ( +g𝐺 ) 𝑤 ) = ( 𝑢 ( +g𝐺 ) ( 𝑣 ( +g𝐺 ) 𝑤 ) ) )
26 11 25 sylan ( ( 𝑆 ∈ ( NrmSGrp ‘ 𝐺 ) ∧ ( 𝑢 ∈ ( Base ‘ 𝐺 ) ∧ 𝑣 ∈ ( Base ‘ 𝐺 ) ∧ 𝑤 ∈ ( Base ‘ 𝐺 ) ) ) → ( ( 𝑢 ( +g𝐺 ) 𝑣 ) ( +g𝐺 ) 𝑤 ) = ( 𝑢 ( +g𝐺 ) ( 𝑣 ( +g𝐺 ) 𝑤 ) ) )
27 24 26 breqtrd ( ( 𝑆 ∈ ( NrmSGrp ‘ 𝐺 ) ∧ ( 𝑢 ∈ ( Base ‘ 𝐺 ) ∧ 𝑣 ∈ ( Base ‘ 𝐺 ) ∧ 𝑤 ∈ ( Base ‘ 𝐺 ) ) ) → ( ( 𝑢 ( +g𝐺 ) 𝑣 ) ( +g𝐺 ) 𝑤 ) ( 𝐺 ~QG 𝑆 ) ( 𝑢 ( +g𝐺 ) ( 𝑣 ( +g𝐺 ) 𝑤 ) ) )
28 eqid ( 0g𝐺 ) = ( 0g𝐺 )
29 6 28 grpidcl ( 𝐺 ∈ Grp → ( 0g𝐺 ) ∈ ( Base ‘ 𝐺 ) )
30 11 29 syl ( 𝑆 ∈ ( NrmSGrp ‘ 𝐺 ) → ( 0g𝐺 ) ∈ ( Base ‘ 𝐺 ) )
31 6 12 28 grplid ( ( 𝐺 ∈ Grp ∧ 𝑢 ∈ ( Base ‘ 𝐺 ) ) → ( ( 0g𝐺 ) ( +g𝐺 ) 𝑢 ) = 𝑢 )
32 11 31 sylan ( ( 𝑆 ∈ ( NrmSGrp ‘ 𝐺 ) ∧ 𝑢 ∈ ( Base ‘ 𝐺 ) ) → ( ( 0g𝐺 ) ( +g𝐺 ) 𝑢 ) = 𝑢 )
33 9 adantr ( ( 𝑆 ∈ ( NrmSGrp ‘ 𝐺 ) ∧ 𝑢 ∈ ( Base ‘ 𝐺 ) ) → ( 𝐺 ~QG 𝑆 ) Er ( Base ‘ 𝐺 ) )
34 simpr ( ( 𝑆 ∈ ( NrmSGrp ‘ 𝐺 ) ∧ 𝑢 ∈ ( Base ‘ 𝐺 ) ) → 𝑢 ∈ ( Base ‘ 𝐺 ) )
35 33 34 erref ( ( 𝑆 ∈ ( NrmSGrp ‘ 𝐺 ) ∧ 𝑢 ∈ ( Base ‘ 𝐺 ) ) → 𝑢 ( 𝐺 ~QG 𝑆 ) 𝑢 )
36 32 35 eqbrtrd ( ( 𝑆 ∈ ( NrmSGrp ‘ 𝐺 ) ∧ 𝑢 ∈ ( Base ‘ 𝐺 ) ) → ( ( 0g𝐺 ) ( +g𝐺 ) 𝑢 ) ( 𝐺 ~QG 𝑆 ) 𝑢 )
37 eqid ( invg𝐺 ) = ( invg𝐺 )
38 6 37 grpinvcl ( ( 𝐺 ∈ Grp ∧ 𝑢 ∈ ( Base ‘ 𝐺 ) ) → ( ( invg𝐺 ) ‘ 𝑢 ) ∈ ( Base ‘ 𝐺 ) )
39 11 38 sylan ( ( 𝑆 ∈ ( NrmSGrp ‘ 𝐺 ) ∧ 𝑢 ∈ ( Base ‘ 𝐺 ) ) → ( ( invg𝐺 ) ‘ 𝑢 ) ∈ ( Base ‘ 𝐺 ) )
40 6 12 28 37 grplinv ( ( 𝐺 ∈ Grp ∧ 𝑢 ∈ ( Base ‘ 𝐺 ) ) → ( ( ( invg𝐺 ) ‘ 𝑢 ) ( +g𝐺 ) 𝑢 ) = ( 0g𝐺 ) )
41 11 40 sylan ( ( 𝑆 ∈ ( NrmSGrp ‘ 𝐺 ) ∧ 𝑢 ∈ ( Base ‘ 𝐺 ) ) → ( ( ( invg𝐺 ) ‘ 𝑢 ) ( +g𝐺 ) 𝑢 ) = ( 0g𝐺 ) )
42 30 adantr ( ( 𝑆 ∈ ( NrmSGrp ‘ 𝐺 ) ∧ 𝑢 ∈ ( Base ‘ 𝐺 ) ) → ( 0g𝐺 ) ∈ ( Base ‘ 𝐺 ) )
43 33 42 erref ( ( 𝑆 ∈ ( NrmSGrp ‘ 𝐺 ) ∧ 𝑢 ∈ ( Base ‘ 𝐺 ) ) → ( 0g𝐺 ) ( 𝐺 ~QG 𝑆 ) ( 0g𝐺 ) )
44 41 43 eqbrtrd ( ( 𝑆 ∈ ( NrmSGrp ‘ 𝐺 ) ∧ 𝑢 ∈ ( Base ‘ 𝐺 ) ) → ( ( ( invg𝐺 ) ‘ 𝑢 ) ( +g𝐺 ) 𝑢 ) ( 𝐺 ~QG 𝑆 ) ( 0g𝐺 ) )
45 2 3 4 9 11 13 15 27 30 36 39 44 qusgrp2 ( 𝑆 ∈ ( NrmSGrp ‘ 𝐺 ) → ( 𝐻 ∈ Grp ∧ [ ( 0g𝐺 ) ] ( 𝐺 ~QG 𝑆 ) = ( 0g𝐻 ) ) )
46 45 simpld ( 𝑆 ∈ ( NrmSGrp ‘ 𝐺 ) → 𝐻 ∈ Grp )