Documentation

Mathlib.CategoryTheory.Limits.Chosen.End

Chosen ends and coends #

This file defines typeclasses ChosenCoendsOfShape and ChosenEndsOfShape which contain the data of a chosen coend and end in C for each functor Jᵒᵖ ⥤ J ⥤ C of a fixed shape J. It also provides ChosenCoends and ChosenEnds abbreviations for chosen coends and ends of all shapes.

class CategoryTheory.Limits.ChosenCoendsOfShape (J : Type u_1) [Category.{v_1, u_1} J] (C : Type u_2) [Category.{v_2, u_2} C] :
Type (max (max (max u_1 u_2) v_1) v_2)

The data of chosen coends of shape J in C.

Instances
    @[reducible, inline]
    abbrev CategoryTheory.Limits.ChosenCoends (C : Type u_1) [Category.{v_1, u_1} C] :
    Type (max (max (max (max (max (max (u + 1) (v + 1)) u) u_1) v_1) u) v)

    The data of chosen coends in C.

    Equations
    Instances For

      The chosen coend of a functor Jᵒᵖ ⥤ J ⥤ C.

      Equations
      Instances For

        Given F : Jᵒᵖ ⥤ J ⥤ C, this is the inclusion (F.obj (op j)).obj j ⟶ chosenCoend F for any j : J.

        Equations
        Instances For
          theorem CategoryTheory.Limits.chosenCoend.hom_ext {J : Type u_1} {C : Type u_2} [Category.{v_1, u_2} C] [Category.{v_2, u_1} J] {F : Functor Jᵒᵖ (Functor J C)} [ChosenCoendsOfShape J C] {X : C} {f g : chosenCoend F X} (h : ∀ (j : J), CategoryStruct.comp (ι F j) f = CategoryStruct.comp (ι F j) g) :
          f = g

          Morphisms out of the chosen coend are determined by their composites with chosenCoend.ι.

          def CategoryTheory.Limits.chosenCoend.desc {J : Type u_1} {C : Type u_2} [Category.{v_1, u_2} C] [Category.{v_2, u_1} J] {F : Functor Jᵒᵖ (Functor J C)} [ChosenCoendsOfShape J C] {X : C} (f : (j : J) → (F.obj (Opposite.op j)).obj j X) (hf : ∀ ⦃i j : J⦄ (g : i j), CategoryStruct.comp ((F.map g.op).app i) (f i) = CategoryStruct.comp ((F.obj (Opposite.op j)).map g) (f j)) :

          Constructor for morphisms out of the chosen coend of a functor.

          Equations
          Instances For
            @[simp]
            theorem CategoryTheory.Limits.chosenCoend.ι_desc {J : Type u_1} {C : Type u_2} [Category.{v_1, u_2} C] [Category.{v_2, u_1} J] {F : Functor Jᵒᵖ (Functor J C)} [ChosenCoendsOfShape J C] {X : C} (f : (j : J) → (F.obj (Opposite.op j)).obj j X) (hf : ∀ ⦃i j : J⦄ (g : i j), CategoryStruct.comp ((F.map g.op).app i) (f i) = CategoryStruct.comp ((F.obj (Opposite.op j)).map g) (f j)) (j : J) :
            CategoryStruct.comp (ι F j) (desc f hf) = f j
            @[simp]
            theorem CategoryTheory.Limits.chosenCoend.ι_desc_assoc {J : Type u_1} {C : Type u_2} [Category.{v_1, u_2} C] [Category.{v_2, u_1} J] {F : Functor Jᵒᵖ (Functor J C)} [ChosenCoendsOfShape J C] {X : C} (f : (j : J) → (F.obj (Opposite.op j)).obj j X) (hf : ∀ ⦃i j : J⦄ (g : i j), CategoryStruct.comp ((F.map g.op).app i) (f i) = CategoryStruct.comp ((F.obj (Opposite.op j)).map g) (f j)) (j : J) {Z : C} (h : X Z) :

            A natural transformation of bifunctors induces a map on chosen coends.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For

              The chosen coend construction as a functor out of the bifunctor category.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                class CategoryTheory.Limits.ChosenEndsOfShape (J : Type u_3) [Category.{v_3, u_3} J] (C : Type u_4) [Category.{v_4, u_4} C] :
                Type (max (max (max u_3 u_4) v_3) v_4)

                The data of chosen ends of shape J in C.

                Instances
                  @[reducible, inline]
                  abbrev CategoryTheory.Limits.ChosenEnds (C : Type u_3) [Category.{v_3, u_3} C] :
                  Type (max (max (max (max (max (max (u + 1) (v + 1)) u) u_3) v_3) u) v)

                  The data of chosen ends in C.

                  Equations
                  Instances For

                    The chosen end of a functor Jᵒᵖ ⥤ J ⥤ C.

                    Equations
                    Instances For

                      Given F : Jᵒᵖ ⥤ J ⥤ C, this is the projection chosenEnd F ⟶ (F.obj (op j)).obj j for any j : J.

                      Equations
                      Instances For
                        theorem CategoryTheory.Limits.chosenEnd.hom_ext {J : Type u_3} {C : Type u_4} [Category.{v_3, u_4} C] [Category.{v_4, u_3} J] {F : Functor Jᵒᵖ (Functor J C)} [ChosenEndsOfShape J C] {X : C} {f g : X chosenEnd F} (h : ∀ (j : J), CategoryStruct.comp f (π F j) = CategoryStruct.comp g (π F j)) :
                        f = g

                        Morphisms into the chosen end are determined by their composites with chosenEnd.π.

                        def CategoryTheory.Limits.chosenEnd.lift {J : Type u_3} {C : Type u_4} [Category.{v_3, u_4} C] [Category.{v_4, u_3} J] {F : Functor Jᵒᵖ (Functor J C)} [ChosenEndsOfShape J C] {X : C} (f : (j : J) → X (F.obj (Opposite.op j)).obj j) (hf : ∀ ⦃i j : J⦄ (g : i j), CategoryStruct.comp (f i) ((F.obj (Opposite.op i)).map g) = CategoryStruct.comp (f j) ((F.map g.op).app j)) :

                        Constructor for morphisms into the chosen end of a functor.

                        Equations
                        Instances For
                          @[simp]
                          theorem CategoryTheory.Limits.chosenEnd.lift_π {J : Type u_3} {C : Type u_4} [Category.{v_3, u_4} C] [Category.{v_4, u_3} J] {F : Functor Jᵒᵖ (Functor J C)} [ChosenEndsOfShape J C] {X : C} (f : (j : J) → X (F.obj (Opposite.op j)).obj j) (hf : ∀ ⦃i j : J⦄ (g : i j), CategoryStruct.comp (f i) ((F.obj (Opposite.op i)).map g) = CategoryStruct.comp (f j) ((F.map g.op).app j)) (j : J) :
                          CategoryStruct.comp (lift f hf) (π F j) = f j
                          @[simp]
                          theorem CategoryTheory.Limits.chosenEnd.lift_π_assoc {J : Type u_3} {C : Type u_4} [Category.{v_3, u_4} C] [Category.{v_4, u_3} J] {F : Functor Jᵒᵖ (Functor J C)} [ChosenEndsOfShape J C] {X : C} (f : (j : J) → X (F.obj (Opposite.op j)).obj j) (hf : ∀ ⦃i j : J⦄ (g : i j), CategoryStruct.comp (f i) ((F.obj (Opposite.op i)).map g) = CategoryStruct.comp (f j) ((F.map g.op).app j)) (j : J) {Z : C} (h : (F.obj (Opposite.op j)).obj j Z) :

                          A natural transformation of bifunctors induces a map on chosen ends.

                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            @[simp]

                            The chosen end construction as a functor out of the bifunctor category.

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For