Documentation

Mathlib.Algebra.Category.MonCat.Limits

The category of (commutative) (additive) monoids has all limits #

Further, these limits are preserved by the forgetful functor --- that is, the underlying types are just the limits in the category of types.

abbrev AddMonCatMax :
Type ((max u1 u2) + 1)

An alias for AddMonCat.{max u v}, to deal around unification issues.

Equations
Instances For
    @[inline, reducible]
    abbrev MonCatMax :
    Type ((max u1 u2) + 1)

    An alias for MonCat.{max u v}, to deal around unification issues.

    Equations
    Instances For

      The flat sections of a functor into AddMonCat form an additive submonoid of all sections.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        theorem AddMonCat.sectionsAddSubmonoid.proof_2 {J : Type u_2} [CategoryTheory.Category.{u_1, u_2} J] (F : CategoryTheory.Functor J AddMonCat) {j : J} {j' : J} (f : j j') :
        (F.map f) 0 = 0

        The flat sections of a functor into MonCat form a submonoid of all sections.

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

          (Internal use only; use the limits API.)

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

            Construction of a limit cone in MonCat. (Internal use only; use the limits API.)

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              theorem AddMonCat.HasLimits.limitConeIsLimit.proof_3 {J : Type u_3} [CategoryTheory.Category.{u_2, u_3} J] (F : CategoryTheory.Functor J AddMonCat) [Small.{u_1, max u_1 u_3} (CategoryTheory.Functor.sections (CategoryTheory.Functor.comp F (CategoryTheory.forget AddMonCat)))] (s : CategoryTheory.Limits.Cone F) (x : s.pt) (y : s.pt) :
              { toFun := fun (v : ((CategoryTheory.forget AddMonCat).mapCone s).pt) => (equivShrink (CategoryTheory.Functor.sections (CategoryTheory.Functor.comp F (CategoryTheory.forget AddMonCat)))).1 { val := fun (j : J) => ((CategoryTheory.forget AddMonCat).mapCone s).app j v, property := }, map_zero' := }.toFun (x + y) = { toFun := fun (v : ((CategoryTheory.forget AddMonCat).mapCone s).pt) => (equivShrink (CategoryTheory.Functor.sections (CategoryTheory.Functor.comp F (CategoryTheory.forget AddMonCat)))).1 { val := fun (j : J) => ((CategoryTheory.forget AddMonCat).mapCone s).app j v, property := }, map_zero' := }.toFun x + { toFun := fun (v : ((CategoryTheory.forget AddMonCat).mapCone s).pt) => (equivShrink (CategoryTheory.Functor.sections (CategoryTheory.Functor.comp F (CategoryTheory.forget AddMonCat)))).1 { val := fun (j : J) => ((CategoryTheory.forget AddMonCat).mapCone s).app j v, property := }, map_zero' := }.toFun y

              (Internal use only; use the limits API.)

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                theorem AddMonCat.HasLimits.limitConeIsLimit.proof_4 {J : Type u_3} [CategoryTheory.Category.{u_1, u_3} J] (F : CategoryTheory.Functor J AddMonCat) [Small.{u_2, max u_2 u_3} (CategoryTheory.Functor.sections (CategoryTheory.Functor.comp F (CategoryTheory.forget AddMonCat)))] (s : CategoryTheory.Limits.Cone F) :
                (CategoryTheory.forget AddMonCat).map ((fun (s : CategoryTheory.Limits.Cone F) => { toZeroHom := { toFun := fun (v : ((CategoryTheory.forget AddMonCat).mapCone s).pt) => (equivShrink (CategoryTheory.Functor.sections (CategoryTheory.Functor.comp F (CategoryTheory.forget AddMonCat)))).1 { val := fun (j : J) => ((CategoryTheory.forget AddMonCat).mapCone s).app j v, property := }, map_zero' := }, map_add' := }) s) = (CategoryTheory.forget AddMonCat).map ((fun (s : CategoryTheory.Limits.Cone F) => { toZeroHom := { toFun := fun (v : ((CategoryTheory.forget AddMonCat).mapCone s).pt) => (equivShrink (CategoryTheory.Functor.sections (CategoryTheory.Functor.comp F (CategoryTheory.forget AddMonCat)))).1 { val := fun (j : J) => ((CategoryTheory.forget AddMonCat).mapCone s).app j v, property := }, map_zero' := }, map_add' := }) s)

                Witness that the limit cone in MonCat is a limit cone. (Internal use only; use the limits API.)

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

                  If J is u-small, AddMonCat.{u} has limits of shape J.

                  Equations
                  • =

                  If J is u-small, MonCat.{u} has limits of shape J.

                  Equations
                  • =

                  The category of additive monoids has all limits.

                  Equations
                  • =

                  The category of monoids has all limits.

                  Equations
                  • =

                  If J is u-small, the forgetful functor from AddMonCat.{u}

                  preserves limits of shape J.

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

                  If J is u-small, the forgetful functor from MonCat.{u} preserves limits of shape J.

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

                  The forgetful functor from additive monoids to types preserves all limits.

                  This means the underlying type of a limit can be computed as a limit in the category of types.

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

                  The forgetful functor from monoids to types preserves all limits.

                  This means the underlying type of a limit can be computed as a limit in the category of types.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  abbrev AddCommMonCatMax :
                  Type ((max u1 u2) + 1)

                  An alias for AddCommMonCat.{max u v}, to deal around unification issues.

                  Equations
                  Instances For
                    @[inline, reducible]
                    abbrev CommMonCatMax :
                    Type ((max u1 u2) + 1)

                    An alias for CommMonCat.{max u v}, to deal around unification issues.

                    Equations
                    Instances For
                      theorem AddCommMonCat.forget₂CreatesLimit.proof_6 {J : Type u_3} [CategoryTheory.Category.{u_1, u_3} J] (F : CategoryTheory.Functor J AddCommMonCat) [Small.{u_2, max u_2 u_3} (CategoryTheory.Functor.sections (CategoryTheory.Functor.comp F (CategoryTheory.forget AddCommMonCat)))] (c' : CategoryTheory.Limits.Cone (CategoryTheory.Functor.comp F (CategoryTheory.forget₂ AddCommMonCat AddMonCat))) (t : CategoryTheory.Limits.IsLimit c') (s : CategoryTheory.Limits.Cone F) :

                      We show that the forgetful functor AddCommMonCatAddMonCat creates limits.

                      All we need to do is notice that the limit point has an AddCommMonoid instance available,

                      and then reuse the existing limit.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      theorem AddCommMonCat.forget₂CreatesLimit.proof_5 {J : Type u_3} [CategoryTheory.Category.{u_2, u_3} J] (F : CategoryTheory.Functor J AddCommMonCat) [Small.{u_1, max u_1 u_3} (CategoryTheory.Functor.sections (CategoryTheory.Functor.comp F (CategoryTheory.forget AddCommMonCat)))] (s : CategoryTheory.Limits.Cone F) (x : ((CategoryTheory.forget₂ AddCommMonCat AddMonCat).mapCone s).pt) (y : ((CategoryTheory.forget₂ AddCommMonCat AddMonCat).mapCone s).pt) :
                      { toFun := fun (v : ((CategoryTheory.forget AddMonCat).mapCone ((CategoryTheory.forget₂ AddCommMonCat AddMonCat).mapCone s)).pt) => (equivShrink (CategoryTheory.Functor.sections (CategoryTheory.Functor.comp (CategoryTheory.Functor.comp F (CategoryTheory.forget₂ AddCommMonCat AddMonCat)) (CategoryTheory.forget AddMonCat)))).1 { val := fun (j : J) => ((CategoryTheory.forget AddMonCat).mapCone ((CategoryTheory.forget₂ AddCommMonCat AddMonCat).mapCone s)).app j v, property := }, map_zero' := }.toFun (x + y) = { toFun := fun (v : ((CategoryTheory.forget AddMonCat).mapCone ((CategoryTheory.forget₂ AddCommMonCat AddMonCat).mapCone s)).pt) => (equivShrink (CategoryTheory.Functor.sections (CategoryTheory.Functor.comp (CategoryTheory.Functor.comp F (CategoryTheory.forget₂ AddCommMonCat AddMonCat)) (CategoryTheory.forget AddMonCat)))).1 { val := fun (j : J) => ((CategoryTheory.forget AddMonCat).mapCone ((CategoryTheory.forget₂ AddCommMonCat AddMonCat).mapCone s)).app j v, property := }, map_zero' := }.toFun x + { toFun := fun (v : ((CategoryTheory.forget AddMonCat).mapCone ((CategoryTheory.forget₂ AddCommMonCat AddMonCat).mapCone s)).pt) => (equivShrink (CategoryTheory.Functor.sections (CategoryTheory.Functor.comp (CategoryTheory.Functor.comp F (CategoryTheory.forget₂ AddCommMonCat AddMonCat)) (CategoryTheory.forget AddMonCat)))).1 { val := fun (j : J) => ((CategoryTheory.forget AddMonCat).mapCone ((CategoryTheory.forget₂ AddCommMonCat AddMonCat).mapCone s)).app j v, property := }, map_zero' := }.toFun y

                      We show that the forgetful functor CommMonCatMonCat creates limits.

                      All we need to do is notice that the limit point has a CommMonoid instance available, and then reuse the existing limit.

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

                      If J is u-small, AddCommMonCat.{u} has limits of shape J.

                      Equations
                      • =

                      If J is u-small, CommMonCat.{u} has limits of shape J.

                      Equations
                      • =

                      The category of additive commutative monoids has all limits.

                      Equations
                      • =

                      The category of commutative monoids has all limits.

                      Equations
                      • =

                      The forgetful functor from additive commutative monoids to additive monoids preserves all limits.

                      This means the underlying type of a limit can be computed as a limit in the category of additive

                      monoids.

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

                      The forgetful functor from commutative monoids to monoids preserves all limits.

                      This means the underlying type of a limit can be computed as a limit in the category of monoids.

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

                      If J is u-small, the forgetful functor from AddCommMonCat.{u}

                      preserves limits of shape J.

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

                      If J is u-small, the forgetful functor from CommMonCat.{u} preserves limits of shape J.

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

                      The forgetful functor from additive commutative monoids to types preserves all

                      limits.

                      This means the underlying type of a limit can be computed as a limit in the category of types.

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

                      The forgetful functor from commutative monoids to types preserves all limits.

                      This means the underlying type of a limit can be computed as a limit in the category of types.

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