Documentation

Mathlib.CategoryTheory.Bicategory.Functor.Lax

Lax functors #

A lax functor F between bicategories B and C consists of

Main definitions #

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.

structure CategoryTheory.LaxFunctor (B : Type u₁) [CategoryTheory.Bicategory B] (C : Type u₂) [CategoryTheory.Bicategory C] extends CategoryTheory.PrelaxFunctor :
Type (max (max (max (max (max u₁ u₂) v₁) v₂) w₁) w₂)

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.

Instances For
    @[simp]
    theorem CategoryTheory.LaxFunctor.mapComp_naturality_left {B : Type u₁} [CategoryTheory.Bicategory B] {C : Type u₂} [CategoryTheory.Bicategory C] (self : CategoryTheory.LaxFunctor B C) {a : B} {b : B} {c : B} {f : a b} {f' : a b} (η : f f') (g : b c) :

    Naturality of the lax functoriality constraight, on the left.

    @[simp]
    theorem CategoryTheory.LaxFunctor.mapComp_naturality_right {B : Type u₁} [CategoryTheory.Bicategory B] {C : Type u₂} [CategoryTheory.Bicategory C] (self : CategoryTheory.LaxFunctor B C) {a : B} {b : B} {c : B} (f : a b) {g : b c} {g' : b c} (η : g g') :
    CategoryTheory.CategoryStruct.comp (self.mapComp f g) (self.map₂ (CategoryTheory.Bicategory.whiskerLeft f η)) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Bicategory.whiskerLeft (self.map f) (self.map₂ η)) (self.mapComp f g')

    Naturality of the lax functoriality constraight, on the right.

    @[simp]

    Lax associativity

    @[simp]
    theorem CategoryTheory.LaxFunctor.mapComp_naturality_left_assoc {B : Type u₁} [CategoryTheory.Bicategory B] {C : Type u₂} [CategoryTheory.Bicategory C] (self : CategoryTheory.LaxFunctor B C) {a : B} {b : B} {c : B} {f : a b} {f' : a b} (η : f f') (g : b c) {Z : self.obj a self.obj c} (h : self.map (CategoryTheory.CategoryStruct.comp f' g) Z) :
    @[simp]
    theorem CategoryTheory.LaxFunctor.mapComp_naturality_right_assoc {B : Type u₁} [CategoryTheory.Bicategory B] {C : Type u₂} [CategoryTheory.Bicategory C] (self : CategoryTheory.LaxFunctor B C) {a : B} {b : B} {c : B} (f : a b) {g : b c} {g' : b c} (η : g g') {Z : self.obj a self.obj c} (h : self.map (CategoryTheory.CategoryStruct.comp f g') Z) :

    The identity lax functor.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      Equations
      @[simp]
      theorem CategoryTheory.LaxFunctor.comp_mapId {B : Type u₁} [CategoryTheory.Bicategory B] {C : Type u₂} [CategoryTheory.Bicategory C] {D : Type u₃} [CategoryTheory.Bicategory D] (F : CategoryTheory.LaxFunctor B C) (G : CategoryTheory.LaxFunctor C D) (a : B) :
      (F.comp G).mapId a = CategoryTheory.CategoryStruct.comp (G.mapId (F.obj a)) (G.map₂ (F.mapId a))
      @[simp]
      theorem CategoryTheory.LaxFunctor.comp_mapComp {B : Type u₁} [CategoryTheory.Bicategory B] {C : Type u₂} [CategoryTheory.Bicategory C] {D : Type u₃} [CategoryTheory.Bicategory D] (F : CategoryTheory.LaxFunctor B C) (G : CategoryTheory.LaxFunctor C D) :
      ∀ {a b c : B} (f : a b) (g : b c), (F.comp G).mapComp f g = CategoryTheory.CategoryStruct.comp (G.mapComp (F.map f) (F.map g)) (G.map₂ (F.mapComp f g))
      @[simp]
      theorem CategoryTheory.LaxFunctor.comp_toPrelaxFunctor {B : Type u₁} [CategoryTheory.Bicategory B] {C : Type u₂} [CategoryTheory.Bicategory C] {D : Type u₃} [CategoryTheory.Bicategory D] (F : CategoryTheory.LaxFunctor B C) (G : CategoryTheory.LaxFunctor C D) :
      (F.comp G).toPrelaxFunctor = F.comp G.toPrelaxFunctor

      Composition of lax functors.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        structure CategoryTheory.LaxFunctor.PseudoCore {B : Type u₁} [CategoryTheory.Bicategory B] {C : Type u₂} [CategoryTheory.Bicategory C] (F : CategoryTheory.LaxFunctor B C) :
        Type (max (max u₁ v₁) w₂)

        A structure on an Lax functor that promotes an Lax functor to a pseudofunctor.

        See Pseudofunctor.mkOfLax.

        Instances For
          @[simp]
          theorem CategoryTheory.LaxFunctor.PseudoCore.mapIdIso_inv {B : Type u₁} [CategoryTheory.Bicategory B] {C : Type u₂} [CategoryTheory.Bicategory C] {F : CategoryTheory.LaxFunctor B C} (self : F.PseudoCore) {a : B} :
          (self.mapIdIso a).inv = F.mapId a
          @[simp]
          theorem CategoryTheory.LaxFunctor.PseudoCore.mapCompIso_inv {B : Type u₁} [CategoryTheory.Bicategory B] {C : Type u₂} [CategoryTheory.Bicategory C] {F : CategoryTheory.LaxFunctor B C} (self : F.PseudoCore) {a : B} {b : B} {c : B} (f : a b) (g : b c) :
          (self.mapCompIso f g).inv = F.mapComp f g