Documentation

Mathlib.CategoryTheory.Monad.Coequalizer

Special coequalizers associated to a monad #

Associated to a monad T : C ⥤ C we have important coequalizer constructions: Any algebra is a coequalizer (in the category of algebras) of free algebras. Furthermore, this coequalizer is reflexive. In C, this cofork diagram is a split coequalizer (in particular, it is still a coequalizer). This split coequalizer is known as the Beck coequalizer (as it features heavily in Beck's monadicity theorem).

Show that any algebra is a coequalizer of free algebras.

def CategoryTheory.Monad.FreeCoequalizer.topMap {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {T : CategoryTheory.Monad C} (X : T.Algebra) :
T.free.obj (T.obj X.A) T.free.obj X.A

The top map in the coequalizer diagram we will construct.

Equations
Instances For
    def CategoryTheory.Monad.FreeCoequalizer.bottomMap {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {T : CategoryTheory.Monad C} (X : T.Algebra) :
    T.free.obj (T.obj X.A) T.free.obj X.A

    The bottom map in the coequalizer diagram we will construct.

    Equations
    Instances For

      The cofork map in the coequalizer diagram we will construct.

      Equations
      Instances For

        The cofork constructed is a colimit. This shows that any algebra is a (reflexive) coequalizer of free algebras.

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

          The Beck cofork is a split coequalizer.

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

            This is the Beck cofork. It is a split coequalizer, in particular a coequalizer.

            Equations
            Instances For