Lax functors #
A lax functor F between bicategories B and C consists of
- a function between objects
F.obj : B ⟶ C, - a family of functions between 1-morphisms
F.map : (a ⟶ b) → (F.obj a ⟶ F.obj b), - a family of functions between 2-morphisms
F.map₂ : (f ⟶ g) → (F.map f ⟶ F.map g), - a family of 2-morphisms
F.mapId a : 𝟙 (F.obj a) ⟶ F.map (𝟙 a), - a family of 2-morphisms
F.mapComp f g : F.map f ≫ F.map g ⟶ F.map (f ≫ g), and - certain consistency conditions on them.
Main definitions #
CategoryTheory.LaxFunctor B C: a lax functor between bicategoriesBandC, which we denote byB ⥤ᴸ C.CategoryTheory.LaxFunctor.comp F G: the composition of lax functorsCategoryTheory.LaxFunctor.Pseudocore: a structure on a Lax functor that promotes a Lax functor to a pseudofunctor
Future work #
Some constructions in the bicategory library have only been done in terms of oplax functors,
since lax functors had not yet been added (e.g FunctorBicategory.lean). A possible project would
be to mirror these constructions for lax functors.
A lax functor F between bicategories B and C consists of a function between objects
F.obj, a function between 1-morphisms F.map, and a function between 2-morphisms F.map₂.
Unlike functors between categories, F.map do not need to strictly commute with the composition,
and do not need to strictly preserve the identity. Instead, there are specified 2-morphisms
𝟙 (F.obj a) ⟶ F.map (𝟙 a) and F.map f ≫ F.map g ⟶ F.map (f ≫ g).
F.map₂ strictly commute with compositions and preserve the identity. They also preserve the
associator, the left unitor, and the right unitor modulo some adjustments of domains and codomains
of 2-morphisms.
- obj : B → C
- map₂_comp {a b : B} {f g h : a ⟶ b} (η : f ⟶ g) (θ : g ⟶ h) : self.map₂ (CategoryStruct.comp η θ) = CategoryStruct.comp (self.map₂ η) (self.map₂ θ)
The 2-morphism underlying the lax unity constraint.
- mapComp {a b c : B} (f : a ⟶ b) (g : b ⟶ c) : CategoryStruct.comp (self.map f) (self.map g) ⟶ self.map (CategoryStruct.comp f g)
The 2-morphism underlying the lax functoriality constraint.
- mapComp_naturality_left {a b c : B} {f f' : a ⟶ b} (η : f ⟶ f') (g : b ⟶ c) : CategoryStruct.comp (self.mapComp f g) (self.map₂ (Bicategory.whiskerRight η g)) = CategoryStruct.comp (Bicategory.whiskerRight (self.map₂ η) (self.map g)) (self.mapComp f' g)
Naturality of the lax functoriality constraint, on the left.
- mapComp_naturality_right {a b c : B} (f : a ⟶ b) {g g' : b ⟶ c} (η : g ⟶ g') : CategoryStruct.comp (self.mapComp f g) (self.map₂ (Bicategory.whiskerLeft f η)) = CategoryStruct.comp (Bicategory.whiskerLeft (self.map f) (self.map₂ η)) (self.mapComp f g')
Naturality of the lax functoriality constraint, on the right.
- map₂_associator {a b c d : B} (f : a ⟶ b) (g : b ⟶ c) (h : c ⟶ d) : CategoryStruct.comp (Bicategory.whiskerRight (self.mapComp f g) (self.map h)) (CategoryStruct.comp (self.mapComp (CategoryStruct.comp f g) h) (self.map₂ (Bicategory.associator f g h).hom)) = CategoryStruct.comp (Bicategory.associator (self.map f) (self.map g) (self.map h)).hom (CategoryStruct.comp (Bicategory.whiskerLeft (self.map f) (self.mapComp g h)) (self.mapComp f (CategoryStruct.comp g h)))
Lax associativity.
- map₂_leftUnitor {a b : B} (f : a ⟶ b) : self.map₂ (Bicategory.leftUnitor f).inv = CategoryStruct.comp (Bicategory.leftUnitor (self.map f)).inv (CategoryStruct.comp (Bicategory.whiskerRight (self.mapId a) (self.map f)) (self.mapComp (CategoryStruct.id a) f))
Lax left unity.
- map₂_rightUnitor {a b : B} (f : a ⟶ b) : self.map₂ (Bicategory.rightUnitor f).inv = CategoryStruct.comp (Bicategory.rightUnitor (self.map f)).inv (CategoryStruct.comp (Bicategory.whiskerLeft (self.map f) (self.mapId b)) (self.mapComp f (CategoryStruct.id b)))
Lax right unity.
Instances For
Notation for a lax functor between bicategories.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Lax associativity.
Naturality of the lax functoriality constraint, on the left.
Naturality of the lax functoriality constraint, on the right.
Lax associativity.
Naturality of the lax functoriality constraint, on the left.
Naturality of the lax functoriality constraint, on the left.
Naturality of the lax functoriality constraint, on the right.
Naturality of the lax functoriality constraint, on the right.
Lax associativity.
Lax right unity.
Lax left unity.
Lax right unity.
Lax left unity.
Lax right unity.
Lax left unity.
The identity lax functor.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
More flexible variant of mapId. (See the file Bicategory.Functor.Strict
for applications to strict bicategories.)
Equations
- F.mapId' f hf = CategoryTheory.CategoryStruct.comp (F.mapId b) (F.map₂ (CategoryTheory.eqToHom ⋯))
Instances For
More flexible variant of mapComp. (See Bicategory.Functor.Strict
for applications to strict bicategories.)
Equations
- F.mapComp' f g fg h = CategoryTheory.CategoryStruct.comp (F.mapComp f g) (F.map₂ (CategoryTheory.eqToHom ⋯))
Instances For
Composition of lax functors.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A structure on a Lax functor that promotes a Lax functor to a pseudofunctor.
See Pseudofunctor.mkOfLax.
The isomorphism giving rise to the lax unity constraint
- mapCompIso {a b c : B} (f : a ⟶ b) (g : b ⟶ c) : F.map (CategoryStruct.comp f g) ≅ CategoryStruct.comp (F.map f) (F.map g)
The isomorphism giving rise to the lax functoriality constraint
mapIdIsogives rise to the lax unity constraintmapCompIsogives rise to the lax functoriality constraint