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 functorsF
andG
(this and the next requireCategoryTheory.FunctorCat
),σ ≫ τ
for vertical compositions, andσ ◫ τ
for horizontal compositions.
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
.
- app : (X : C) → F.obj X ⟶ G.obj X
The component of a natural transformation.
- naturality : ∀ ⦃X Y : C⦄ (f : X ⟶ Y), CategoryTheory.CategoryStruct.comp (F.map f) (self.app Y) = CategoryTheory.CategoryStruct.comp (self.app X) (G.map f)
The naturality square for a given morphism.
Instances For
NatTrans.id F
is the identity natural transformation on a functor F
.
Equations
- CategoryTheory.NatTrans.id F = { app := fun (X : C) => CategoryTheory.CategoryStruct.id (F.obj X), naturality := ⋯ }
Instances For
Equations
- CategoryTheory.NatTrans.instInhabited F = { default := CategoryTheory.NatTrans.id F }
vcomp α β
is the vertical compositions of natural transformations.
Equations
- α.vcomp β = { app := fun (X : C) => CategoryTheory.CategoryStruct.comp (α.app X) (β.app X), naturality := ⋯ }