Documentation

Mathlib.CategoryTheory.Bicategory.Modification.Pseudo

Modifications between transformations of pseudofunctors #

In this file we define modifications of strong transformations of pseudofunctors. They are defined similarly to modifications of transformations of oplax functors.

Main definitions #

Given two pseudofunctors F and G, we define:

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

A modification Γ between strong transformations (of pseudofunctors) η and θ consists of a family of 2-morphisms Γ.app a : η.app a ⟶ θ.app a, which satisfies the equation (F.map f ◁ app b) ≫ (θ.naturality f).hom = (η.naturality f).hom ≫ (app a ▷ G.map f) for each 1-morphism f : a ⟶ b.

Instances For
    theorem CategoryTheory.Pseudofunctor.StrongTrans.Modification.ext_iff {B : Type u₁} {inst✝ : Bicategory B} {C : Type u₂} {inst✝¹ : Bicategory C} {F G : Pseudofunctor B C} {η θ : F G} {x y : Modification η θ} :
    x = y x.app = y.app
    theorem CategoryTheory.Pseudofunctor.StrongTrans.Modification.ext {B : Type u₁} {inst✝ : Bicategory B} {C : Type u₂} {inst✝¹ : Bicategory C} {F G : Pseudofunctor B C} {η θ : F G} {x y : Modification η θ} (app : x.app = y.app) :
    x = y
    @[simp]
    theorem CategoryTheory.Pseudofunctor.StrongTrans.Modification.naturality_assoc {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] {F G : Pseudofunctor B C} {η θ : F G} (self : Modification η θ) {a b : B} (f : a b) {Z : F.obj a G.obj b} (h : CategoryStruct.comp (θ.app a) (G.map f) Z) :

    The naturality condition.

    The modification between the corresponding strong transformation of the underlying oplax functors.

    Instances For
      @[simp]
      theorem CategoryTheory.Pseudofunctor.StrongTrans.Modification.toOplax_app {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] {F G : Pseudofunctor B C} {η θ : F G} (Γ : Modification η θ) (a : B) :
      Γ.toOplax.app a = Γ.app a

      The modification between strong transformations of pseudofunctors associated to a modification between the underlying strong transformations of oplax functors.

      Instances For

        Modifications between strong transformations of pseudofunctors are equivalent to modifications between the underlying strong transformations of oplax functors.

        Instances For

          The identity modification.

          Instances For
            @[simp]
            theorem CategoryTheory.Pseudofunctor.StrongTrans.Modification.id_app {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] {F G : Pseudofunctor B C} (η : F G) (a : B) :
            (id η).app a = CategoryStruct.id (η.app a)
            @[implicit_reducible]
            instance CategoryTheory.Pseudofunctor.StrongTrans.Modification.instInhabited {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] {F G : Pseudofunctor B C} {η : F G} :
            Inhabited (Modification η η)
            def CategoryTheory.Pseudofunctor.StrongTrans.Modification.vcomp {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] {F G : Pseudofunctor B C} {η θ ι : F G} (Γ : Modification η θ) (Δ : Modification θ ι) :

            Vertical composition of modifications.

            Instances For
              @[simp]
              theorem CategoryTheory.Pseudofunctor.StrongTrans.Modification.vcomp_app {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] {F G : Pseudofunctor B C} {η θ ι : F G} (Γ : Modification η θ) (Δ : Modification θ ι) (a : B) :
              (Γ.vcomp Δ).app a = CategoryStruct.comp (Γ.app a) (Δ.app a)
              structure CategoryTheory.Pseudofunctor.StrongTrans.Hom {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] {F G : Pseudofunctor B C} (η θ : F G) :
              Type (max u₁ w₂)

              Type-alias for modifications between strong transformations of pseudofunctors. This is the type used for the 2-homomorphisms in the bicategory of pseudofunctors.

              • of :: (
                • as : Modification η θ

                  The underlying modification of strong transformations.

              • )
              Instances For
                theorem CategoryTheory.Pseudofunctor.StrongTrans.Hom.ext {B : Type u₁} {inst✝ : Bicategory B} {C : Type u₂} {inst✝¹ : Bicategory C} {F G : Pseudofunctor B C} {η θ : F G} {x y : Hom η θ} (as : x.as = y.as) :
                x = y
                theorem CategoryTheory.Pseudofunctor.StrongTrans.Hom.ext_iff {B : Type u₁} {inst✝ : Bicategory B} {C : Type u₂} {inst✝¹ : Bicategory C} {F G : Pseudofunctor B C} {η θ : F G} {x y : Hom η θ} :
                x = y x.as = y.as
                @[implicit_reducible]

                Category structure on the strong transformations between pseudofunctors.

                Note that this a scoped instance in the Pseudofunctor.StrongTrans namespace.

                Instances For
                  @[simp]
                  theorem CategoryTheory.Pseudofunctor.StrongTrans.homCategory_comp_as_app {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] {F G : Pseudofunctor B C} {X✝ Y✝ Z✝ : F G} (Γ : Hom X✝ Y✝) (Δ : Hom Y✝ Z✝) (a : B) :
                  @[implicit_reducible]
                  instance CategoryTheory.Pseudofunctor.StrongTrans.instInhabitedHom {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] {F G : Pseudofunctor B C} {η : F G} :
                  Inhabited (η η)
                  theorem CategoryTheory.Pseudofunctor.StrongTrans.homCategory.ext {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] {F G : Pseudofunctor B C} {η θ : F G} {m n : η θ} (w : ∀ (b : B), m.as.app b = n.as.app b) :
                  m = n
                  theorem CategoryTheory.Pseudofunctor.StrongTrans.homCategory.ext_iff {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] {F G : Pseudofunctor B C} {η θ : F G} {m n : η θ} :
                  m = n ∀ (b : B), m.as.app b = n.as.app b
                  def CategoryTheory.Pseudofunctor.StrongTrans.isoMk {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] {F G : Pseudofunctor B C} {η θ : F G} (app : (a : B) → η.app a θ.app a) (naturality : ∀ {a b : B} (f : a b), CategoryStruct.comp (Bicategory.whiskerLeft (F.map f) (app b).hom) (θ.naturality f).hom = CategoryStruct.comp (η.naturality f).hom (Bicategory.whiskerRight (app a).hom (G.map f)) := by cat_disch) :
                  η θ

                  Construct a modification isomorphism between strong transformations by giving object level isomorphisms, and checking naturality only in the forward direction.

                  Instances For
                    @[simp]
                    theorem CategoryTheory.Pseudofunctor.StrongTrans.isoMk_hom_as_app {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] {F G : Pseudofunctor B C} {η θ : F G} (app : (a : B) → η.app a θ.app a) (naturality : ∀ {a b : B} (f : a b), CategoryStruct.comp (Bicategory.whiskerLeft (F.map f) (app b).hom) (θ.naturality f).hom = CategoryStruct.comp (η.naturality f).hom (Bicategory.whiskerRight (app a).hom (G.map f)) := by cat_disch) (a : B) :
                    (isoMk app naturality).hom.as.app a = (app a).hom
                    @[simp]
                    theorem CategoryTheory.Pseudofunctor.StrongTrans.isoMk_inv_as_app {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] {F G : Pseudofunctor B C} {η θ : F G} (app : (a : B) → η.app a θ.app a) (naturality : ∀ {a b : B} (f : a b), CategoryStruct.comp (Bicategory.whiskerLeft (F.map f) (app b).hom) (θ.naturality f).hom = CategoryStruct.comp (η.naturality f).hom (Bicategory.whiskerRight (app a).hom (G.map f)) := by cat_disch) (a : B) :
                    (isoMk app naturality).inv.as.app a = (app a).inv