Documentation

Mathlib.CategoryTheory.Monad.Products

Algebras for the coproduct monad #

The functor Y ↦ X ⨿ Y forms a monad, whose category of monads is equivalent to the under category of X. Similarly, Y ↦ X ⨯ Y forms a comonad, whose category of comonads is equivalent to the over category of X.

TODO #

Show that Over.forget X : Over X ⥤ C is a comonadic left adjoint and Under.forget : Under X ⥤ C is a monadic right adjoint.

X ⨯ - has a comonad structure. This is sometimes called the writer comonad.

Equations
    Instances For
      @[simp]
      @[simp]
      theorem CategoryTheory.prodComonad_map {C : Type u} [Category.{v, u} C] (X : C) [Limits.HasBinaryProducts C] {x✝ x✝¹ : C} (g : x✝ x✝¹) :

      The forward direction of the equivalence from coalgebras for the product comonad to the over category.

      Equations
        Instances For
          @[simp]
          theorem CategoryTheory.coalgebraToOver_map {C : Type u} [Category.{v, u} C] (X : C) [Limits.HasBinaryProducts C] {X✝ Y✝ : (prodComonad X).Coalgebra} (f : X✝ Y✝) :

          The backward direction of the equivalence from coalgebras for the product comonad to the over category.

          Equations
            Instances For
              @[simp]
              theorem CategoryTheory.overToCoalgebra_map_f {C : Type u} [Category.{v, u} C] (X : C) [Limits.HasBinaryProducts C] {X✝ Y✝ : Over X} (g : X✝ Y✝) :

              The equivalence from coalgebras for the product comonad to the over category.

              Equations
                Instances For

                  X ⨿ - has a monad structure. This is sometimes called the either monad.

                  Equations
                    Instances For
                      @[simp]
                      @[simp]
                      theorem CategoryTheory.coprodMonad_map {C : Type u} [Category.{v, u} C] (X : C) [Limits.HasBinaryCoproducts C] {x✝ x✝¹ : C} (g : x✝ x✝¹) :

                      The forward direction of the equivalence from algebras for the coproduct monad to the under category.

                      Equations
                        Instances For
                          @[simp]
                          theorem CategoryTheory.algebraToUnder_map {C : Type u} [Category.{v, u} C] (X : C) [Limits.HasBinaryCoproducts C] {X✝ Y✝ : (coprodMonad X).Algebra} (f : X✝ Y✝) :

                          The backward direction of the equivalence from algebras for the coproduct monad to the under category.

                          Equations
                            Instances For
                              @[simp]
                              theorem CategoryTheory.underToAlgebra_map_f {C : Type u} [Category.{v, u} C] (X : C) [Limits.HasBinaryCoproducts C] {X✝ Y✝ : Under X} (g : X✝ Y✝) :

                              The equivalence from algebras for the coproduct monad to the under category.

                              Equations
                                Instances For