Documentation

Mathlib.Algebra.Category.Ring.Colimits

The category of commutative rings has all colimits. #

This file uses a "pre-automated" approach, just as for Mathlib/Algebra/Category/MonCat/Colimits.lean. It is a very uniform approach, that conceivably could be synthesised directly by a tactic that analyses the shape of CommRing and RingHom.

We build the colimit of a diagram in RingCat by constructing the free ring on the disjoint union of all the rings in the diagram, then taking the quotient by the ring laws within each ring, and the identifications given by the morphisms in the diagram.

An inductive type representing all ring expressions (without Relations) on a collection of types indexed by the objects of J.

Instances For

    The Relation on Prequotient saying when two expressions are equal because of the ring laws, or because one element is mapped to another by a morphism in the diagram.

    Instances For
      @[implicit_reducible]

      The setoid corresponding to commutative expressions modulo monoid Relations and identifications.

      The underlying type of the colimit of a diagram in CommRingCat.

      Instances For
        @[simp]
        theorem RingCat.Colimits.quot_add {J : Type v} [CategoryTheory.SmallCategory J] (F : CategoryTheory.Functor J RingCat) (x y : Prequotient F) :
        Quot.mk (⇑(colimitSetoid F)) (x.add y) = (have this := Quot.mk (⇑(colimitSetoid F)) x; this) + have this := Quot.mk (⇑(colimitSetoid F)) y; this
        @[simp]
        theorem RingCat.Colimits.quot_mul {J : Type v} [CategoryTheory.SmallCategory J] (F : CategoryTheory.Functor J RingCat) (x y : Prequotient F) :
        Quot.mk (⇑(colimitSetoid F)) (x.mul y) = (have this := Quot.mk (⇑(colimitSetoid F)) x; this) * have this := Quot.mk (⇑(colimitSetoid F)) y; this

        The bundled ring giving the colimit of a diagram.

        Instances For

          The function from a given ring in the diagram to the colimit ring.

          Instances For

            The ring homomorphism from a given ring in the diagram to the colimit ring.

            Instances For

              The cocone over the proposed colimit ring.

              Instances For

                The function from the free ring on the diagram to the cone point of any other cocone.

                Instances For

                  The function from the colimit ring to the cone point of any other cocone.

                  Instances For

                    The ring homomorphism from the colimit ring to the cone point of any other cocone.

                    Instances For

                      Evidence that the proposed colimit is the colimit.

                      Instances For

                        We build the colimit of a diagram in CommRingCat by constructing the free commutative ring on the disjoint union of all the commutative rings in the diagram, then taking the quotient by the commutative ring laws within each commutative ring, and the identifications given by the morphisms in the diagram.

                        An inductive type representing all commutative ring expressions (without Relations) on a collection of types indexed by the objects of J.

                        Instances For

                          The Relation on Prequotient saying when two expressions are equal because of the commutative ring laws, or because one element is mapped to another by a morphism in the diagram.

                          Instances For
                            @[implicit_reducible]

                            The setoid corresponding to commutative expressions modulo monoid Relations and identifications.

                            The underlying type of the colimit of a diagram in CommRingCat.

                            Instances For
                              @[simp]
                              theorem CommRingCat.Colimits.quot_add {J : Type v} [CategoryTheory.SmallCategory J] (F : CategoryTheory.Functor J CommRingCat) (x y : Prequotient F) :
                              Quot.mk (⇑(colimitSetoid F)) (x.add y) = (have this := Quot.mk (⇑(colimitSetoid F)) x; this) + have this := Quot.mk (⇑(colimitSetoid F)) y; this
                              @[simp]
                              theorem CommRingCat.Colimits.quot_mul {J : Type v} [CategoryTheory.SmallCategory J] (F : CategoryTheory.Functor J CommRingCat) (x y : Prequotient F) :
                              Quot.mk (⇑(colimitSetoid F)) (x.mul y) = (have this := Quot.mk (⇑(colimitSetoid F)) x; this) * have this := Quot.mk (⇑(colimitSetoid F)) y; this

                              The bundled commutative ring giving the colimit of a diagram.

                              Instances For

                                The function from a given commutative ring in the diagram to the colimit commutative ring.

                                Instances For

                                  The ring homomorphism from a given commutative ring in the diagram to the colimit commutative ring.

                                  Instances For

                                    The cocone over the proposed colimit commutative ring.

                                    Instances For

                                      The function from the free commutative ring on the diagram to the cone point of any other cocone.

                                      Instances For

                                        The function from the colimit commutative ring to the cone point of any other cocone.

                                        Instances For

                                          The ring homomorphism from the colimit commutative ring to the cone point of any other cocone.

                                          Instances For