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.StrongOplaxTrans {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
    @[deprecated CategoryTheory.StrongOplaxTrans (since := "2025-04-23")]
    def 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₂)

    Alias of CategoryTheory.StrongOplaxTrans.


    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.
    Equations
    Instances For
      @[simp]
      theorem CategoryTheory.StrongOplaxTrans.naturality_naturality_assoc {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] {F G : OplaxFunctor B C} (self : StrongOplaxTrans 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) :
      structure CategoryTheory.OplaxTrans.StrongCore {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] {F G : OplaxFunctor B C} (η : F G) :
      Type (max (max u₁ v₁) w₂)

      A structure on an oplax transformation that promotes it to a strong transformation.

      See Pseudofunctor.StrongTrans.mkOfOplax.

      Instances For
        def CategoryTheory.StrongOplaxTrans.toOplax {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] {F G : OplaxFunctor B C} (η : StrongOplaxTrans F G) :
        F G

        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.StrongOplaxTrans.toOplax_naturality {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] {F G : OplaxFunctor B C} (η : StrongOplaxTrans F G) {a✝ b✝ : B} (f : a✝ b✝) :
          @[simp]
          theorem CategoryTheory.StrongOplaxTrans.toOplax_app {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] {F G : OplaxFunctor B C} (η : StrongOplaxTrans F G) (a : B) :
          η.toOplax.app a = η.app a
          def CategoryTheory.StrongOplaxTrans.mkOfOplax {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] {F G : OplaxFunctor B C} (η : F G) (η' : OplaxTrans.StrongCore η) :

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

          Equations
          Instances For
            noncomputable def CategoryTheory.StrongOplaxTrans.mkOfOplax' {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] {F G : OplaxFunctor B C} (η : 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.StrongOplaxTrans.id_naturality_inv {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] (F : OplaxFunctor B C) {a✝ b✝ : B} (f : a✝ b✝) :
                @[simp]
                theorem CategoryTheory.StrongOplaxTrans.id_naturality_hom {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] (F : OplaxFunctor B C) {a✝ b✝ : B} (f : a✝ b✝) :
                @[simp]
                theorem CategoryTheory.StrongOplaxTrans.id_app {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] (F : OplaxFunctor B C) (a : B) :
                @[simp]
                theorem CategoryTheory.StrongOplaxTrans.whiskerRight_naturality_comp_assoc {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] {F G : OplaxFunctor B C} (η : StrongOplaxTrans 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.StrongOplaxTrans.vcomp_naturality_inv {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] {F G H : OplaxFunctor B C} (η : StrongOplaxTrans F G) (θ : StrongOplaxTrans G H) {a✝ b✝ : B} (f : a✝ b✝) :
                  @[simp]
                  theorem CategoryTheory.StrongOplaxTrans.vcomp_app {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] {F G H : OplaxFunctor B C} (η : StrongOplaxTrans F G) (θ : StrongOplaxTrans G H) (a : B) :
                  (η.vcomp θ).app a = CategoryStruct.comp (η.app a) (θ.app a)
                  @[simp]
                  theorem CategoryTheory.StrongOplaxTrans.vcomp_naturality_hom {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] {F G H : OplaxFunctor B C} (η : StrongOplaxTrans F G) (θ : StrongOplaxTrans 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} (η : StrongOplaxTrans X✝.toOplax Y✝.toOplax) (θ : StrongOplaxTrans Y✝.toOplax Z✝.toOplax) :