Category instances for Semiring
, Ring
, CommSemiring
, and CommRing
. #
We introduce the bundled categories:
SemiRingCat
RingCat
CommSemiRingCat
CommRingCat
along with the relevant forgetful functors between them.
The category of semirings.
Equations
Instances For
An alias for Semiring.{max u v}
, to deal around unification issues.
Equations
Instances For
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
- SemiRingCat.AssocRingHom M N = (M →+* N)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- SemiRingCat.instCoeSortSemiRingCatType = { coe := fun (X : SemiRingCat) => ↑X }
Equations
- SemiRingCat.forget_obj_eq_coe R = ((CategoryTheory.forget SemiRingCat).toPrefunctor.obj R = ↑R)
Instances For
Equations
- SemiRingCat.instSemiring X = X.str
Equations
- SemiRingCat.instSemiring' X = X.str
Equations
- SemiRingCat.instFunLike = CategoryTheory.ConcreteCategory.instFunLike
Equations
- (_ : RingHomClass (X ⟶ Y) ↑X ↑Y) = (_ : RingHomClass (↑X →+* ↑Y) ↑X ↑Y)
Construct a bundled SemiRing from the underlying type and typeclass.
Equations
Instances For
Equations
- SemiRingCat.instInhabitedSemiRingCat = { default := SemiRingCat.of PUnit.{u_1 + 1} }
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
- SemiRingCat.ofHom f = f
Instances For
Equations
- RingCat.instCoeSortRingCatType = { coe := fun (X : RingCat) => ↑X }
Equations
- RingCat.forget_obj_eq_coe R = ((CategoryTheory.forget RingCat).toPrefunctor.obj R = ↑R)
Instances For
Equations
- RingCat.instRing' X = X.str
Equations
- (_ : RingHomClass (X ⟶ Y) ↑X ↑Y) = (_ : RingHomClass (↑X →+* ↑Y) ↑X ↑Y)
Typecheck a RingHom
as a morphism in RingCat
.
Equations
- RingCat.ofHom f = f
Instances For
Equations
- RingCat.instInhabitedRingCat = { default := RingCat.of PUnit.{u_1 + 1} }
Equations
- One or more equations did not get rendered due to their size.
The category of commutative semirings.
Instances For
Equations
- CommSemiRingCat.instCoeSortCommSemiRingCatType = { coe := fun (X : CommSemiRingCat) => ↑X }
Equations
- CommSemiRingCat.instCommSemiringα X = X.str
Equations
- CommSemiRingCat.forget_obj_eq_coe R = ((CategoryTheory.forget CommSemiRingCat).toPrefunctor.obj R = ↑R)
Instances For
Equations
- CommSemiRingCat.instCommSemiring X = X.str
Equations
- CommSemiRingCat.instCommSemiring' X = X.str
Equations
- CommSemiRingCat.instFunLike = CategoryTheory.ConcreteCategory.instFunLike
Equations
- (_ : RingHomClass (X ⟶ Y) ↑X ↑Y) = (_ : RingHomClass (↑X →+* ↑Y) ↑X ↑Y)
Typecheck a RingHom
as a morphism in CommSemiRingCat
.
Equations
Instances For
Equations
Equations
- CommSemiRingCat.instCommSemiringα_1 R = R.str
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
The category of commutative rings.
Equations
Instances For
Equations
- CommRingCat.instCoeSortCommRingCatType = { coe := fun (X : CommRingCat) => ↑X }
Equations
- CommRingCat.forget_obj_eq_coe R = ((CategoryTheory.forget CommRingCat).toPrefunctor.obj R = ↑R)
Instances For
Equations
- CommRingCat.instCommRing X = X.str
Equations
- CommRingCat.instCommRing' X = X.str
Equations
- CommRingCat.instFunLike = CategoryTheory.ConcreteCategory.instFunLike
Equations
- (_ : RingHomClass (X ⟶ Y) ↑X ↑Y) = (_ : RingHomClass (↑X →+* ↑Y) ↑X ↑Y)
Equations
- CommRingCat.instFunLike' = CategoryTheory.ConcreteCategory.instFunLike
Equations
- CommRingCat.instFunLike'' = CategoryTheory.ConcreteCategory.instFunLike
Equations
- CommRingCat.instFunLike''' = CategoryTheory.ConcreteCategory.instFunLike
Typecheck a RingHom
as a morphism in CommRingCat
.
Equations
- CommRingCat.ofHom f = f
Instances For
Equations
- CommRingCat.instInhabitedCommRingCat = { default := CommRingCat.of PUnit.{u_1 + 1} }
Equations
- CommRingCat.instCommRingα R = R.str
The forgetful functor from commutative rings to (multiplicative) commutative monoids.
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.
Build an isomorphism in the category RingCat
from a RingEquiv
between RingCat
s.
Equations
Instances For
Build an isomorphism in the category CommRingCat
from a RingEquiv
between CommRingCat
s.
Equations
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
Ring equivalences between RingCat
s are the same as (isomorphic to) isomorphisms in
RingCat
.
Equations
- ringEquivIsoRingIso = CategoryTheory.Iso.mk (fun (e : X ≃+* Y) => RingEquiv.toRingCatIso e) fun (i : RingCat.of X ≅ RingCat.of Y) => CategoryTheory.Iso.ringCatIsoToRingEquiv i
Instances For
Ring equivalences between CommRingCat
s are the same as (isomorphic to) isomorphisms
in CommRingCat
.
Equations
- One or more equations did not get rendered due to their size.