Skip to content

Commit e567ca7

Browse files
committed
feat: pushforward of a group object along a monoidal functor (#29691)
This is an unbundled version of `Functor.mapGrp`. From Toric
1 parent 8846f53 commit e567ca7

File tree

1 file changed

+17
-10
lines changed

1 file changed

+17
-10
lines changed

Mathlib/CategoryTheory/Monoidal/Grp_.lean

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -434,22 +434,29 @@ variable
434434
namespace Functor
435435
variable {F F' : C ⥤ D} [F.Monoidal] [F'.Monoidal] {G : D ⥤ E} [G.Monoidal]
436436

437+
open scoped Obj
438+
439+
/-- The image of a group object under a monoidal functor is a group object. -/
440+
abbrev grpObjObj {G : C} [GrpObj G] : GrpObj (F.obj G) where
441+
inv := F.map ι
442+
left_inv := by
443+
simp [← Functor.map_id, Functor.Monoidal.lift_μ_assoc,
444+
Functor.Monoidal.toUnit_ε_assoc, ← Functor.map_comp]
445+
right_inv := by
446+
simp [← Functor.map_id, Functor.Monoidal.lift_μ_assoc,
447+
Functor.Monoidal.toUnit_ε_assoc, ← Functor.map_comp]
448+
449+
scoped[Obj] attribute [instance] CategoryTheory.Functor.grpObjObj
450+
451+
@[reassoc, simp] lemma obj.ι_def {G : C} [GrpObj G] : ι[F.obj G] = F.map ι := rfl
452+
437453
open Monoidal
438454

439455
variable (F) in
440456
/-- A finite-product-preserving functor takes group objects to group objects. -/
441457
@[simps!]
442458
def mapGrp : Grp_ C ⥤ Grp_ D where
443-
obj A :=
444-
{ F.mapMon.obj A.toMon with
445-
grp :=
446-
{ inv := F.map ι[A.X]
447-
left_inv := by
448-
simp [← Functor.map_id, Functor.Monoidal.lift_μ_assoc,
449-
Functor.Monoidal.toUnit_ε_assoc, ← Functor.map_comp]
450-
right_inv := by
451-
simp [← Functor.map_id, Functor.Monoidal.lift_μ_assoc,
452-
Functor.Monoidal.toUnit_ε_assoc, ← Functor.map_comp] } }
459+
obj A := .mk (F.obj A.X)
453460
map f := F.mapMon.map f
454461

455462
protected instance Faithful.mapGrp [F.Faithful] : F.mapGrp.Faithful where

0 commit comments

Comments
 (0)