Documentation

Mathlib.CategoryTheory.Join.Pseudofunctor

Pseudofunctoriality of categorical joins #

In this file, we promote the join construction to two pseudofunctors Join.pseudofunctorLeft and Join.pseudofunctorRight, expressing its pseudofunctoriality in each variable.

The structural isomorphism for composition of pseudofunctorRight.

Instances For

    The structural isomorphism for composition of pseudofunctorLeft.

    Instances For

      The pseudofunctor sending D to C ⋆ D.

      Instances For
        @[simp]
        theorem CategoryTheory.Join.pseudofunctorRight_toPrelaxFunctor_toPrelaxFunctorStruct_toPrefunctor_obj_str_comp (C : Type u₁) [Category.{v₁, u₁} C] (D : Cat) {X✝ Y✝ Z✝ : Join C D} (a✝ : X✝.Hom Y✝) (a✝¹ : Y✝.Hom Z✝) :
        CategoryStruct.comp a✝ a✝¹ = comp a✝ a✝¹
        @[simp]
        theorem CategoryTheory.Join.pseudofunctorRight_toPrelaxFunctor_toPrelaxFunctorStruct_map₂_toNatTrans_app (C : Type u₁) [Category.{v₁, u₁} C] {a✝ b✝ : Cat} {f✝ g✝ : a✝ b✝} (f : f✝ g✝) (x : Join C a✝) :
        ((pseudofunctorRight C).map₂ f).toNatTrans.app x = match x with | left x => CategoryStruct.id (left x) | right x => (inclRight C b✝).map (f.toNatTrans.app x)
        @[simp]
        theorem CategoryTheory.Join.pseudofunctorRight_toPrelaxFunctor_toPrelaxFunctorStruct_toPrefunctor_map_toFunctor_map (C : Type u₁) [Category.{v₁, u₁} C] {X✝ Y✝ : Cat} (F : X✝ Y✝) {X✝¹ Y✝¹ : Join C X✝} (f : X✝¹ Y✝¹) :
        ((pseudofunctorRight C).map F).toFunctor.map f = homInduction (fun (x x_1 : C) (f : x x_1) => (inclLeft C Y✝).map f) (fun (x x_1 : X✝) (g : x x_1) => (inclRight C Y✝).map (F.toFunctor.map g)) (fun (c : C) (d : X✝) => edge c (F.toFunctor.obj d)) f

        The pseudofunctor sending C to C ⋆ D.

        Instances For
          @[simp]
          theorem CategoryTheory.Join.pseudofunctorLeft_toPrelaxFunctor_toPrelaxFunctorStruct_map₂_toNatTrans_app (D : Type u₂) [Category.{v₂, u₂} D] {a✝ b✝ : Cat} {f✝ g✝ : a✝ b✝} (x✝ : f✝ g✝) (x : Join (↑a✝) D) :
          ((pseudofunctorLeft D).map₂ x✝).toNatTrans.app x = match x with | left x => (inclLeft (↑b✝) D).map (x✝.toNatTrans.app x) | right x => CategoryStruct.id (right x)
          @[simp]
          theorem CategoryTheory.Join.pseudofunctorLeft_toPrelaxFunctor_toPrelaxFunctorStruct_toPrefunctor_map_toFunctor_map (D : Type u₂) [Category.{v₂, u₂} D] {X✝ Y✝ : Cat} (F : X✝ Y✝) {X✝¹ Y✝¹ : Join (↑X✝) D} (f : X✝¹ Y✝¹) :
          ((pseudofunctorLeft D).map F).toFunctor.map f = homInduction (fun (x x_1 : X✝) (f : x x_1) => (inclLeft (↑Y✝) D).map (F.toFunctor.map f)) (fun (x x_1 : D) (g : x x_1) => (inclRight (↑Y✝) D).map g) (fun (c : X✝) (d : D) => edge (F.toFunctor.obj c) d) f
          @[simp]
          theorem CategoryTheory.Join.pseudofunctorLeft_mapComp_hom_toNatTrans_app (D : Type u₂) [Category.{v₂, u₂} D] {a✝ b✝ c✝ : Cat} (x✝ : a✝ b✝) (x✝¹ : b✝ c✝) (X : Join (↑a✝) D) :
          @[simp]
          theorem CategoryTheory.Join.pseudofunctorLeft_toPrelaxFunctor_toPrelaxFunctorStruct_toPrefunctor_obj_str_comp (D : Type u₂) [Category.{v₂, u₂} D] (C : Cat) {X✝ Y✝ Z✝ : Join (↑C) D} (a✝ : X✝.Hom Y✝) (a✝¹ : Y✝.Hom Z✝) :
          CategoryStruct.comp a✝ a✝¹ = comp a✝ a✝¹
          @[simp]
          theorem CategoryTheory.Join.pseudofunctorLeft_mapComp_inv_toNatTrans_app (D : Type u₂) [Category.{v₂, u₂} D] {a✝ b✝ c✝ : Cat} (x✝ : a✝ b✝) (x✝¹ : b✝ c✝) (X : Join (↑a✝) D) :