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
  • One or more equations did not get rendered due to their size.
Instances For
    @[simp]
    theorem CategoryTheory.prodComonad_obj {C : Type u} [Category.{v, u} C] (X : C) [Limits.HasBinaryProducts C] (Y : C) :
    (prodComonad X).obj Y = (X Y)
    @[simp]
    theorem CategoryTheory.prodComonad_map {C : Type u} [Category.{v, u} C] (X : C) [Limits.HasBinaryProducts C] {x✝ x✝¹ : C} (g : x✝ x✝¹) :
    @[simp]

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

    Equations
    • One or more equations did not get rendered due to their size.
    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✝) :
      (coalgebraToOver X).map f = Over.homMk f.f

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

      Equations
      • One or more equations did not get rendered due to their size.
      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✝) :
        ((overToCoalgebra X).map g).f = g.left
        @[simp]
        theorem CategoryTheory.overToCoalgebra_obj_A {C : Type u} [Category.{v, u} C] (X : C) [Limits.HasBinaryProducts C] (f : Over X) :
        ((overToCoalgebra X).obj f).A = f.left

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

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

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

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            @[simp]
            theorem CategoryTheory.coprodMonad_map {C : Type u} [Category.{v, u} C] (X : C) [Limits.HasBinaryCoproducts C] {x✝ x✝¹ : C} (g : x✝ x✝¹) :
            @[simp]
            theorem CategoryTheory.coprodMonad_obj {C : Type u} [Category.{v, u} C] (X : C) [Limits.HasBinaryCoproducts C] (Y : C) :
            (coprodMonad X).obj Y = (X ⨿ Y)

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

            Equations
            • One or more equations did not get rendered due to their size.
            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✝) :
              (algebraToUnder X).map f = Under.homMk f.f

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

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                @[simp]
                theorem CategoryTheory.underToAlgebra_obj_A {C : Type u} [Category.{v, u} C] (X : C) [Limits.HasBinaryCoproducts C] (f : Under X) :
                ((underToAlgebra X).obj f).A = f.right
                @[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✝) :
                ((underToAlgebra X).map g).f = g.right

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

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