Strong transformations of pseudofunctors #
There are three types of transformations between pseudofunctors, depending on the direction or invertibility of the 2-morphism witnessing the naturality condition.
In this file we define strong transformations, which require the 2-morphism to be invertible.
Main definitions #
Pseudofunctor.StrongTrans F G: strong transformations between pseudofunctorsFandG.Pseudofunctor.mkOfOplax η η': Given two pseudofunctors, and a strong transformationηbetween their underlying oplax functors,mkOfOplaxlifts this to a strong transformation between the pseudofunctors.Pseudofunctor.StrongTrans.vcomp η θ: the vertical composition of strong transformationsηandθ.
Using this we obtain a CategoryStruct on pseudofunctors, where the arrows are given by
strong transformations. See Pseudofunctor.categoryStruct.
References #
A strong transformation between pseudofunctors F and G is a natural transformation
that is "natural up to 2-isomorphisms".
More precisely, it consists of the following:
- a 1-morphism
η.app a : F.obj a ⟶ G.obj afor each objecta : B. - a 2-isomorphism
η.naturality f : F.map f ≫ app b ≅ app a ≫ G.map ffor each 1-morphismf : a ⟶ b. - These 2-isomorphisms satisfy the naturality condition, and preserve the identities and the compositions modulo some adjustments of domains and codomains of 2-morphisms.
The component 1-morphisms of a strong transformation.
- naturality {a b : B} (f : a ⟶ b) : CategoryStruct.comp (F.map f) (self.app b) ≅ CategoryStruct.comp (self.app a) (G.map f)
The 2-isomorphisms underlying the strong naturality constraint.
- naturality_naturality {a b : B} {f g : a ⟶ b} (η : f ⟶ g) : CategoryStruct.comp (Bicategory.whiskerRight (F.map₂ η) (self.app b)) (self.naturality g).hom = CategoryStruct.comp (self.naturality f).hom (Bicategory.whiskerLeft (self.app a) (G.map₂ η))
Naturality of the strong naturality constraint.
- naturality_id (a : B) : CategoryStruct.comp (self.naturality (CategoryStruct.id a)).hom (Bicategory.whiskerLeft (self.app a) (G.mapId a).hom) = CategoryStruct.comp (Bicategory.whiskerRight (F.mapId a).hom (self.app a)) (CategoryStruct.comp (Bicategory.leftUnitor (self.app a)).hom (Bicategory.rightUnitor (self.app a)).inv)
Oplax unity.
- naturality_comp {a b c : B} (f : a ⟶ b) (g : b ⟶ c) : CategoryStruct.comp (self.naturality (CategoryStruct.comp f g)).hom (Bicategory.whiskerLeft (self.app a) (G.mapComp f g).hom) = CategoryStruct.comp (Bicategory.whiskerRight (F.mapComp f g).hom (self.app c)) (CategoryStruct.comp (Bicategory.associator (F.map f) (F.map g) (self.app c)).hom (CategoryStruct.comp (Bicategory.whiskerLeft (F.map f) (self.naturality g).hom) (CategoryStruct.comp (Bicategory.associator (F.map f) (self.app b) (G.map g)).inv (CategoryStruct.comp (Bicategory.whiskerRight (self.naturality f).hom (G.map g)) (Bicategory.associator (self.app a) (G.map f) (G.map g)).hom))))
Oplax functoriality.
Instances For
The underlying oplax transformation of a strong transformation.
Equations
Instances For
Construct a strong transformation of pseudofunctors from a strong transformation of the underlying oplax functors.
Equations
- CategoryTheory.Pseudofunctor.StrongTrans.mkOfOplax η = { app := η.app, naturality := fun {a b : B} => η.naturality, naturality_naturality := ⋯, naturality_id := ⋯, naturality_comp := ⋯ }
Instances For
The identity strong transformation.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Vertical composition of strong transformations.
Instances For
CategoryStruct on Pseudofunctor B C where the (1-)morphisms are given by strong
transformations.
Equations
- One or more equations did not get rendered due to their size.