@@ -11,13 +11,10 @@ open import Algebra.Bundles using (AbelianGroup; Group)
1111module Algebra.Construct.Centre.Group {c ℓ} (G : Group c ℓ) where
1212
1313open import Algebra.Core using (Op₁; Op₂)
14- open import Algebra.Definitions using (Commutative)
15- open import Function.Base using (id; const; _$_; _on_)
14+ open import Function.Base using (id; _∘_; const; _$_; _on_)
1615open import Level using (_⊔_)
17- open import Relation.Binary.Core using (Rel)
1816import Relation.Binary.Reasoning.Setoid as ≈-Reasoning
1917
20- open import Algebra.Construct.Sub.Group G using (Subgroup)
2118open import Algebra.Construct.Sub.Group.Normal G using (NormalSubgroup)
2219open import Algebra.Properties.Group G using (∙-cancelʳ)
2320
@@ -31,59 +28,52 @@ private
3128
3229 record Carrier : Set (c ⊔ ℓ) where
3330 field
34- commuter : G.Carrier
35- commutes : ∀ k → commuter G.∙ k G.≈ k G.∙ commuter
31+ ι : G.Carrier
32+ normal : ∀ g → ι G.∙ g G.≈ g G.∙ ι
3633
37- open Carrier using (commuter; commutes)
38-
39- _≈_ : Rel Carrier ℓ
40- _≈_ = G._≈_ on commuter
34+ open Carrier using (ι; normal)
4135
4236 _∙_ : Op₂ Carrier
4337 g ∙ h = record
44- { commuter = commuter g G.∙ commuter h
45- ; commutes = λ k → begin
46- (commuter g G.∙ commuter h) G.∙ k ≈⟨ G.assoc _ _ _ ⟩
47- commuter g G.∙ (commuter h G.∙ k) ≈⟨ G.∙-congˡ $ commutes h k ⟩
48- commuter g G.∙ (k G.∙ commuter h) ≈⟨ G.assoc _ _ _ ⟨
49- commuter g G.∙ k G.∙ commuter h ≈⟨ G.∙-congʳ $ commutes g k ⟩
50- k G.∙ commuter g G.∙ commuter h ≈⟨ G.assoc _ _ _ ⟩
51- k G.∙ (commuter g G.∙ commuter h) ∎
38+ { ι = ι g G.∙ ι h
39+ ; normal = λ k → begin
40+ (ι g G.∙ ι h) G.∙ k ≈⟨ G.assoc _ _ _ ⟩
41+ ι g G.∙ (ι h G.∙ k) ≈⟨ G.∙-congˡ $ normal h k ⟩
42+ ι g G.∙ (k G.∙ ι h) ≈⟨ G.assoc _ _ _ ⟨
43+ ι g G.∙ k G.∙ ι h ≈⟨ G.∙-congʳ $ normal g k ⟩
44+ k G.∙ ι g G.∙ ι h ≈⟨ G.assoc _ _ _ ⟩
45+ k G.∙ (ι g G.∙ ι h) ∎
5246 }
5347
5448 ε : Carrier
5549 ε = record
56- { commuter = G.ε
57- ; commutes = λ k → G.trans (G.identityˡ k) (G.sym (G.identityʳ k))
50+ { ι = G.ε
51+ ; normal = λ k → G.trans (G.identityˡ k) (G.sym (G.identityʳ k))
5852 }
5953
6054 _⁻¹ : Op₁ Carrier
6155 g ⁻¹ = record
62- { commuter = commuter g G.⁻¹
63- ; commutes = λ k → ∙-cancelʳ (commuter g) _ _ $ begin
64- (commuter g G.⁻¹ G.∙ k) G.∙ (commuter g) ≈⟨ G.assoc _ _ _ ⟩
65- commuter g G.⁻¹ G.∙ (k G.∙ commuter g) ≈⟨ G.∙-congˡ $ commutes g k ⟨
66- commuter g G.⁻¹ G.∙ (commuter g G.∙ k) ≈⟨ G.assoc _ _ _ ⟨
67- (commuter g G.⁻¹ G.∙ commuter g) G.∙ k ≈⟨ G.∙-congʳ $ G.inverseˡ _ ⟩
68- G.ε G.∙ k ≈⟨ commutes ε k ⟩
69- k G.∙ G.ε ≈⟨ G.∙-congˡ $ G.inverseˡ _ ⟨
70- k G.∙ (commuter g G.⁻¹ G.∙ commuter g) ≈⟨ G.assoc _ _ _ ⟨
71- (k G.∙ commuter g G.⁻¹) G.∙ (commuter g) ∎
56+ { ι = ι g G.⁻¹
57+ ; normal = λ k → ∙-cancelʳ (ι g) _ _ $ begin
58+ (ι g G.⁻¹ G.∙ k) G.∙ (ι g) ≈⟨ G.assoc _ _ _ ⟩
59+ ι g G.⁻¹ G.∙ (k G.∙ ι g) ≈⟨ G.∙-congˡ $ normal g k ⟨
60+ ι g G.⁻¹ G.∙ (ι g G.∙ k) ≈⟨ G.assoc _ _ _ ⟨
61+ (ι g G.⁻¹ G.∙ ι g) G.∙ k ≈⟨ G.∙-congʳ $ G.inverseˡ _ ⟩
62+ G.ε G.∙ k ≈⟨ normal ε k ⟩
63+ k G.∙ G.ε ≈⟨ G.∙-congˡ $ G.inverseˡ _ ⟨
64+ k G.∙ (ι g G.⁻¹ G.∙ ι g) ≈⟨ G.assoc _ _ _ ⟨
65+ (k G.∙ ι g G.⁻¹) G.∙ (ι g) ∎
7266 }
7367
74- ∙-comm : Commutative _≈_ _∙_
75- ∙-comm g h = commutes g $ commuter h
76-
77- centre : NormalSubgroup (c ⊔ ℓ) ℓ
78- centre = record
68+ normalSubgroup : NormalSubgroup (c ⊔ ℓ) ℓ
69+ normalSubgroup = record
7970 { subgroup = record
8071 { domain = record
81- { _≈_ = _≈_
82- ; _∙_ = _∙_
72+ { _∙_ = _∙_
8373 ; ε = ε
8474 ; _⁻¹ = _⁻¹
8575 }
86- ; ι = commuter
76+ ; ι = ι
8777 ; ι-monomorphism = record
8878 { isGroupHomomorphism = record
8979 { isMonoidHomomorphism = record
@@ -100,22 +90,22 @@ private
10090 }
10191 ; isNormal = record
10292 { conjugate = const
103- ; normal = commutes
93+ ; normal = normal
10494 }
10595 }
10696
10797
10898------------------------------------------------------------------------
10999-- Public exports
110100
111- open NormalSubgroup centre public
101+ open NormalSubgroup normalSubgroup public
112102
113103abelianGroup : AbelianGroup (c ⊔ ℓ) ℓ
114104abelianGroup = record
115105 { isAbelianGroup = record
116106 { isGroup = isGroup
117- ; comm = ∙-comm
107+ ; comm = λ g → normal g ∘ ι
118108 }
119109 }
120110
121- Z[_] = centre
111+ Z[_] = normalSubgroup
0 commit comments