Category instances for Semiring, Ring, CommSemiring, and CommRing. #
We introduce the bundled categories:
SemiRingCatRingCatCommSemiRingCatCommRingCatalong 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).obj R = ↑R)
Instances For
Equations
- SemiRingCat.instSemiring X = X.str
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.instCoeSortRingCatType = { coe := fun (X : RingCat) => ↑X }
Equations
- RingCat.forget_obj_eq_coe R = ((CategoryTheory.forget RingCat).obj R = ↑R)
Instances For
Equations
- RingCat.instRing' X = X.str
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 RingCats.
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 CommRingCats.
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 RingCats 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 CommRingCats are the same as (isomorphic to) isomorphisms
in CommRingCat.
Equations
- One or more equations did not get rendered due to their size.