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
        • One or more equations did not get rendered due to their size.
        instance SemiRingCat.instFunLike {X : SemiRingCat} {Y : SemiRingCat} :
        FunLike (X Y) X Y
        Equations
        • SemiRingCat.instFunLike = CategoryTheory.ConcreteCategory.instFunLike
        Equations
        theorem SemiRingCat.coe_comp {X : SemiRingCat} {Y : SemiRingCat} {Z : SemiRingCat} {f : X Y} {g : Y Z} :
        @[simp]
        theorem SemiRingCat.forget_map {X : SemiRingCat} {Y : SemiRingCat} (f : X Y) :
        (CategoryTheory.forget SemiRingCat).toPrefunctor.map f = f
        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.
          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) :

            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
                Equations
                Instances For
                  instance RingCat.instRing (X : RingCat) :
                  Ring X
                  Equations
                  instance RingCat.instRing' (X : RingCat) :
                  Ring ((CategoryTheory.forget RingCat).toPrefunctor.obj X)
                  Equations
                  instance RingCat.instFunLike {X : RingCat} {Y : RingCat} :
                  FunLike (X Y) X Y
                  Equations
                  • RingCat.instFunLike = CategoryTheory.ConcreteCategory.instFunLike
                  instance RingCat.instRingHomClass {X : RingCat} {Y : RingCat} :
                  RingHomClass (X Y) X Y
                  Equations
                  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) :
                  (CategoryTheory.forget RingCat).toPrefunctor.map f = f
                  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.instFunLike = CategoryTheory.ConcreteCategory.instFunLike
                        Equations
                        @[simp]
                        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
                                instance CommRingCat.instFunLike {X : CommRingCat} {Y : CommRingCat} :
                                FunLike (X Y) X Y
                                Equations
                                • CommRingCat.instFunLike = CategoryTheory.ConcreteCategory.instFunLike
                                Equations
                                theorem CommRingCat.coe_comp {X : CommRingCat} {Y : CommRingCat} {Z : CommRingCat} {f : X Y} {g : Y Z} :
                                @[simp]
                                theorem CommRingCat.forget_map {X : CommRingCat} {Y : CommRingCat} (f : X Y) :
                                (CategoryTheory.forget CommRingCat).toPrefunctor.map f = f
                                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
                                  instance CommRingCat.instFunLike' {X : Type u_1} [CommRing X] {Y : CommRingCat} :
                                  Equations
                                  • CommRingCat.instFunLike' = CategoryTheory.ConcreteCategory.instFunLike
                                  instance CommRingCat.instFunLike'' {X : CommRingCat} {Y : Type u_1} [CommRing Y] :
                                  FunLike (X CommRingCat.of Y) (X) Y
                                  Equations
                                  • CommRingCat.instFunLike'' = CategoryTheory.ConcreteCategory.instFunLike
                                  Equations
                                  • CommRingCat.instFunLike''' = CategoryTheory.ConcreteCategory.instFunLike

                                  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
                                            • One or more equations did not get rendered due to their size.
                                            Instances For