Documentation

Mathlib.CategoryTheory.Bicategory.NaturalTransformation.Pseudo

Strong transformations of pseudofunctors #

There are three types of transformations between pseudofunctors, depending on the direction or invertibility of the 2-morphism witnessing the naturality condition.

In this file we define strong transformations, which require the 2-morphism to be invertible.

Main definitions #

Using this we obtain a (scoped) CategoryStruct on pseudofunctors, where the arrows are given by strong transformations. To access this instance, run open scoped Pseudofunctor.StrongTrans. See Pseudofunctor.StrongTrans.categoryStruct.

References #

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

A strong transformation between pseudofunctors 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.Pseudofunctor.StrongTrans.naturality_naturality_assoc {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] {F G : Pseudofunctor B C} (self : F.StrongTrans 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) :

    Naturality of the strong naturality constraint.

    The strong transformation of oplax functors induced by a strong transformation of pseudofunctors.

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

      Construct a strong transformation of pseudofunctors from a strong transformation of the underlying oplax functors.

      Equations
      Instances For
        @[simp]
        theorem CategoryTheory.Pseudofunctor.StrongTrans.mkOfOplax_naturality {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] {F G : Pseudofunctor B C} (η : Oplax.StrongTrans F.toOplax G.toOplax) {a✝ b✝ : B} (f : a✝ b✝) :
        @[simp]

        The identity strong transformation.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          def CategoryTheory.Pseudofunctor.StrongTrans.vcomp {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] {F G H : Pseudofunctor B C} (η : F.StrongTrans G) (θ : G.StrongTrans H) :

          Vertical composition of strong transformations.

          Equations
          Instances For

            CategoryStruct on B ⥤ᵖ C where the (1-)morphisms are given by strong transformations.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              @[simp]
              theorem CategoryTheory.Pseudofunctor.StrongTrans.categoryStruct_comp_naturality_hom {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] {X✝ Y✝ Z✝ : Pseudofunctor B C} (η : X✝.StrongTrans Y✝) (θ : Y✝.StrongTrans Z✝) {a✝ b✝ : B} (f : a✝ b✝) :
              @[simp]
              theorem CategoryTheory.Pseudofunctor.StrongTrans.categoryStruct_comp_naturality_inv {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] {X✝ Y✝ Z✝ : Pseudofunctor B C} (η : X✝.StrongTrans Y✝) (θ : Y✝.StrongTrans Z✝) {a✝ b✝ : B} (f : a✝ b✝) :
              @[simp]
              theorem CategoryTheory.Pseudofunctor.StrongTrans.comp_app {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] {F G H : Pseudofunctor B C} (η : F G) (θ : G H) (a : B) :
              theorem CategoryTheory.Pseudofunctor.StrongTrans.whiskerLeft_naturality_naturality_app {B : Type u_1} [Bicategory B] {G H : Pseudofunctor B Cat} (θ : G H) {a b : B} {a' : Cat} (f : a' G.obj a) {g h : a b} (β : g h) (X : a') :
              theorem CategoryTheory.Pseudofunctor.StrongTrans.whiskerRight_naturality_naturality_app {B : Type u_1} [Bicategory B] {F G : Pseudofunctor B Cat} (η : F G) {a b : B} {a' : Cat} {f g : a b} (β : f g) (h : G.obj b a') (X : (F.obj a)) :
              @[simp]
              theorem CategoryTheory.Pseudofunctor.StrongTrans.whiskerRight_naturality_comp_assoc {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] {F G : Pseudofunctor B C} (η : 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) :
              theorem CategoryTheory.Pseudofunctor.StrongTrans.naturality_naturality_hom_app_assoc {B : Type u_1} [Bicategory B] {F G : Pseudofunctor B Cat} (α : F G) {a b : B} {f g : a b} (η : f g) (X : (F.obj a)) {Z : (G.obj b)} (h : (G.map g).toFunctor.obj ((α.app a).toFunctor.obj X) Z) :