Documentation

Mathlib.Algebra.Category.Ring.Basic

Category instances for Semiring, Ring, CommSemiring, and CommRing. #

We introduce the bundled categories:

def SemiRingCat :
Type (u + 1)

The category of semirings.

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

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

    Equations
    Instances For
      @[inline, reducible]
      abbrev SemiRingCat.AssocRingHom (M : Type u_1) (N : Type u_2) [Semiring M] [Semiring N] :
      Type (max u_1 u_2)

      RingHom doesn't actually assume associativity. This alias is needed to make the category theory machinery work. We use the same trick in MonCat.AssocMonoidHom.

      Equations
      Instances For
        Equations
        Equations
        • SemiRingCat.instRingHomClass = RingHom.instRingHomClass
        theorem SemiRingCat.coe_comp {X : SemiRingCat} {Y : SemiRingCat} {Z : SemiRingCat} {f : X Y} {g : Y Z} :
        @[simp]
        theorem SemiRingCat.ext {X : SemiRingCat} {Y : SemiRingCat} {f : X Y} {g : X Y} (w : ∀ (x : X), f x = g x) :
        f = g

        Construct a bundled SemiRing from the underlying type and typeclass.

        Equations
        Instances For
          @[simp]
          theorem SemiRingCat.coe_of (R : Type u) [Semiring R] :
          ↑(SemiRingCat.of R) = R
          @[simp]
          theorem SemiRingCat.RingEquiv_coe_eq {X : Type u_1} {Y : Type u_1} [Semiring X] [Semiring Y] (e : X ≃+* Y) :
          e = e
          Equations
          • One or more equations did not get rendered due to their size.

          Typecheck a RingHom as a morphism in SemiRingCat.

          Equations
          Instances For
            @[simp]
            theorem SemiRingCat.ofHom_apply {R : Type u} {S : Type u} [Semiring R] [Semiring S] (f : R →+* S) (x : R) :
            ↑(SemiRingCat.ofHom f) x = f x

            Ring equivalence are isomorphisms in category of semirings

            Equations
            Instances For
              def RingCat :
              Type (u + 1)

              The category of rings.

              Equations
              Instances For
                instance RingCat.instRingα (X : RingCat) :
                Ring X
                Equations
                instance RingCat.instRing (X : RingCat) :
                Ring X
                Equations
                instance RingCat.instRingHomClass {X : RingCat} {Y : RingCat} :
                RingHomClass (X Y) X Y
                Equations
                • RingCat.instRingHomClass = RingHom.instRingHomClass
                theorem RingCat.coe_comp {X : RingCat} {Y : RingCat} {Z : RingCat} {f : X Y} {g : Y Z} :
                @[simp]
                theorem RingCat.forget_map {X : RingCat} {Y : RingCat} (f : X Y) :
                theorem RingCat.ext {X : RingCat} {Y : RingCat} {f : X Y} {g : X Y} (w : ∀ (x : X), f x = g x) :
                f = g
                def RingCat.of (R : Type u) [Ring R] :

                Construct a bundled RingCat from the underlying type and typeclass.

                Equations
                Instances For
                  def RingCat.ofHom {R : Type u} {S : Type u} [Ring R] [Ring S] (f : R →+* S) :

                  Typecheck a RingHom as a morphism in RingCat.

                  Equations
                  Instances For
                    instance RingCat.instRingα_1 (R : RingCat) :
                    Ring R
                    Equations
                    @[simp]
                    theorem RingCat.coe_of (R : Type u) [Ring R] :
                    ↑(RingCat.of R) = R
                    @[simp]
                    theorem RingCat.RingEquiv_coe_eq {X : Type u_1} {Y : Type u_1} [Ring X] [Ring Y] (e : X ≃+* Y) :
                    e = e
                    Equations
                    • One or more equations did not get rendered due to their size.
                    def CommSemiRingCat :
                    Type (u + 1)

                    The category of commutative semirings.

                    Equations
                    Instances For
                      Equations
                      • CommSemiRingCat.instRingHomClass = RingHom.instRingHomClass
                      theorem CommSemiRingCat.ext {X : CommSemiRingCat} {Y : CommSemiRingCat} {f : X Y} {g : X Y} (w : ∀ (x : X), f x = g x) :
                      f = g

                      Construct a bundled CommSemiRingCat from the underlying type and typeclass.

                      Equations
                      Instances For

                        Typecheck a RingHom as a morphism in CommSemiRingCat.

                        Equations
                        Instances For
                          @[simp]
                          theorem CommSemiRingCat.RingEquiv_coe_eq {X : Type u_1} {Y : Type u_1} [CommSemiring X] [CommSemiring Y] (e : X ≃+* Y) :
                          e = e
                          @[simp]

                          The forgetful functor from commutative rings to (multiplicative) commutative monoids.

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

                          Ring equivalence are isomorphisms in category of commutative semirings

                          Equations
                          Instances For
                            def CommRingCat :
                            Type (u + 1)

                            The category of commutative rings.

                            Equations
                            Instances For
                              Equations
                              • CommRingCat.instRingHomClass = RingHom.instRingHomClass
                              theorem CommRingCat.coe_comp {X : CommRingCat} {Y : CommRingCat} {Z : CommRingCat} {f : X Y} {g : Y Z} :
                              @[simp]
                              theorem CommRingCat.ext {X : CommRingCat} {Y : CommRingCat} {f : X Y} {g : X Y} (w : ∀ (x : X), f x = g x) :
                              f = g

                              Construct a bundled CommRingCat from the underlying type and typeclass.

                              Equations
                              Instances For

                                Typecheck a RingHom as a morphism in CommRingCat.

                                Equations
                                Instances For
                                  @[simp]
                                  theorem CommRingCat.RingEquiv_coe_eq {X : Type u_1} {Y : Type u_1} [CommRing X] [CommRing Y] (e : X ≃+* Y) :
                                  e = e
                                  @[simp]
                                  theorem CommRingCat.coe_of (R : Type u) [CommRing R] :
                                  ↑(CommRingCat.of R) = R

                                  The forgetful functor from commutative rings to (multiplicative) commutative monoids.

                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  @[simp]
                                  theorem RingEquiv.toRingCatIso_hom {X : Type u} {Y : Type u} [Ring X] [Ring Y] (e : X ≃+* Y) :
                                  def RingEquiv.toRingCatIso {X : Type u} {Y : Type u} [Ring X] [Ring Y] (e : X ≃+* Y) :

                                  Build an isomorphism in the category RingCat from a RingEquiv between RingCats.

                                  Equations
                                  Instances For

                                    Build a RingEquiv from an isomorphism in the category RingCat.

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

                                      Build a RingEquiv from an isomorphism in the category CommRingCat.

                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      Instances For
                                        def ringEquivIsoRingIso {X : Type u} {Y : Type u} [Ring X] [Ring Y] :

                                        Ring equivalences between RingCats are the same as (isomorphic to) isomorphisms in RingCat.

                                        Equations
                                        Instances For

                                          Ring equivalences between CommRingCats are the same as (isomorphic to) isomorphisms in CommRingCat.

                                          Equations
                                          Instances For