Documentation

Mathlib.CategoryTheory.Bicategory.NaturalTransformation.Strong

Strong natural transformations #

A strong natural transformation is an oplax natural transformation such that each component 2-cell is an isomorphism.

Main definitions #

TODO #

After having defined lax functors, we should define 3 different types of strong natural transformations:

References #

structure CategoryTheory.StrongOplaxNatTrans {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] (F G : OplaxFunctor B C) :
Type (max (max (max u₁ v₁) v₂) w₂)

A strong natural transformation between oplax functors 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 a for each object a : B.
  • a 2-isomorphism η.naturality f : F.map f ≫ app b ⟶ app a ≫ G.map f for each 1-morphism f : 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.
Instances For
    @[simp]
    theorem CategoryTheory.StrongOplaxNatTrans.naturality_naturality_assoc {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] {F G : OplaxFunctor B C} (self : StrongOplaxNatTrans F G) {a b : B} {f g : a b} (η : f g) {Z : F.obj a G.obj b} (h : CategoryStruct.comp (self.app a) (G.map g) Z) :

    The underlying oplax natural transformation of a strong natural transformation.

    Equations
    • η.toOplax = { app := η.app, naturality := fun {a b : B} (f : a b) => (η.naturality f).hom, naturality_naturality := , naturality_id := , naturality_comp := }
    Instances For
      @[simp]
      theorem CategoryTheory.StrongOplaxNatTrans.toOplax_naturality {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] {F G : OplaxFunctor B C} (η : StrongOplaxNatTrans F G) {a✝ b✝ : B} (f : a✝ b✝) :
      @[simp]
      theorem CategoryTheory.StrongOplaxNatTrans.toOplax_app {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] {F G : OplaxFunctor B C} (η : StrongOplaxNatTrans F G) (a : B) :
      η.toOplax.app a = η.app a

      Construct a strong natural transformation from an oplax natural transformation whose naturality 2-cell is an isomorphism.

      Equations
      Instances For
        noncomputable def CategoryTheory.StrongOplaxNatTrans.mkOfOplax' {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] {F G : OplaxFunctor B C} (η : OplaxNatTrans F G) [∀ (a b : B) (f : a b), IsIso (η.naturality f)] :

        Construct a strong natural transformation from an oplax natural transformation whose naturality 2-cell is an isomorphism.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For

          The identity strong natural transformation.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            @[simp]
            theorem CategoryTheory.StrongOplaxNatTrans.id_app {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] (F : OplaxFunctor B C) (a : B) :
            @[simp]
            @[simp]
            @[simp]
            theorem CategoryTheory.StrongOplaxNatTrans.whiskerRight_naturality_comp_assoc {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] {F G : OplaxFunctor B C} (η : StrongOplaxNatTrans F G) {a b c : B} {a' : C} (f : a b) (g : b c) (h : G.obj c a') {Z : F.obj a a'} (h✝ : CategoryStruct.comp (η.app a) (CategoryStruct.comp (CategoryStruct.comp (G.map f) (G.map g)) h) Z) :

            Vertical composition of strong natural transformations.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              @[simp]
              theorem CategoryTheory.StrongOplaxNatTrans.vcomp_naturality_inv {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] {F G H : OplaxFunctor B C} (η : StrongOplaxNatTrans F G) (θ : StrongOplaxNatTrans G H) {a✝ b✝ : B} (f : a✝ b✝) :
              @[simp]
              theorem CategoryTheory.StrongOplaxNatTrans.vcomp_app {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] {F G H : OplaxFunctor B C} (η : StrongOplaxNatTrans F G) (θ : StrongOplaxNatTrans G H) (a : B) :
              (η.vcomp θ).app a = CategoryStruct.comp (η.app a) (θ.app a)
              @[simp]
              theorem CategoryTheory.StrongOplaxNatTrans.vcomp_naturality_hom {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] {F G H : OplaxFunctor B C} (η : StrongOplaxNatTrans F G) (θ : StrongOplaxNatTrans G H) {a✝ b✝ : B} (f : a✝ b✝) :
              @[simp]
              theorem CategoryTheory.Pseudofunctor.categoryStruct_comp (B : Type u₁) [Bicategory B] (C : Type u₂) [Bicategory C] {X✝ Y✝ Z✝ : Pseudofunctor B C} (η : StrongOplaxNatTrans X✝.toOplax Y✝.toOplax) (θ : StrongOplaxNatTrans Y✝.toOplax Z✝.toOplax) :