Zulip Chat Archive
Stream: Is there code for X?
Topic: Preservation of (co)limits in `Action V G`
Christian Merten (Dec 23 2023 at 13:23):
Is there somewhere the statement: If a functor to Action V G
composed with the forgetful functor to V
preserves (co)limits, then also the functor itself preserves (co)limits?
I.e. something like
import Mathlib.RepresentationTheory.Action.Basic
import Mathlib.CategoryTheory.Limits.Preserves.Basic
universe u v w v₁ u₁ u₂ w₂ w₁
open CategoryTheory Limits Functor
variable {C : Type u} [Category.{v, u} C] (V : Type (w + 1)) [LargeCategory.{w} V] [ConcreteCategory V] (G : MonCat.{w})
private def SingleObj.preservesColimit (F : C ⥤ SingleObj G ⥤ V)
{J : Type w₁} [Category.{w₂, w₁} J] (K : J ⥤ C)
(h : PreservesColimit K (F ⋙ (evaluation (SingleObj G) V).obj (SingleObj.star G)))
: PreservesColimit K F := by
apply preservesColimitOfEvaluation
intro _
exact h
def Action.preservesColimitOfPreserves (F : C ⥤ Action V G) {J : Type w₁}
[Category.{w₂, w₁} J] (K : J ⥤ C)
(h : PreservesColimit K (F ⋙ forget₂ (Action V G) V)) : PreservesColimit K F := by
let F' : C ⥤ SingleObj G ⥤ V := F ⋙ (Action.functorCategoryEquivalence V G).functor
let i : PreservesColimit K F' := by
apply SingleObj.preservesColimit
show PreservesColimit K (F ⋙ forget₂ (Action V G) V)
assumption
apply preservesColimitOfReflectsOfPreserves F (Action.functorCategoryEquivalence V G).functor
def Action.preservesColimitOfShapeOfPreserves (F : C ⥤ Action V G) {J : Type w₁}
[Category.{w₂, w₁} J] (h : PreservesColimitsOfShape J (F ⋙ forget₂ (Action V G) V)) :
PreservesColimitsOfShape J F := by
constructor
intro K
apply Action.preservesColimitOfPreserves
exact PreservesColimitsOfShape.preservesColimit
def Action.preservesColimitOfSizeOfPreserves (F : C ⥤ Action V G)
(h : PreservesColimitsOfSize.{w₂, w₁} (F ⋙ forget₂ (Action V G) V)) :
PreservesColimitsOfSize.{w₂, w₁} F := by
constructor
intro J _
apply Action.preservesColimitOfShapeOfPreserves
exact PreservesColimitsOfSize.preservesColimitsOfShape
Kevin Buzzard (Dec 23 2023 at 14:39):
Is this a statement about docs#CategoryTheory.ConcreteCategory s?
Christian Merten (Dec 23 2023 at 14:42):
I don't really think it is, it just uses the HasForget₂
instance which needs ConcreteCategory V
, but forget₂ (Action V G) V
could be just defined by hand as (evaluation (SingleObj G) V).obj (SingleObj.star G)
.
Christian Merten (Dec 23 2023 at 14:43):
Ah, maybe I misunderstood. Are you suggesting it could be generalized to the case of concrete categories?
Christian Merten (Dec 23 2023 at 14:45):
In my mind this is just a consequence of Action G V
being a special functor category and how (co)limits in functor categories are computed.
Adam Topaz (Dec 23 2023 at 15:20):
you're looking or a "reflects colimits" kind of statement.
Christian Merten (Dec 23 2023 at 15:24):
Thanks! It seems to be some special version of docs#CategoryTheory.Limits.evaluationJointlyReflectsColimits
Christian Merten (Dec 23 2023 at 15:25):
Which in this setting can be formulated sligthly more compactly, because SingleObj G
has only one object. The reformulation seems to be the snippet above.
Last updated: May 02 2025 at 03:31 UTC