Documentation

Mathlib.Algebra.Category.Ring.Basic

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

We introduce the bundled categories:

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

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

Equations
@[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.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
@[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
@[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
instance RingCat.instRingα (X : RingCat) :
Ring X
Equations
instance RingCat.instRing (X : RingCat) :
Ring 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) :
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
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
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.
Equations
  • CommSemiRingCat.instFunLike = CategoryTheory.ConcreteCategory.instFunLike
Equations
  • =
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
@[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
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.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
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
@[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

Build an isomorphism in the category CommRingCat from a RingEquiv between CommRingCats.

Equations

Build a RingEquiv from an isomorphism in the category RingCat.

Equations

Build a RingEquiv from an isomorphism in the category CommRingCat.

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

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.