Oplax functors #
An oplax 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.map (𝟙 a) ⟶ 𝟙 (F.obj a), - a family of 2-morphisms
F.mapComp f g : F.map (f ≫ g) ⟶ F.map f ≫ F.map g, and - certain consistency conditions on them.
Main definitions #
CategoryTheory.OplaxFunctor B C: an oplax functor between bicategoriesBandCCategoryTheory.OplaxFunctor.comp F G: the composition of oplax functors
An oplax 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.map (𝟙 a) ⟶ 𝟙 (F.obj a) and F.map (f ≫ g) ⟶ F.map f ≫ F.map 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₂_id : ∀ {a b : B} (f : a ⟶ b), self.map₂ (CategoryTheory.CategoryStruct.id f) = CategoryTheory.CategoryStruct.id (self.map f)
- map₂_comp : ∀ {a b : B} {f g h : a ⟶ b} (η : f ⟶ g) (θ : g ⟶ h), self.map₂ (CategoryTheory.CategoryStruct.comp η θ) = CategoryTheory.CategoryStruct.comp (self.map₂ η) (self.map₂ θ)
- mapId : (a : B) → self.map (CategoryTheory.CategoryStruct.id a) ⟶ CategoryTheory.CategoryStruct.id (self.obj a)
The 2-morphism underlying the oplax unity constraint.
- mapComp : {a b c : B} → (f : a ⟶ b) → (g : b ⟶ c) → self.map (CategoryTheory.CategoryStruct.comp f g) ⟶ CategoryTheory.CategoryStruct.comp (self.map f) (self.map g)
The 2-morphism underlying the oplax functoriality constraint.
- mapComp_naturality_left : ∀ {a b c : B} {f f' : a ⟶ b} (η : f ⟶ f') (g : b ⟶ c), CategoryTheory.CategoryStruct.comp (self.map₂ (CategoryTheory.Bicategory.whiskerRight η g)) (self.mapComp f' g) = CategoryTheory.CategoryStruct.comp (self.mapComp f g) (CategoryTheory.Bicategory.whiskerRight (self.map₂ η) (self.map g))
Naturality of the oplax functoriality constraint, on the left.
- mapComp_naturality_right : ∀ {a b c : B} (f : a ⟶ b) {g g' : b ⟶ c} (η : g ⟶ g'), CategoryTheory.CategoryStruct.comp (self.map₂ (CategoryTheory.Bicategory.whiskerLeft f η)) (self.mapComp f g') = CategoryTheory.CategoryStruct.comp (self.mapComp f g) (CategoryTheory.Bicategory.whiskerLeft (self.map f) (self.map₂ η))
Naturality of the lax functoriality constraight, on the right.
- map₂_associator : ∀ {a b c d : B} (f : a ⟶ b) (g : b ⟶ c) (h : c ⟶ d), CategoryTheory.CategoryStruct.comp (self.map₂ (CategoryTheory.Bicategory.associator f g h).hom) (CategoryTheory.CategoryStruct.comp (self.mapComp f (CategoryTheory.CategoryStruct.comp g h)) (CategoryTheory.Bicategory.whiskerLeft (self.map f) (self.mapComp g h))) = CategoryTheory.CategoryStruct.comp (self.mapComp (CategoryTheory.CategoryStruct.comp f g) h) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Bicategory.whiskerRight (self.mapComp f g) (self.map h)) (CategoryTheory.Bicategory.associator (self.map f) (self.map g) (self.map h)).hom)
Oplax associativity.
- map₂_leftUnitor : ∀ {a b : B} (f : a ⟶ b), self.map₂ (CategoryTheory.Bicategory.leftUnitor f).hom = CategoryTheory.CategoryStruct.comp (self.mapComp (CategoryTheory.CategoryStruct.id a) f) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Bicategory.whiskerRight (self.mapId a) (self.map f)) (CategoryTheory.Bicategory.leftUnitor (self.map f)).hom)
Oplax left unity.
- map₂_rightUnitor : ∀ {a b : B} (f : a ⟶ b), self.map₂ (CategoryTheory.Bicategory.rightUnitor f).hom = CategoryTheory.CategoryStruct.comp (self.mapComp f (CategoryTheory.CategoryStruct.id b)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Bicategory.whiskerLeft (self.map f) (self.mapId b)) (CategoryTheory.Bicategory.rightUnitor (self.map f)).hom)
Oplax right unity.
Instances For
Naturality of the oplax functoriality constraint, on the left.
Naturality of the lax functoriality constraight, on the right.
Oplax associativity.
Oplax left unity.
Oplax right unity.
The identity oplax functor.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- CategoryTheory.OplaxFunctor.instInhabited = { default := CategoryTheory.OplaxFunctor.id B }
Composition of oplax functors.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A structure on an oplax functor that promotes an oplax functor to a pseudofunctor.
See Pseudofunctor.mkOfOplax.
- mapIdIso : (a : B) → F.map (CategoryTheory.CategoryStruct.id a) ≅ CategoryTheory.CategoryStruct.id (F.obj a)
The isomorphism giving rise to the oplax unity constraint
- mapCompIso : {a b c : B} → (f : a ⟶ b) → (g : b ⟶ c) → F.map (CategoryTheory.CategoryStruct.comp f g) ≅ CategoryTheory.CategoryStruct.comp (F.map f) (F.map g)
The isomorphism giving rise to the oplax functoriality constraint
- mapIdIso_hom : ∀ {a : B}, (self.mapIdIso a).hom = F.mapId a
mapIdIsogives rise to the oplax unity constraint mapCompIsogives rise to the oplax functoriality constraint
Instances For
mapIdIso gives rise to the oplax unity constraint
mapCompIso gives rise to the oplax functoriality constraint