Oplax natural transformations #
Just as there are natural transformations between functors, there are oplax natural transformations
between oplax functors. The equality in the naturality of natural transformations is replaced by a
specified 2-morphism F.map f ≫ app b ⟶ app a ≫ G.map f
in the case of oplax natural
transformations.
Main definitions #
OplaxNatTrans F G
: oplax natural transformations between oplax functorsF
andG
OplaxNatTrans.vcomp η θ
: the vertical composition of oplax natural transformationsη
andθ
OplaxNatTrans.category F G
: the category structure on the oplax natural transformations betweenF
andG
If η
is an oplax natural transformation between F
and G
, we have a 1-morphism
η.app a : F.obj a ⟶ G.obj a
for each object a : B
. We also have a 2-morphism
η.naturality f : F.map f ≫ app b ⟶ app a ≫ G.map f
for each 1-morphism f : a ⟶ b
.
These 2-morphisms satisfies the naturality condition, and preserve the identities and
the compositions modulo some adjustments of domains and codomains of 2-morphisms.
- app : (a : B) → F.obj a ⟶ G.obj a
- naturality : {a b : B} → (f : a ⟶ b) → CategoryTheory.CategoryStruct.comp (F.map f) (self.app b) ⟶ CategoryTheory.CategoryStruct.comp (self.app a) (G.map f)
- naturality_naturality : ∀ {a b : B} {f g : a ⟶ b} (η : f ⟶ g), CategoryTheory.CategoryStruct.comp (CategoryTheory.Bicategory.whiskerRight (F.map₂ η) (self.app b)) (self.naturality g) = CategoryTheory.CategoryStruct.comp (self.naturality f) (CategoryTheory.Bicategory.whiskerLeft (self.app a) (G.map₂ η))
- naturality_id : ∀ (a : B), CategoryTheory.CategoryStruct.comp (self.naturality (CategoryTheory.CategoryStruct.id a)) (CategoryTheory.Bicategory.whiskerLeft (self.app a) (G.mapId a)) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Bicategory.whiskerRight (F.mapId a) (self.app a)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Bicategory.leftUnitor (self.app a)).hom (CategoryTheory.Bicategory.rightUnitor (self.app a)).inv)
- naturality_comp : ∀ {a b c : B} (f : a ⟶ b) (g : b ⟶ c), CategoryTheory.CategoryStruct.comp (self.naturality (CategoryTheory.CategoryStruct.comp f g)) (CategoryTheory.Bicategory.whiskerLeft (self.app a) (G.mapComp f g)) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Bicategory.whiskerRight (F.mapComp f g) (self.app c)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Bicategory.associator (F.map f) (F.map g) (self.app c)).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Bicategory.whiskerLeft (F.map f) (self.naturality g)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Bicategory.associator (F.map f) (self.app b) (G.map g)).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Bicategory.whiskerRight (self.naturality f) (G.map g)) (CategoryTheory.Bicategory.associator (self.app a) (G.map f) (G.map g)).hom))))
Instances For
The identity oplax natural transformation.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- CategoryTheory.OplaxNatTrans.instInhabited F = { default := CategoryTheory.OplaxNatTrans.id F }
Vertical composition of oplax natural transformations.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
A modification Γ
between oplax natural transformations η
and θ
consists of a family of
2-morphisms Γ.app a : η.app a ⟶ θ.app a
, which satisfies the equation
(F.map f ◁ app b) ≫ θ.naturality f = η.naturality f ≫ (app a ▷ G.map f)
for each 1-morphism f : a ⟶ b
.
- app : (a : B) → η.app a ⟶ θ.app a
- naturality : ∀ {a b : B} (f : a ⟶ b), CategoryTheory.CategoryStruct.comp (CategoryTheory.Bicategory.whiskerLeft (F.map f) (self.app b)) (θ.naturality f) = CategoryTheory.CategoryStruct.comp (η.naturality f) (CategoryTheory.Bicategory.whiskerRight (self.app a) (G.map f))
Instances For
The identity modification.
Equations
- CategoryTheory.OplaxNatTrans.Modification.id η = { app := fun (a : B) => CategoryTheory.CategoryStruct.id (η.app a), naturality := ⋯ }
Instances For
Equations
Vertical composition of modifications.
Equations
- Γ.vcomp Δ = { app := fun (a : B) => CategoryTheory.CategoryStruct.comp (Γ.app a) (Δ.app a), naturality := ⋯ }
Instances For
Category structure on the oplax natural transformations between OplaxFunctors.
Equations
Construct a modification isomorphism between oplax natural transformations by giving object level isomorphisms, and checking naturality only in the forward direction.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A structure on an Oplax natural transformation that promotes it to a strong natural transformation.
See StrongNatTrans.mkOfOplax
.
- naturality : {a b : B} → (f : a ⟶ b) → CategoryTheory.CategoryStruct.comp (F.map f) (η.app b) ≅ CategoryTheory.CategoryStruct.comp (η.app a) (G.map f)