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.

    Equations
      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.

        Equations
          Instances For

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

            Equations
              Instances For

                The identity modification.

                Equations
                  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)
                    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.

                    Equations
                      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

                          Category structure on the strong transformations between pseudofunctors.

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

                          Equations
                            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) :
                              instance CategoryTheory.Pseudofunctor.StrongTrans.instInhabitedHom {B : Type u₁} [Bicategory B] {C : Type u₂} [Bicategory C] {F G : Pseudofunctor B C} {η : F G} :
                              Inhabited (η η)
                              Equations
                                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.

                                Equations
                                  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