Documentation

TauCeti.CategoryTheory.Monoidal.DayConvolution.Closed

Day convolution is closed #

Let C be a monoidal category and V a monoidal closed category in which every functor Cᵒᵖ ⥤ C ⥤ V has an end. Then the Day convolution monoidal structure on C ⊛⥤ V is closed: the internal hom [F, G] is the functor c ↦ ∫_j [F j, G (j ⊗ c)].

Mathlib's DayConvolutionInternalHom F G H records that H is such an end, and constructs from it the evaluation F ⊛ H ⟶ G, the coevaluation G ⟶ [F, F ⊛ G] and their triangle identities. We choose the ends functorially through endFunctor, so that [F, -] is a functor, check that it satisfies DayConvolutionInternalHom, and assemble the evaluation and coevaluation into an adjunction tensorLeft F ⊣ [F, -]. This turns the construction of Mathlib's CategoryTheory.MonoidalCategory.DayConvolution.Closed into an actual MonoidalClosed instance on C ⊛⥤ V.

Main definitions #

Main statements #

References #

The internal hom functor [F, -] for the Day convolution product: the functor G ↦ [F, G] with [F, G].obj c = ∫_j [F j, G (j ⊗ c)].

Instances For

    The projection [F, G].obj c ⟶ [F j, G (j ⊗ c)] from the end.

    Instances For
      theorem CategoryTheory.MonoidalCategory.DayFunctor.π_hom_ext {C : Type u₁} [Category.{v₁, u₁} C] {V : Type u₂} [Category.{v₂, u₂} V] [MonoidalCategory C] [MonoidalCategory V] [MonoidalClosed V] [∀ (F : Functor Cᵒᵖ (Functor C V)), Limits.HasEnd F] {F G : DayFunctor C V} {c : C} {X : V} {f g : X ⟶ (F.internalHom.obj G).functor.obj c} (h : ∀ (j : C), CategoryStruct.comp f (F.π G c j) = CategoryStruct.comp g (F.π G c j)) :
      f = g

      Morphisms into [F, G].obj c are determined by their composites with the projections.

      theorem CategoryTheory.MonoidalCategory.DayFunctor.π_hom_ext_iff {C : Type u₁} [Category.{v₁, u₁} C] {V : Type u₂} [Category.{v₂, u₂} V] [MonoidalCategory C] [MonoidalCategory V] [MonoidalClosed V] [∀ (F : Functor Cᵒᵖ (Functor C V)), Limits.HasEnd F] {F G : DayFunctor C V} {c : C} {X : V} {f g : X ⟶ (F.internalHom.obj G).functor.obj c} :
      f = g ↔ ∀ (j : C), CategoryStruct.comp f (F.π G c j) = CategoryStruct.comp g (F.π G c j)

      The projections out of [F, G].obj c form a wedge.

      The projections out of [F, G].obj c form a wedge.

      @[simp]

      The functoriality of [F, G] in the variable c, along the projections.

      @[simp]

      The functoriality of [F, G] in the variable c, along the projections.

      @[simp]

      The functoriality of [F, -], along the projections.

      @[simp]

      The functoriality of [F, -], along the projections.

      [F, G] is an internal hom of F and G for Day convolution in the sense of Mathlib's DayConvolutionInternalHom: its values are ends, with the projections π.

      Instances For
        @[simp]

        The projections of dayConvolutionInternalHom F G are the end projections π.

        The morphism of internal homs that Mathlib's DayConvolutionInternalHom.map induces from a morphism g : G ⟶ G' is the image of g under the functor [F, -].

        @[simp]

        The evaluation F ⊗ [F, G] ⟶ G, restricted along the Day convolution unit, is the uncurried projection from the end.

        @[simp]
        theorem CategoryTheory.MonoidalCategory.DayFunctor.η_app_comp_ev_natTrans_app_assoc {C : Type u₁} [Category.{v₁, u₁} C] {V : Type u₂} [Category.{v₂, u₂} V] [MonoidalCategory C] [MonoidalCategory V] [MonoidalClosed V] [∀ (F : Functor Cᵒᵖ (Functor C V)), Limits.HasEnd F] (F : DayFunctor C V) [∀ (F G : Functor C V), (tensor C).HasPointwiseLeftKanExtension (externalProduct F G)] [(Functor.fromPUnit (tensorUnit C)).HasPointwiseLeftKanExtension (Functor.fromPUnit (tensorUnit V))] [∀ (v : V) (d : C), Limits.PreservesColimitsOfShape (CostructuredArrow (tensor C) d) (tensorLeft v)] [∀ (v : V) (d : C), Limits.PreservesColimitsOfShape (CostructuredArrow (tensor C) d) (tensorRight v)] [∀ (v : V) (d : C), Limits.PreservesColimitsOfShape (CostructuredArrow (Functor.fromPUnit (tensorUnit C)) d) (tensorLeft v)] [∀ (v : V) (d : C), Limits.PreservesColimitsOfShape (CostructuredArrow (Functor.fromPUnit (tensorUnit C)) d) (tensorRight v)] [∀ (v : V) (d : C × C), Limits.PreservesColimitsOfShape (CostructuredArrow ((Functor.id C).prod (Functor.fromPUnit (tensorUnit C))) d) (tensorRight v)] [∀ (v : V) (d : C × C), Limits.PreservesColimitsOfShape (CostructuredArrow ((tensor C).prod (Functor.id C)) d) (tensorRight v)] (G : DayFunctor C V) (x y : C) {Z : V} (h : G.functor.obj (tensorObj x y) ⟶ Z) :

        The evaluation F ⊗ [F, G] ⟶ G, restricted along the Day convolution unit, is the uncurried projection from the end.

        @[simp]

        The coevaluation G ⟶ [F, F ⊗ G], followed by a projection from the end, is the curried Day convolution unit.

        @[simp]
        theorem CategoryTheory.MonoidalCategory.DayFunctor.coev_natTrans_app_comp_π_assoc {C : Type u₁} [Category.{v₁, u₁} C] {V : Type u₂} [Category.{v₂, u₂} V] [MonoidalCategory C] [MonoidalCategory V] [MonoidalClosed V] [∀ (F : Functor Cᵒᵖ (Functor C V)), Limits.HasEnd F] (F : DayFunctor C V) [∀ (F G : Functor C V), (tensor C).HasPointwiseLeftKanExtension (externalProduct F G)] [(Functor.fromPUnit (tensorUnit C)).HasPointwiseLeftKanExtension (Functor.fromPUnit (tensorUnit V))] [∀ (v : V) (d : C), Limits.PreservesColimitsOfShape (CostructuredArrow (tensor C) d) (tensorLeft v)] [∀ (v : V) (d : C), Limits.PreservesColimitsOfShape (CostructuredArrow (tensor C) d) (tensorRight v)] [∀ (v : V) (d : C), Limits.PreservesColimitsOfShape (CostructuredArrow (Functor.fromPUnit (tensorUnit C)) d) (tensorLeft v)] [∀ (v : V) (d : C), Limits.PreservesColimitsOfShape (CostructuredArrow (Functor.fromPUnit (tensorUnit C)) d) (tensorRight v)] [∀ (v : V) (d : C × C), Limits.PreservesColimitsOfShape (CostructuredArrow ((Functor.id C).prod (Functor.fromPUnit (tensorUnit C))) d) (tensorRight v)] [∀ (v : V) (d : C × C), Limits.PreservesColimitsOfShape (CostructuredArrow ((tensor C).prod (Functor.id C)) d) (tensorRight v)] (G : DayFunctor C V) (c j : C) {Z : V} (h : (ihom (F.functor.obj j)).obj ((tensorObj F G).functor.obj (tensorObj j c)) ⟶ Z) :

        The coevaluation G ⟶ [F, F ⊗ G], followed by a projection from the end, is the curried Day convolution unit.

        The coevaluation G ⟶ [F, F ⊗ G] is natural in G.

        The evaluation F ⊗ [F, G] ⟶ G is natural in G.

        @[simp]

        The first triangle identity: F ⊗ G ⟶ F ⊗ [F, F ⊗ G] ⟶ F ⊗ G is the identity.

        @[simp]

        The second triangle identity: [F, G] ⟶ [F, F ⊗ [F, G]] ⟶ [F, G] is the identity.

        @[instance_reducible]

        Day convolution with values in a monoidal closed category with ends is monoidal closed, with internal hom [F, G].obj c = ∫_j [F j, G (j ⊗ c)].

        @[simp]

        The curried morphism G ⟶ [F, H] of f : F ⊗ G ⟶ H, followed by a projection from the end, is the curried restriction of f along the Day convolution unit.

        theorem CategoryTheory.MonoidalCategory.DayFunctor.curry_natTrans_app_comp_π_assoc {C : Type u₁} [Category.{v₁, u₁} C] {V : Type u₂} [Category.{v₂, u₂} V] [MonoidalCategory C] [MonoidalCategory V] [MonoidalClosed V] [∀ (F : Functor Cᵒᵖ (Functor C V)), Limits.HasEnd F] (F : DayFunctor C V) [∀ (F G : Functor C V), (tensor C).HasPointwiseLeftKanExtension (externalProduct F G)] [(Functor.fromPUnit (tensorUnit C)).HasPointwiseLeftKanExtension (Functor.fromPUnit (tensorUnit V))] [∀ (v : V) (d : C), Limits.PreservesColimitsOfShape (CostructuredArrow (tensor C) d) (tensorLeft v)] [∀ (v : V) (d : C), Limits.PreservesColimitsOfShape (CostructuredArrow (tensor C) d) (tensorRight v)] [∀ (v : V) (d : C), Limits.PreservesColimitsOfShape (CostructuredArrow (Functor.fromPUnit (tensorUnit C)) d) (tensorLeft v)] [∀ (v : V) (d : C), Limits.PreservesColimitsOfShape (CostructuredArrow (Functor.fromPUnit (tensorUnit C)) d) (tensorRight v)] [∀ (v : V) (d : C × C), Limits.PreservesColimitsOfShape (CostructuredArrow ((Functor.id C).prod (Functor.fromPUnit (tensorUnit C))) d) (tensorRight v)] [∀ (v : V) (d : C × C), Limits.PreservesColimitsOfShape (CostructuredArrow ((tensor C).prod (Functor.id C)) d) (tensorRight v)] {G H : DayFunctor C V} (f : tensorObj F G ⟶ H) (c j : C) {Z : V} (h : (ihom (F.functor.obj j)).obj (H.functor.obj (tensorObj j c)) ⟶ Z) :

        The curried morphism G ⟶ [F, H] of f : F ⊗ G ⟶ H, followed by a projection from the end, is the curried restriction of f along the Day convolution unit.

        @[simp]

        The uncurried morphism F ⊗ G ⟶ H of g : G ⟶ [F, H], restricted along the Day convolution unit, is the uncurried composite of g with a projection from the end.

        @[simp]
        theorem CategoryTheory.MonoidalCategory.DayFunctor.η_app_comp_uncurry_natTrans_app_assoc {C : Type u₁} [Category.{v₁, u₁} C] {V : Type u₂} [Category.{v₂, u₂} V] [MonoidalCategory C] [MonoidalCategory V] [MonoidalClosed V] [∀ (F : Functor Cᵒᵖ (Functor C V)), Limits.HasEnd F] (F : DayFunctor C V) [∀ (F G : Functor C V), (tensor C).HasPointwiseLeftKanExtension (externalProduct F G)] [(Functor.fromPUnit (tensorUnit C)).HasPointwiseLeftKanExtension (Functor.fromPUnit (tensorUnit V))] [∀ (v : V) (d : C), Limits.PreservesColimitsOfShape (CostructuredArrow (tensor C) d) (tensorLeft v)] [∀ (v : V) (d : C), Limits.PreservesColimitsOfShape (CostructuredArrow (tensor C) d) (tensorRight v)] [∀ (v : V) (d : C), Limits.PreservesColimitsOfShape (CostructuredArrow (Functor.fromPUnit (tensorUnit C)) d) (tensorLeft v)] [∀ (v : V) (d : C), Limits.PreservesColimitsOfShape (CostructuredArrow (Functor.fromPUnit (tensorUnit C)) d) (tensorRight v)] [∀ (v : V) (d : C × C), Limits.PreservesColimitsOfShape (CostructuredArrow ((Functor.id C).prod (Functor.fromPUnit (tensorUnit C))) d) (tensorRight v)] [∀ (v : V) (d : C × C), Limits.PreservesColimitsOfShape (CostructuredArrow ((tensor C).prod (Functor.id C)) d) (tensorRight v)] {G H : DayFunctor C V} (g : G ⟶ F.internalHom.obj H) (x y : C) {Z : V} (h : H.functor.obj (tensorObj x y) ⟶ Z) :

        The uncurried morphism F ⊗ G ⟶ H of g : G ⟶ [F, H], restricted along the Day convolution unit, is the uncurried composite of g with a projection from the end.