Documentation

Mathlib.CategoryTheory.Functor.Category

The category of functors and natural transformations between two fixed categories. #

We provide the category instance on C ⥤ D, with morphisms the natural transformations.

Universes #

If C and D are both small categories at the same universe level, this is another small category at that level. However if C and D are both large categories at the same universe level, this is a small category at the next higher level.

Functor.category C D gives the category structure on functors and natural transformations between categories C and D.

Notice that if C and D are both small categories at the same universe level, this is another small category at that level. However if C and D are both large categories at the same universe level, this is a small category at the next higher level.

Equations
theorem CategoryTheory.NatTrans.ext' {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F G : CategoryTheory.Functor C D} {α β : F G} (w : α.app = β.app) :
α = β
theorem CategoryTheory.NatTrans.congr_app {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F G : CategoryTheory.Functor C D} {α β : F G} (h : α = β) (X : C) :
α.app X = β.app X
theorem CategoryTheory.NatTrans.app_naturality {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {F G : CategoryTheory.Functor C (CategoryTheory.Functor D E)} (T : F G) (X : C) {Y Z : D} (f : Y Z) :
CategoryTheory.CategoryStruct.comp ((F.obj X).map f) ((T.app X).app Z) = CategoryTheory.CategoryStruct.comp ((T.app X).app Y) ((G.obj X).map f)
theorem CategoryTheory.NatTrans.app_naturality_assoc {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {F G : CategoryTheory.Functor C (CategoryTheory.Functor D E)} (T : F G) (X : C) {Y Z : D} (f : Y Z) {Z✝ : E} (h : (G.obj X).obj Z Z✝) :
theorem CategoryTheory.NatTrans.naturality_app {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {F G : CategoryTheory.Functor C (CategoryTheory.Functor D E)} (T : F G) (Z : D) {X Y : C} (f : X Y) :
CategoryTheory.CategoryStruct.comp ((F.map f).app Z) ((T.app Y).app Z) = CategoryTheory.CategoryStruct.comp ((T.app X).app Z) ((G.map f).app Z)
theorem CategoryTheory.NatTrans.naturality_app_assoc {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {F G : CategoryTheory.Functor C (CategoryTheory.Functor D E)} (T : F G) (Z : D) {X Y : C} (f : X Y) {Z✝ : E} (h : (G.obj Y).obj Z Z✝) :
theorem CategoryTheory.NatTrans.naturality_app_app {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {E' : Type u₄} [CategoryTheory.Category.{v₄, u₄} E'] {F G : CategoryTheory.Functor C (CategoryTheory.Functor D (CategoryTheory.Functor E E'))} (α : F G) {X₁ Y₁ : C} (f : X₁ Y₁) (X₂ : D) (X₃ : E) :
CategoryTheory.CategoryStruct.comp (((F.map f).app X₂).app X₃) (((α.app Y₁).app X₂).app X₃) = CategoryTheory.CategoryStruct.comp (((α.app X₁).app X₂).app X₃) (((G.map f).app X₂).app X₃)
theorem CategoryTheory.NatTrans.naturality_app_app_assoc {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {E' : Type u₄} [CategoryTheory.Category.{v₄, u₄} E'] {F G : CategoryTheory.Functor C (CategoryTheory.Functor D (CategoryTheory.Functor E E'))} (α : F G) {X₁ Y₁ : C} (f : X₁ Y₁) (X₂ : D) (X₃ : E) {Z : E'} (h : ((G.obj Y₁).obj X₂).obj X₃ Z) :
CategoryTheory.CategoryStruct.comp (((F.map f).app X₂).app X₃) (CategoryTheory.CategoryStruct.comp (((α.app Y₁).app X₂).app X₃) h) = CategoryTheory.CategoryStruct.comp (((α.app X₁).app X₂).app X₃) (CategoryTheory.CategoryStruct.comp (((G.map f).app X₂).app X₃) h)

A natural transformation is a monomorphism if each component is.

A natural transformation is an epimorphism if each component is.

hcomp α β is the horizontal composition of natural transformations.

Equations
Instances For
    @[simp]
    theorem CategoryTheory.NatTrans.hcomp_app {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {F G : CategoryTheory.Functor C D} {H I : CategoryTheory.Functor D E} (α : F G) (β : H I) (X : C) :
    (α β).app X = CategoryTheory.CategoryStruct.comp (β.app (F.obj X)) (I.map (α.app X))

    Notation for horizontal composition of natural transformations.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For

      Flip the arguments of a bifunctor. See also Currying.lean.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        @[simp]
        @[simp]
        theorem CategoryTheory.Functor.flip_obj_map {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C (CategoryTheory.Functor D E)) (k : D) {X✝ Y✝ : C} (f : X✝ Y✝) :
        (F.flip.obj k).map f = (F.map f).app k
        @[simp]
        theorem CategoryTheory.Functor.flip_map_app {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C (CategoryTheory.Functor D E)) {X✝ Y✝ : D} (f : X✝ Y✝) (j : C) :
        (F.flip.map f).app j = (F.obj j).map f

        The functor (C ⥤ D ⥤ E) ⥤ D ⥤ C ⥤ E which flips the variables.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          @[simp]
          theorem CategoryTheory.flipFunctor_map_app_app (C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] (D : Type u₂) [CategoryTheory.Category.{v₂, u₂} D] (E : Type u₃) [CategoryTheory.Category.{v₃, u₃} E] {F₁ F₂ : CategoryTheory.Functor C (CategoryTheory.Functor D E)} (φ : F₁ F₂) (Y : D) (X : C) :
          (((CategoryTheory.flipFunctor C D E).map φ).app Y).app X = (φ.app X).app Y
          @[simp]
          theorem CategoryTheory.Iso.map_hom_inv_id_app_assoc {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {X Y : C} (e : X Y) (F : CategoryTheory.Functor C (CategoryTheory.Functor D E)) (Z : D) {Z✝ : E} (h : (F.obj X).obj Z Z✝) :
          CategoryTheory.CategoryStruct.comp ((F.map e.hom).app Z) (CategoryTheory.CategoryStruct.comp ((F.map e.inv).app Z) h) = h
          @[simp]
          theorem CategoryTheory.Iso.map_inv_hom_id_app_assoc {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {X Y : C} (e : X Y) (F : CategoryTheory.Functor C (CategoryTheory.Functor D E)) (Z : D) {Z✝ : E} (h : (F.obj Y).obj Z Z✝) :
          CategoryTheory.CategoryStruct.comp ((F.map e.inv).app Z) (CategoryTheory.CategoryStruct.comp ((F.map e.hom).app Z) h) = h
          @[deprecated CategoryTheory.Iso.map_hom_inv_id_app]

          Alias of CategoryTheory.Iso.map_hom_inv_id_app.

          @[deprecated CategoryTheory.Iso.map_inv_hom_id_app]

          Alias of CategoryTheory.Iso.map_inv_hom_id_app.

          @[deprecated CategoryTheory.Iso.map_hom_inv_id_app_assoc]
          theorem CategoryTheory.map_hom_inv_app_assoc {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {X Y : C} (e : X Y) (F : CategoryTheory.Functor C (CategoryTheory.Functor D E)) (Z : D) {Z✝ : E} (h : (F.obj X).obj Z Z✝) :
          CategoryTheory.CategoryStruct.comp ((F.map e.hom).app Z) (CategoryTheory.CategoryStruct.comp ((F.map e.inv).app Z) h) = h

          Alias of CategoryTheory.Iso.map_hom_inv_id_app_assoc.

          @[deprecated CategoryTheory.Iso.map_inv_hom_id_app_assoc]
          theorem CategoryTheory.map_inv_hom_app_assoc {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {X Y : C} (e : X Y) (F : CategoryTheory.Functor C (CategoryTheory.Functor D E)) (Z : D) {Z✝ : E} (h : (F.obj Y).obj Z Z✝) :
          CategoryTheory.CategoryStruct.comp ((F.map e.inv).app Z) (CategoryTheory.CategoryStruct.comp ((F.map e.hom).app Z) h) = h

          Alias of CategoryTheory.Iso.map_inv_hom_id_app_assoc.