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.forget_obj_eq_coe R = ((CategoryTheory.forget SemiRingCat).obj R = ↑R)
Instances For
Equations
- SemiRingCat.instSemiring X = X.str
Equations
- SemiRingCat.instFunLike = CategoryTheory.ConcreteCategory.instFunLike
Equations
- ⋯ = ⋯
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
Ring equivalence are isomorphisms in category of semirings
Equations
- RingEquiv.toSemiRingCatIso e = { hom := RingEquiv.toRingHom e, inv := RingEquiv.toRingHom (RingEquiv.symm e), hom_inv_id := ⋯, inv_hom_id := ⋯ }
Instances For
Equations
- RingCat.forget_obj_eq_coe R = ((CategoryTheory.forget RingCat).obj R = ↑R)
Instances For
Equations
- ⋯ = ⋯
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).obj R = ↑R)
Instances For
Equations
- CommSemiRingCat.instCommSemiring X = X.str
Equations
- CommSemiRingCat.instCommSemiring' X = X.str
Equations
- CommSemiRingCat.instFunLike = CategoryTheory.ConcreteCategory.instFunLike
Equations
- ⋯ = ⋯
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
- RingEquiv.toCommSemiRingCatIso e = { hom := RingEquiv.toRingHom e, inv := RingEquiv.toRingHom (RingEquiv.symm e), hom_inv_id := ⋯, inv_hom_id := ⋯ }
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).obj R = ↑R)
Instances For
Equations
- CommRingCat.instCommRing X = X.str
Equations
- CommRingCat.instCommRing' X = X.str
Equations
- CommRingCat.instFunLike = CategoryTheory.ConcreteCategory.instFunLike
Equations
- ⋯ = ⋯
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
- RingEquiv.toRingCatIso e = { hom := RingEquiv.toRingHom e, inv := RingEquiv.toRingHom (RingEquiv.symm e), hom_inv_id := ⋯, inv_hom_id := ⋯ }
Instances For
Build an isomorphism in the category CommRingCat
from a RingEquiv
between CommRingCat
s.
Equations
- RingEquiv.toCommRingCatIso e = { hom := RingEquiv.toRingHom e, inv := RingEquiv.toRingHom (RingEquiv.symm e), hom_inv_id := ⋯, inv_hom_id := ⋯ }
Instances For
Build a RingEquiv
from an isomorphism in the category RingCat
.
Equations
- CategoryTheory.Iso.ringCatIsoToRingEquiv i = RingEquiv.ofHomInv i.hom i.inv ⋯ ⋯
Instances For
Build a RingEquiv
from an isomorphism in the category CommRingCat
.
Equations
- CategoryTheory.Iso.commRingCatIsoToRingEquiv i = RingEquiv.ofHomInv i.hom i.inv ⋯ ⋯
Instances For
Ring equivalences between RingCat
s are the same as (isomorphic to) isomorphisms in
RingCat
.
Equations
- One or more equations did not get rendered due to their size.
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.