# Documentation

Mathlib.CategoryTheory.NatTrans

# Natural transformations #

Defines natural transformations between functors.

A natural transformation α : NatTrans F G consists of morphisms α.app X : F.obj X ⟶ G.obj X, and the naturality squares α.naturality f : F.map f ≫ α.app Y = α.app X ≫ G.map f, where f : X ⟶ Y.

Note that we make NatTrans.naturality a simp lemma, with the preferred simp normal form pushing components of natural transformations to the left.

See also CategoryTheory.FunctorCat, where we provide the category structure on functors and natural transformations.

Introduces notations

• τ.app X for the components of natural transformations,
• F ⟶ G for the type of natural transformations between functors F and G (this and the next require CategoryTheory.FunctorCat),
• σ ≫ τ for vertical compositions, and
• σ ◫ τ for horizontal compositions.
theorem CategoryTheory.NatTrans.ext {C : Type u₁} :
∀ {inst : } {D : Type u₂} {inst_1 : } {F G : } (x y : F.NatTrans G), x.app = y.appx = y
theorem CategoryTheory.NatTrans.ext_iff {C : Type u₁} :
∀ {inst : } {D : Type u₂} {inst_1 : } {F G : } (x y : F.NatTrans G), x = y x.app = y.app
structure CategoryTheory.NatTrans {C : Type u₁} [] {D : Type u₂} [] (F : ) (G : ) :
Type (max u₁ v₂)

NatTrans F G represents a natural transformation between functors F and G.

The field app provides the components of the natural transformation.

Naturality is expressed by α.naturality.

Instances For
@[simp]
theorem CategoryTheory.NatTrans.naturality_assoc {C : Type u₁} [] {D : Type u₂} [] {F : } {G : } (self : F.NatTrans G) ⦃X : C ⦃Y : C (f : X Y) {Z : D} (h : G.obj Y Z) :
theorem CategoryTheory.congr_app {C : Type u₁} [] {D : Type u₂} [] {F : } {G : } {α : F.NatTrans G} {β : F.NatTrans G} (h : α = β) (X : C) :
α.app X = β.app X
def CategoryTheory.NatTrans.id {C : Type u₁} [] {D : Type u₂} [] (F : ) :
F.NatTrans F

NatTrans.id F is the identity natural transformation on a functor F.

Instances For
@[simp]
theorem CategoryTheory.NatTrans.id_app' {C : Type u₁} [] {D : Type u₂} [] (F : ) (X : C) :
instance CategoryTheory.NatTrans.instInhabitedNatTrans {C : Type u₁} [] {D : Type u₂} [] (F : ) :
Inhabited (F.NatTrans F)
def CategoryTheory.NatTrans.vcomp {C : Type u₁} [] {D : Type u₂} [] {F : } {G : } {H : } (α : F.NatTrans G) (β : G.NatTrans H) :
F.NatTrans H

vcomp α β is the vertical compositions of natural transformations.

Instances For
theorem CategoryTheory.NatTrans.vcomp_app {C : Type u₁} [] {D : Type u₂} [] {F : } {G : } {H : } (α : F.NatTrans G) (β : G.NatTrans H) (X : C) :
().app X = CategoryTheory.CategoryStruct.comp (α.app X) (β.app X)