Skip to content

Commit b8d7525

Browse files
committed
chore: namespace and tidy MonCat/GroupCat adjunctions (#12948)
1 parent f802c69 commit b8d7525

File tree

2 files changed

+20
-22
lines changed

2 files changed

+20
-22
lines changed

Mathlib/Algebra/Category/GroupCat/Adjunctions.lean

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -130,28 +130,20 @@ def adj : free ⊣ forget GroupCat.{u} :=
130130
instance : (forget GroupCat.{u}).IsRightAdjoint :=
131131
⟨_, ⟨adj⟩⟩
132132

133-
end GroupCat
134-
135133
section Abelianization
136134

137135
/-- The abelianization functor `Group ⥤ CommGroup` sending a group `G` to its abelianization `Gᵃᵇ`.
138136
-/
139137
def abelianize : GroupCat.{u} ⥤ CommGroupCat.{u} where
140-
obj G :=
141-
{ α := Abelianization G
142-
str := by infer_instance }
143-
map f :=
144-
Abelianization.lift
145-
{ toFun := fun x => Abelianization.of (f x)
146-
map_one' := by simp
147-
map_mul' := by simp }
138+
obj G := CommGroupCat.of (Abelianization G)
139+
map f := Abelianization.lift (Abelianization.of.comp f)
148140
map_id := by
149-
intros; simp only [MonoidHom.mk_coe, coe_id]
141+
intros; simp only [coe_id]
150142
apply (Equiv.apply_eq_iff_eq_symm_apply Abelianization.lift).mpr; rfl
151143
map_comp := by
152-
intros; simp only [coe_comp];
144+
intros; simp only [coe_comp]
153145
apply (Equiv.apply_eq_iff_eq_symm_apply Abelianization.lift).mpr; rfl
154-
#align abelianize abelianize
146+
#align abelianize GroupCat.abelianize
155147

156148
/-- The abelianization-forgetful adjuction from `Group` to `CommGroup`. -/
157149
def abelianizeAdj : abelianize ⊣ forget₂ CommGroupCat.{u} GroupCat.{u} :=
@@ -166,10 +158,12 @@ def abelianizeAdj : abelianize ⊣ forget₂ CommGroupCat.{u} GroupCat.{u} :=
166158
apply Abelianization.lift.unique
167159
intros
168160
apply Abelianization.lift.of }
169-
#align abelianize_adj abelianizeAdj
161+
#align abelianize_adj GroupCat.abelianizeAdj
170162

171163
end Abelianization
172164

165+
end GroupCat
166+
173167
/-- The functor taking a monoid to its subgroup of units. -/
174168
@[simps]
175169
def MonCat.units : MonCat.{u} ⥤ GroupCat.{u} where

Mathlib/Algebra/Category/MonCat/Adjunctions.lean

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ universe u
2727

2828
open CategoryTheory
2929

30+
namespace MonCat
31+
3032
/-- The functor of adjoining a neutral element `one` to a semigroup.
3133
-/
3234
@[to_additive (attr := simps) "The functor of adjoining a neutral element `zero` to a semigroup"]
@@ -35,18 +37,18 @@ def adjoinOne : SemigroupCat.{u} ⥤ MonCat.{u} where
3537
map := WithOne.map
3638
map_id _ := WithOne.map_id
3739
map_comp := WithOne.map_comp
38-
#align adjoin_one adjoinOne
39-
#align adjoin_zero adjoinZero
40+
#align adjoin_one MonCat.adjoinOne
41+
#align adjoin_zero AddMonCat.adjoinZero
4042

4143
@[to_additive]
4244
instance hasForgetToSemigroup : HasForget₂ MonCat SemigroupCat where
4345
forget₂ :=
4446
{ obj := fun M => SemigroupCat.of M
4547
map := MonoidHom.toMulHom }
4648
set_option linter.uppercaseLean3 false in
47-
#align has_forget_to_Semigroup hasForgetToSemigroup
49+
#align has_forget_to_Semigroup MonCat.hasForgetToSemigroup
4850
set_option linter.uppercaseLean3 false in
49-
#align has_forget_to_AddSemigroup hasForgetToAddSemigroup
51+
#align has_forget_to_AddSemigroup AddMonCat.hasForgetToAddSemigroup
5052

5153
/-- The `adjoinOne`-forgetful adjunction from `SemigroupCat` to `MonCat`. -/
5254
@[to_additive "The `adjoinZero`-forgetful adjunction from `AddSemigroupCat` to `AddMonCat`"]
@@ -62,23 +64,25 @@ def adjoinOneAdj : adjoinOne ⊣ forget₂ MonCat.{u} SemigroupCat.{u} :=
6264
· rfl
6365
· simp
6466
rfl }
65-
#align adjoin_one_adj adjoinOneAdj
66-
#align adjoin_zero_adj adjoinZeroAdj
67+
#align adjoin_one_adj MonCat.adjoinOneAdj
68+
#align adjoin_zero_adj AddMonCat.adjoinZeroAdj
6769

6870
/-- The free functor `Type u ⥤ MonCat` sending a type `X` to the free monoid on `X`. -/
6971
def free : Type u ⥤ MonCat.{u} where
7072
obj α := MonCat.of (FreeMonoid α)
7173
map := FreeMonoid.map
7274
map_id _ := FreeMonoid.hom_eq (fun _ => rfl)
7375
map_comp _ _ := FreeMonoid.hom_eq (fun _ => rfl)
74-
#align free free
76+
#align free MonCat.free
7577

7678
/-- The free-forgetful adjunction for monoids. -/
7779
def adj : free ⊣ forget MonCat.{u} :=
7880
Adjunction.mkOfHomEquiv
7981
{ homEquiv := fun X G => FreeMonoid.lift.symm
8082
homEquiv_naturality_left_symm := fun _ _ => FreeMonoid.hom_eq (fun _ => rfl) }
81-
#align adj adj
83+
#align adj MonCat.adj
8284

8385
instance : (forget MonCat.{u}).IsRightAdjoint :=
8486
⟨_, ⟨adj⟩⟩
87+
88+
end MonCat

0 commit comments

Comments
 (0)