File: Mathlib/CategoryTheory/Closed/FunctorCategory.lean

full_name: CategoryTheory.Functor.closedIhom_obj_obj
code: /-- Auxiliary definition for `CategoryTheory.Functor.closed`.
The internal hom functor `F ⟶[C] -` -/
@[simps!]
def closedIhom (F : D ⥤ C) : (D ⥤ C) ⥤ D ⥤ C 
goal: (F.closedIhom.obj Y).obj X = (CategoryTheory.ihom (F.obj X)).obj (Y.obj X)

full_name: CategoryTheory.Functor.closedIhom
code: /-- Auxiliary definition for `CategoryTheory.Functor.closed`.
The internal hom functor `F ⟶[C] -` -/
@[simps!]
def closedIhom (F : D ⥤ C) : (D ⥤ C) ⥤ D ⥤ C 
goal: (D ⥤ C) ⥤ D ⥤ C

full_name: CategoryTheory.Functor.closedIhom_obj_map
code: /-- Auxiliary definition for `CategoryTheory.Functor.closed`.
The internal hom functor `F ⟶[C] -` -/
@[simps!]
def closedIhom (F : D ⥤ C) : (D ⥤ C) ⥤ D ⥤ C 
goal: ∀ {X Y_1 : D} (f : X ⟶ Y_1),
  (F.closedIhom.obj Y).map f =
    (CategoryTheory.MonoidalClosed.pre (CategoryTheory.inv (F.map f))).app (Y.obj X) ≫
      (CategoryTheory.ihom (F.obj Y_1)).map (Y.map f)

full_name: CategoryTheory.Functor.closedIhom_map_app
code: /-- Auxiliary definition for `CategoryTheory.Functor.closed`.
The internal hom functor `F ⟶[C] -` -/
@[simps!]
def closedIhom (F : D ⥤ C) : (D ⥤ C) ⥤ D ⥤ C 
goal: ∀ {X Y : D ⥤ C} (g : X ⟶ Y) (X_1 : D), (F.closedIhom.map g).app X_1 = (CategoryTheory.ihom (F.obj X_1)).map (g.app X_1)

full_name: CategoryTheory.Functor.closedUnit
code: /-- Auxiliary definition for `CategoryTheory.Functor.closed`.
The unit for the adjunction `(tensorLeft F) ⊣ (ihom F)`. -/
@[simps]
def closedUnit (F : D ⥤ C) : 𝟭 (D ⥤ C) ⟶ tensorLeft F ⋙ closedIhom F 
goal: 𝟭 (D ⥤ C) ⟶ CategoryTheory.MonoidalCategory.tensorLeft F ⋙ F.closedIhom

full_name: CategoryTheory.Functor.closedUnit_app_app
code: /-- Auxiliary definition for `CategoryTheory.Functor.closed`.
The unit for the adjunction `(tensorLeft F) ⊣ (ihom F)`. -/
@[simps]
def closedUnit (F : D ⥤ C) : 𝟭 (D ⥤ C) ⟶ tensorLeft F ⋙ closedIhom F 
goal: (F.closedUnit.app G).app X = (CategoryTheory.ihom.coev (F.obj X)).app (G.obj X)

full_name: CategoryTheory.Functor.closedCounit
code: /-- Auxiliary definition for `CategoryTheory.Functor.closed`.
The counit for the adjunction `(tensorLeft F) ⊣ (ihom F)`. -/
@[simps]
def closedCounit (F : D ⥤ C) : closedIhom F ⋙ tensorLeft F ⟶ 𝟭 (D ⥤ C) 
goal: F.closedIhom ⋙ CategoryTheory.MonoidalCategory.tensorLeft F ⟶ 𝟭 (D ⥤ C)

full_name: CategoryTheory.Functor.closedCounit_app_app
code: /-- Auxiliary definition for `CategoryTheory.Functor.closed`.
The counit for the adjunction `(tensorLeft F) ⊣ (ihom F)`. -/
@[simps]
def closedCounit (F : D ⥤ C) : closedIhom F ⋙ tensorLeft F ⟶ 𝟭 (D ⥤ C) 
goal: (F.closedCounit.app G).app X = (CategoryTheory.ihom.ev (F.obj X)).app (G.obj X)

full_name: CategoryTheory.Functor.closed
code: /-- 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. -/
-- Porting note: removed `@[simps]`, as some of the generated lemmas were failing the simpNF linter,
-- and none of the generated lemmas was actually used in mathlib3.
instance closed (F : D ⥤ C) : Closed F 
goal: CategoryTheory.Closed F

full_name: CategoryTheory.Functor.monoidalClosed
code: /-- 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. -/
@[simps! closed_adj]
instance monoidalClosed : MonoidalClosed (D ⥤ C) 
goal: CategoryTheory.MonoidalClosed (D ⥤ C)

full_name: CategoryTheory.Functor.monoidalClosed_closed_adj
code: /-- 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. -/
@[simps! closed_adj]
instance monoidalClosed : MonoidalClosed (D ⥤ C) 
goal: CategoryTheory.Closed.adj =
  CategoryTheory.Adjunction.mkOfUnitCounit
    { unit := X.closedUnit, counit := X.closedCounit, left_triangle := ⋯, right_triangle := ⋯ }

full_name: CategoryTheory.Functor.ihom_map
code: theorem ihom_map (F : D ⥤ C) {G H : D ⥤ C} (f : G ⟶ H) : (ihom F).map f = (closedIhom F).map f 
goal: (CategoryTheory.ihom F).map f = F.closedIhom.map f

full_name: CategoryTheory.Functor.ihom_ev_app
code: theorem ihom_ev_app (F G : D ⥤ C) : (ihom.ev F).app G = (closedCounit F).app G 
goal: (CategoryTheory.ihom.ev F).app G = F.closedCounit.app G

full_name: CategoryTheory.Functor.ihom_coev_app
code: theorem ihom_coev_app (F G : D ⥤ C) : (ihom.coev F).app G = (closedUnit F).app G 
goal: (CategoryTheory.ihom.coev F).app G = F.closedUnit.app G