Functors from a groupoid into a monoidal closed category form a monoidal closed category. #
(Using the pointwise monoidal structure on the functor category.)
@[simp]
theorem
CategoryTheory.Functor.closedIhom_obj_obj
{D : Type u_1}
{C : Type u_2}
[CategoryTheory.Groupoid D]
[CategoryTheory.Category.{u_4, u_2} C]
[CategoryTheory.MonoidalCategory C]
[CategoryTheory.MonoidalClosed C]
(F : CategoryTheory.Functor D C)
(Y : CategoryTheory.Functor D C)
(X : D)
:
((CategoryTheory.Functor.closedIhom F).obj Y).obj X = (CategoryTheory.ihom (F.obj X)).obj (Y.obj X)
@[simp]
theorem
CategoryTheory.Functor.closedIhom_map_app
{D : Type u_1}
{C : Type u_2}
[CategoryTheory.Groupoid D]
[CategoryTheory.Category.{u_4, u_2} C]
[CategoryTheory.MonoidalCategory C]
[CategoryTheory.MonoidalClosed C]
(F : CategoryTheory.Functor D C)
:
∀ {X Y : CategoryTheory.Functor D C} (g : X ⟶ Y) (X_1 : D),
((CategoryTheory.Functor.closedIhom F).map g).app X_1 = (CategoryTheory.ihom (F.obj X_1)).map (g.app X_1)
@[simp]
theorem
CategoryTheory.Functor.closedIhom_obj_map
{D : Type u_1}
{C : Type u_2}
[CategoryTheory.Groupoid D]
[CategoryTheory.Category.{u_4, u_2} C]
[CategoryTheory.MonoidalCategory C]
[CategoryTheory.MonoidalClosed C]
(F : CategoryTheory.Functor D C)
(Y : CategoryTheory.Functor D C)
:
∀ {X Y_1 : D} (f : X ⟶ Y_1),
((CategoryTheory.Functor.closedIhom F).obj Y).map f = CategoryTheory.CategoryStruct.comp
((CategoryTheory.MonoidalClosed.pre (CategoryTheory.inv (F.map f))).app (Y.obj X))
((CategoryTheory.ihom (F.obj Y_1)).map (Y.map f))
def
CategoryTheory.Functor.closedIhom
{D : Type u_1}
{C : Type u_2}
[CategoryTheory.Groupoid D]
[CategoryTheory.Category.{u_4, u_2} C]
[CategoryTheory.MonoidalCategory C]
[CategoryTheory.MonoidalClosed C]
(F : CategoryTheory.Functor D C)
:
Auxiliary definition for CategoryTheory.Functor.closed
.
The internal hom functor F ⟶[C] -
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem
CategoryTheory.Functor.closedUnit_app_app
{D : Type u_1}
{C : Type u_2}
[CategoryTheory.Groupoid D]
[CategoryTheory.Category.{u_4, u_2} C]
[CategoryTheory.MonoidalCategory C]
[CategoryTheory.MonoidalClosed C]
(F : CategoryTheory.Functor D C)
(G : CategoryTheory.Functor D C)
(X : D)
:
((CategoryTheory.Functor.closedUnit F).app G).app X = (CategoryTheory.ihom.coev (F.obj X)).app (G.obj X)
def
CategoryTheory.Functor.closedUnit
{D : Type u_1}
{C : Type u_2}
[CategoryTheory.Groupoid D]
[CategoryTheory.Category.{u_4, u_2} C]
[CategoryTheory.MonoidalCategory C]
[CategoryTheory.MonoidalClosed C]
(F : CategoryTheory.Functor D C)
:
Auxiliary definition for CategoryTheory.Functor.closed
.
The unit for the adjunction (tensorLeft F) ⊣ (ihom F)
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem
CategoryTheory.Functor.closedCounit_app_app
{D : Type u_1}
{C : Type u_2}
[CategoryTheory.Groupoid D]
[CategoryTheory.Category.{u_4, u_2} C]
[CategoryTheory.MonoidalCategory C]
[CategoryTheory.MonoidalClosed C]
(F : CategoryTheory.Functor D C)
(G : CategoryTheory.Functor D C)
(X : D)
:
((CategoryTheory.Functor.closedCounit F).app G).app X = (CategoryTheory.ihom.ev (F.obj X)).app (G.obj X)
def
CategoryTheory.Functor.closedCounit
{D : Type u_1}
{C : Type u_2}
[CategoryTheory.Groupoid D]
[CategoryTheory.Category.{u_4, u_2} C]
[CategoryTheory.MonoidalCategory C]
[CategoryTheory.MonoidalClosed C]
(F : CategoryTheory.Functor D C)
:
Auxiliary definition for CategoryTheory.Functor.closed
.
The counit for the adjunction (tensorLeft F) ⊣ (ihom F)
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance
CategoryTheory.Functor.closed
{D : Type u_1}
{C : Type u_2}
[CategoryTheory.Groupoid D]
[CategoryTheory.Category.{u_4, u_2} C]
[CategoryTheory.MonoidalCategory C]
[CategoryTheory.MonoidalClosed C]
(F : CategoryTheory.Functor D C)
:
If C
is a monoidal closed category and D
is a groupoid, then every functor F : D ⥤ C
is
closed in the functor category F : D ⥤ C
with the pointwise monoidal structure.
Equations
- One or more equations did not get rendered due to their size.
@[simp]
theorem
CategoryTheory.Functor.monoidalClosed_closed_isAdj_adj_homEquiv_symm_apply_app
{D : Type u_1}
{C : Type u_2}
[CategoryTheory.Groupoid D]
[CategoryTheory.Category.{u_4, u_2} C]
[CategoryTheory.MonoidalCategory C]
[CategoryTheory.MonoidalClosed C]
(X : CategoryTheory.Functor D C)
(X : CategoryTheory.Functor D C)
(Y : CategoryTheory.Functor D C)
(g : X✝ ⟶ (CategoryTheory.Functor.closedIhom X✝¹).obj Y)
(X : D)
:
((CategoryTheory.IsLeftAdjoint.adj.homEquiv X✝ Y).symm g).app X = CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategory.whiskerLeft (X✝¹.obj X) (g.app X))
((CategoryTheory.ihom.ev (X✝¹.obj X)).app (Y.obj X))
@[simp]
theorem
CategoryTheory.Functor.monoidalClosed_closed_isAdj_adj_homEquiv_apply_app
{D : Type u_1}
{C : Type u_2}
[CategoryTheory.Groupoid D]
[CategoryTheory.Category.{u_4, u_2} C]
[CategoryTheory.MonoidalCategory C]
[CategoryTheory.MonoidalClosed C]
(X : CategoryTheory.Functor D C)
(X : CategoryTheory.Functor D C)
(Y : CategoryTheory.Functor D C)
(f : (CategoryTheory.MonoidalCategory.tensorLeft X✝¹).obj X✝ ⟶ Y)
(X : D)
:
((CategoryTheory.IsLeftAdjoint.adj.homEquiv X✝ Y) f).app X = CategoryTheory.CategoryStruct.comp ((CategoryTheory.ihom.coev (X✝¹.obj X)).app (X✝.obj X))
((CategoryTheory.ihom (X✝¹.obj X)).map (f.app X))
@[simp]
theorem
CategoryTheory.Functor.monoidalClosed_closed_isAdj_adj_unit_app_app
{D : Type u_1}
{C : Type u_2}
[CategoryTheory.Groupoid D]
[CategoryTheory.Category.{u_4, u_2} C]
[CategoryTheory.MonoidalCategory C]
[CategoryTheory.MonoidalClosed C]
(X : CategoryTheory.Functor D C)
(G : CategoryTheory.Functor D C)
(X : D)
:
(CategoryTheory.IsLeftAdjoint.adj.unit.app G).app X = (CategoryTheory.ihom.coev (X✝.obj X)).app (G.obj X)
@[simp]
theorem
CategoryTheory.Functor.monoidalClosed_closed_isAdj_right_map_app
{D : Type u_1}
{C : Type u_2}
[CategoryTheory.Groupoid D]
[CategoryTheory.Category.{u_4, u_2} C]
[CategoryTheory.MonoidalCategory C]
[CategoryTheory.MonoidalClosed C]
(X : CategoryTheory.Functor D C)
:
∀ {X_1 Y : CategoryTheory.Functor D C} (g : X_1 ⟶ Y) (X_2 : D),
((CategoryTheory.IsLeftAdjoint.right (CategoryTheory.MonoidalCategory.tensorLeft X)).map g).app X_2 = (CategoryTheory.ihom (X.obj X_2)).map (g.app X_2)
@[simp]
theorem
CategoryTheory.Functor.monoidalClosed_closed_isAdj_adj_counit_app_app
{D : Type u_1}
{C : Type u_2}
[CategoryTheory.Groupoid D]
[CategoryTheory.Category.{u_4, u_2} C]
[CategoryTheory.MonoidalCategory C]
[CategoryTheory.MonoidalClosed C]
(X : CategoryTheory.Functor D C)
(G : CategoryTheory.Functor D C)
(X : D)
:
(CategoryTheory.IsLeftAdjoint.adj.counit.app G).app X = (CategoryTheory.ihom.ev (X✝.obj X)).app (G.obj X)
@[simp]
theorem
CategoryTheory.Functor.monoidalClosed_closed_isAdj_right_obj_map
{D : Type u_1}
{C : Type u_2}
[CategoryTheory.Groupoid D]
[CategoryTheory.Category.{u_4, u_2} C]
[CategoryTheory.MonoidalCategory C]
[CategoryTheory.MonoidalClosed C]
(X : CategoryTheory.Functor D C)
(Y : CategoryTheory.Functor D C)
:
∀ {X_1 Y_1 : D} (f : X_1 ⟶ Y_1),
((CategoryTheory.IsLeftAdjoint.right (CategoryTheory.MonoidalCategory.tensorLeft X)).obj Y).map f = CategoryTheory.CategoryStruct.comp
((CategoryTheory.MonoidalClosed.pre (CategoryTheory.inv (X.map f))).app (Y.obj X_1))
((CategoryTheory.ihom (X.obj Y_1)).map (Y.map f))
@[simp]
theorem
CategoryTheory.Functor.monoidalClosed_closed_isAdj_right_obj_obj
{D : Type u_1}
{C : Type u_2}
[CategoryTheory.Groupoid D]
[CategoryTheory.Category.{u_4, u_2} C]
[CategoryTheory.MonoidalCategory C]
[CategoryTheory.MonoidalClosed C]
(X : CategoryTheory.Functor D C)
(Y : CategoryTheory.Functor D C)
(X : D)
:
((CategoryTheory.IsLeftAdjoint.right (CategoryTheory.MonoidalCategory.tensorLeft X✝)).obj Y).obj X = (CategoryTheory.ihom (X✝.obj X)).obj (Y.obj X)
instance
CategoryTheory.Functor.monoidalClosed
{D : Type u_1}
{C : Type u_2}
[CategoryTheory.Groupoid D]
[CategoryTheory.Category.{u_4, u_2} C]
[CategoryTheory.MonoidalCategory C]
[CategoryTheory.MonoidalClosed C]
:
If C
is a monoidal closed category and D
is groupoid, then the functor category D ⥤ C
,
with the pointwise monoidal structure, is monoidal closed.
Equations
- CategoryTheory.Functor.monoidalClosed = { closed := inferInstance }
theorem
CategoryTheory.Functor.ihom_map
{D : Type u_1}
{C : Type u_2}
[CategoryTheory.Groupoid D]
[CategoryTheory.Category.{u_4, u_2} C]
[CategoryTheory.MonoidalCategory C]
[CategoryTheory.MonoidalClosed C]
(F : CategoryTheory.Functor D C)
{G : CategoryTheory.Functor D C}
{H : CategoryTheory.Functor D C}
(f : G ⟶ H)
:
(CategoryTheory.ihom F).map f = (CategoryTheory.Functor.closedIhom F).map f
theorem
CategoryTheory.Functor.ihom_ev_app
{D : Type u_1}
{C : Type u_2}
[CategoryTheory.Groupoid D]
[CategoryTheory.Category.{u_4, u_2} C]
[CategoryTheory.MonoidalCategory C]
[CategoryTheory.MonoidalClosed C]
(F : CategoryTheory.Functor D C)
(G : CategoryTheory.Functor D C)
:
(CategoryTheory.ihom.ev F).app G = (CategoryTheory.Functor.closedCounit F).app G
theorem
CategoryTheory.Functor.ihom_coev_app
{D : Type u_1}
{C : Type u_2}
[CategoryTheory.Groupoid D]
[CategoryTheory.Category.{u_4, u_2} C]
[CategoryTheory.MonoidalCategory C]
[CategoryTheory.MonoidalClosed C]
(F : CategoryTheory.Functor D C)
(G : CategoryTheory.Functor D C)
:
(CategoryTheory.ihom.coev F).app G = (CategoryTheory.Functor.closedUnit F).app G