@@ -24,9 +24,7 @@ the underlying types are just the limits in the category of types.
24
24
-/
25
25
26
26
27
- open CategoryTheory
28
-
29
- open CategoryTheory.Limits
27
+ open CategoryTheory CategoryTheory.Limits
30
28
31
29
universe v u
32
30
@@ -52,15 +50,12 @@ set_option linter.uppercaseLean3 false in
52
50
set_option linter.uppercaseLean3 false in
53
51
#align AddGroup.add_group_obj AddGroupCat.addGroupObj
54
52
55
- /-- The flat sections of a functor into `Group ` form a subgroup of all sections.
53
+ /-- The flat sections of a functor into `GroupCat ` form a subgroup of all sections.
56
54
-/
57
55
@[to_additive
58
- "The flat sections of a functor into `AddGroup ` form an additive subgroup of all sections." ]
56
+ "The flat sections of a functor into `AddGroupCat ` form an additive subgroup of all sections." ]
59
57
def sectionsSubgroup (F : J ⥤ GroupCat) : Subgroup (∀ j, F.obj j) :=
60
- {
61
- MonCat.sectionsSubmonoid
62
- (F ⋙ forget₂ GroupCat
63
- MonCat) with
58
+ { MonCat.sectionsSubmonoid (F ⋙ forget₂ GroupCat MonCat) with
64
59
carrier := (F ⋙ forget GroupCat).sections
65
60
inv_mem' := fun {a} ah j j' f => by
66
61
simp only [Functor.comp_map, Pi.inv_apply, MonoidHom.map_inv, inv_inj]
@@ -81,17 +76,17 @@ set_option linter.uppercaseLean3 false in
81
76
set_option linter.uppercaseLean3 false in
82
77
#align AddGroup.limit_add_group AddGroupCat.limitAddGroup
83
78
84
- /-- We show that the forgetful functor `Group ⥤ Mon ` creates limits.
79
+ /-- We show that the forgetful functor `GroupCat ⥤ MonCat ` creates limits.
85
80
86
- All we need to do is notice that the limit point has a `group ` instance available, and then reuse
81
+ All we need to do is notice that the limit point has a `Group ` instance available, and then reuse
87
82
the existing limit. -/
88
- @[to_additive "We show that the forgetful functor `AddGroup ⥤ AddMon ` creates limits.
83
+ @[to_additive "We show that the forgetful functor `AddGroupCat ⥤ AddMonCat ` creates limits.
89
84
90
- All we need to do is notice that the limit point has an `add_group ` instance available, and then
85
+ All we need to do is notice that the limit point has an `AddGroup ` instance available, and then
91
86
reuse the existing limit." ]
92
87
noncomputable instance Forget₂.createsLimit (F : J ⥤ GroupCatMax.{v, u}) :
93
88
CreatesLimit F (forget₂ GroupCatMax.{v, u} MonCatMax.{v, u}) :=
94
- -- Porting note: need to add `forget₂ Grp Mon ` reflects isomorphism
89
+ -- Porting note: need to add `forget₂ GrpCat MonCat ` reflects isomorphism
95
90
letI : ReflectsIsomorphisms (forget₂ GroupCatMax.{v, u} MonCatMax.{v, u}) :=
96
91
CategoryTheory.reflectsIsomorphisms_forget₂ _ _
97
92
createsLimitOfReflectsIso (K := F) (F := (forget₂ GroupCat.{max v u} MonCat.{max v u}))
@@ -112,10 +107,10 @@ set_option linter.uppercaseLean3 false in
112
107
set_option linter.uppercaseLean3 false in
113
108
#align AddGroup.forget₂.creates_limit AddGroupCat.Forget₂.createsLimit
114
109
115
- /-- A choice of limit cone for a functor into `Group `.
110
+ /-- A choice of limit cone for a functor into `GroupCat `.
116
111
(Generally, you'll just want to use `limit F`.)
117
112
-/
118
- @[to_additive "A choice of limit cone for a functor into `Group `.
113
+ @[to_additive "A choice of limit cone for a functor into `GroupCat `.
119
114
(Generally, you'll just want to use `limit F`.)" ]
120
115
noncomputable def limitCone (F : J ⥤ GroupCatMax.{v, u}) : Cone F :=
121
116
-- Porting note: add this instance to help Lean unify universe levels
@@ -172,8 +167,8 @@ This means the underlying monoid of a limit can be computed as a limit in the ca
172
167
This means the underlying additive monoid of a limit can be computed as a limit in the category of
173
168
additive monoids." ]
174
169
noncomputable instance forget₂MonPreservesLimitsOfSize :
175
- PreservesLimitsOfSize.{v, v} (forget₂ GroupCatMax.{v, u} MonCat.{max v u})
176
- where preservesLimitsOfShape {J _} := { preservesLimit := fun {F} =>
170
+ PreservesLimitsOfSize.{v, v} (forget₂ GroupCatMax.{v, u} MonCat.{max v u}) where
171
+ preservesLimitsOfShape {J _} := { preservesLimit := fun {F} =>
177
172
-- Porting note: add this instance to help Lean unify universe levels
178
173
letI : HasLimit (F ⋙ forget₂ GroupCatMax.{v, u} MonCat.{max v u}) :=
179
174
(MonCat.hasLimitsOfSize.{v, u}.1 J).1 _
@@ -255,14 +250,14 @@ set_option linter.uppercaseLean3 false in
255
250
set_option linter.uppercaseLean3 false in
256
251
#align AddCommGroup.limit_add_comm_group AddCommGroupCat.limitAddCommGroup
257
252
258
- /-- We show that the forgetful functor `CommGroup ⥤ Group ` creates limits.
253
+ /-- We show that the forgetful functor `CommGroupCat ⥤ GroupCat ` creates limits.
259
254
260
- All we need to do is notice that the limit point has a `comm_group ` instance available,
255
+ All we need to do is notice that the limit point has a `CommGroup ` instance available,
261
256
and then reuse the existing limit.
262
257
-/
263
- @[to_additive "We show that the forgetful functor `AddCommGroup ⥤ AddGroup ` creates limits.
258
+ @[to_additive "We show that the forgetful functor `AddCommGroupCat ⥤ AddGroupCat ` creates limits.
264
259
265
- All we need to do is notice that the limit point has an `add_comm_group ` instance available,
260
+ All we need to do is notice that the limit point has an `AddCommGroup ` instance available,
266
261
and then reuse the existing limit." ]
267
262
noncomputable instance Forget₂.createsLimit (F : J ⥤ CommGroupCatMax.{v, u}) :
268
263
CreatesLimit F (forget₂ CommGroupCat GroupCatMax.{v, u}) :=
@@ -284,11 +279,11 @@ set_option linter.uppercaseLean3 false in
284
279
set_option linter.uppercaseLean3 false in
285
280
#align AddCommGroup.forget₂.creates_limit AddCommGroupCat.Forget₂.createsLimit
286
281
287
- /-- A choice of limit cone for a functor into `CommGroup `.
282
+ /-- A choice of limit cone for a functor into `CommGroupCat `.
288
283
(Generally, you'll just want to use `limit F`.)
289
284
-/
290
285
@[to_additive
291
- "A choice of limit cone for a functor into `CommGroup `.
286
+ "A choice of limit cone for a functor into `AddCommGroupCat `.
292
287
(Generally, you'll just want to use `limit F`.)" ]
293
288
noncomputable def limitCone (F : J ⥤ CommGroupCat.{max v u}) : Cone F :=
294
289
liftLimit (limit.isLimit (F ⋙ forget₂ CommGroupCatMax.{v, u} GroupCatMax.{v, u}))
@@ -302,7 +297,7 @@ set_option linter.uppercaseLean3 false in
302
297
-/
303
298
@[to_additive
304
299
"The chosen cone is a limit cone.
305
- (Generally, you'll just wantto use `limit.cone F`.)" ]
300
+ (Generally, you'll just want to use `limit.cone F`.)" ]
306
301
noncomputable def limitConeIsLimit (F : J ⥤ CommGroupCatMax.{v, u}) :
307
302
IsLimit (limitCone.{v, u} F) :=
308
303
liftedLimitIsLimit _
@@ -376,10 +371,9 @@ in the category of commutative monoids.)
376
371
preserves all limits. (That is, the underlying additive commutative monoids could have been
377
372
computed instead as limits in the category of additive commutative monoids.)" ]
378
373
noncomputable instance forget₂CommMonPreservesLimitsOfSize :
379
- PreservesLimitsOfSize.{v, v} (forget₂ CommGroupCat CommMonCat.{max v u})
380
- where preservesLimitsOfShape :=
381
- {
382
- preservesLimit := fun {F} =>
374
+ PreservesLimitsOfSize.{v, v} (forget₂ CommGroupCat CommMonCat.{max v u}) where
375
+ preservesLimitsOfShape :=
376
+ { preservesLimit := fun {F} =>
383
377
preservesLimitOfPreservesLimitCone (limitConeIsLimit.{v, u} F)
384
378
(forget₂CommMonPreservesLimitsAux.{v, u} F) }
385
379
set_option linter.uppercaseLean3 false in
@@ -395,8 +389,8 @@ underlying types could have been computed instead as limits in the category of t
395
389
(That is, the underlying types could have been computed instead as limits in the category of
396
390
types.)" ]
397
391
noncomputable instance forgetPreservesLimitsOfSize :
398
- PreservesLimitsOfSize.{v, v} (forget CommGroupCatMax.{v, u})
399
- where preservesLimitsOfShape {J _} :=
392
+ PreservesLimitsOfSize.{v, v} (forget CommGroupCatMax.{v, u}) where
393
+ preservesLimitsOfShape {J _} :=
400
394
{ preservesLimit := fun {F} =>
401
395
-- Porting note : add these instance to help Lean unify universe levels
402
396
letI : HasLimit (F ⋙ forget₂ CommGroupCatMax.{v, u} GroupCat.{max v u}) :=
@@ -416,7 +410,7 @@ end CommGroupCat
416
410
417
411
namespace AddCommGroupCat
418
412
419
- /-- The categorical kernel of a morphism in `AddCommGroup `
413
+ /-- The categorical kernel of a morphism in `AddCommGroupCat `
420
414
agrees with the usual group-theoretical kernel.
421
415
-/
422
416
def kernelIsoKer {G H : AddCommGroupCat.{u}} (f : G ⟶ H) :
0 commit comments