Documentation

Mathlib.CategoryTheory.Sums.Products

Functors out of sums of categories. #

This file records the universal property of sums of categories as an equivalence of categories Sum.functorEquiv : A ⊕ A' ⥤ B ≌ (A ⥤ B) × (A' ⥤ B), and characterizes its precompositions with the left and right inclusion as corresponding to the projections on the product side.

The equivalence between functors from a sum and the product of the functor categories.

Instances For
    @[simp]
    theorem CategoryTheory.Sum.functorEquiv_inverse_map (A : Type u_1) [Category.{v_1, u_1} A] (A' : Type u_2) [Category.{v_2, u_2} A'] (B : Type u) [Category.{v, u} B] {X✝ Y✝ : Functor A B × Functor A' B} (η : X✝ Y✝) :
    (functorEquiv A A' B).inverse.map η = NatTrans.sum' η.1 η.2
    @[simp]
    theorem CategoryTheory.Sum.functorEquiv_functor_obj (A : Type u_1) [Category.{v_1, u_1} A] (A' : Type u_2) [Category.{v_2, u_2} A'] (B : Type u) [Category.{v, u} B] (F : Functor (A A') B) :
    (functorEquiv A A' B).functor.obj F = ((inl_ A A').comp F, (inr_ A A').comp F)
    @[simp]
    theorem CategoryTheory.Sum.functorEquiv_functor_map (A : Type u_1) [Category.{v_1, u_1} A] (A' : Type u_2) [Category.{v_2, u_2} A'] (B : Type u) [Category.{v, u} B] {X✝ Y✝ : Functor (A A') B} (η : X✝ Y✝) :
    (functorEquiv A A' B).functor.map η = Prod.mkHom ((inl_ A A').whiskerLeft η) ((inr_ A A').whiskerLeft η)
    @[simp]
    @[simp]
    @[simp]
    @[simp]
    theorem CategoryTheory.Sum.functorEquiv_unit_app_app_inr {A : Type u_1} [Category.{v_1, u_1} A] {A' : Type u_2} [Category.{v_2, u_2} A'] {B : Type u} [Category.{v, u} B] (X : Functor (A A') B) (a' : A') :

    Composing the forward direction of functorEquiv with the first projection is the same as precomposition with inl_ A A'.

    Instances For

      Composing the forward direction of functorEquiv with the second projection is the same as precomposition with inr_ A A'.

      Instances For

        Composing the backward direction of functorEquiv with precomposition with inl_ A A'. is naturally isomorphic to the first projection.

        Instances For

          Composing the backward direction of functorEquiv with the second projection is the same as precomposition with inr_ A A'.

          Instances For
            def CategoryTheory.Sum.natTransOfWhiskerLeftInlInr {A : Type u_1} [Category.{v_1, u_1} A] {A' : Type u_2} [Category.{v_2, u_2} A'] {B : Type u} [Category.{v, u} B] {F G : Functor (A A') B} (η₁ : (inl_ A A').comp F (inl_ A A').comp G) (η₂ : (inr_ A A').comp F (inr_ A A').comp G) :
            F G

            A consequence of functorEquiv: we can construct a natural transformation of functors A ⊕ A' ⥤ B from the data of natural transformations of their whiskering with inl_ and inr_.

            Instances For
              @[simp]
              theorem CategoryTheory.Sum.natTransOfWhiskerLeftInlInr_app {A : Type u_1} [Category.{v_1, u_1} A] {A' : Type u_2} [Category.{v_2, u_2} A'] {B : Type u} [Category.{v, u} B] {F G : Functor (A A') B} (η₁ : (inl_ A A').comp F (inl_ A A').comp G) (η₂ : (inr_ A A').comp F (inr_ A A').comp G) (X : A A') :
              @[simp]
              theorem CategoryTheory.Sum.natTransOfWhiskerLeftInlInr_comp {A : Type u_1} [Category.{v_1, u_1} A] {A' : Type u_2} [Category.{v_2, u_2} A'] {B : Type u} [Category.{v, u} B] {F G H : Functor (A A') B} (η₁ : (inl_ A A').comp F (inl_ A A').comp G) (η₂ : (inr_ A A').comp F (inr_ A A').comp G) (ν₁ : (inl_ A A').comp G (inl_ A A').comp H) (ν₂ : (inr_ A A').comp G (inr_ A A').comp H) :
              def CategoryTheory.Sum.natIsoOfWhiskerLeftInlInr {A : Type u_1} [Category.{v_1, u_1} A] {A' : Type u_2} [Category.{v_2, u_2} A'] {B : Type u} [Category.{v, u} B] {F G : Functor (A A') B} (η₁ : (inl_ A A').comp F (inl_ A A').comp G) (η₂ : (inr_ A A').comp F (inr_ A A').comp G) :
              F G

              A consequence of functorEquiv: we can construct a natural isomorphism of functors A ⊕ A' ⥤ B from the data of natural isomorphisms of their whiskering with inl_ and inr_.

              Instances For
                @[simp]
                theorem CategoryTheory.Sum.natIsoOfWhiskerLeftInlInr_hom {A : Type u_1} [Category.{v_1, u_1} A] {A' : Type u_2} [Category.{v_2, u_2} A'] {B : Type u} [Category.{v, u} B] {F G : Functor (A A') B} (η₁ : (inl_ A A').comp F (inl_ A A').comp G) (η₂ : (inr_ A A').comp F (inr_ A A').comp G) :
                @[simp]
                theorem CategoryTheory.Sum.natIsoOfWhiskerLeftInlInr_inv {A : Type u_1} [Category.{v_1, u_1} A] {A' : Type u_2} [Category.{v_2, u_2} A'] {B : Type u} [Category.{v, u} B] {F G : Functor (A A') B} (η₁ : (inl_ A A').comp F (inl_ A A').comp G) (η₂ : (inr_ A A').comp F (inr_ A A').comp G) :
                theorem CategoryTheory.Sum.natIsoOfWhiskerLeftInlInr_eq {A : Type u_1} [Category.{v_1, u_1} A] {A' : Type u_2} [Category.{v_2, u_2} A'] {B : Type u} [Category.{v, u} B] {F G : Functor (A A') B} (η₁ : (inl_ A A').comp F (inl_ A A').comp G) (η₂ : (inr_ A A').comp F (inr_ A A').comp G) :

                functorEquiv A A' B transforms Swap.equivalence into Prod.braiding.

                Instances For

                  The equivalence Sum.functorEquiv sends associativity of sums to associativity of products

                  Instances For