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).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 RingCats.
Equations
Instances For
Build an isomorphism in the category CommRingCat from a RingEquiv between CommRingCats.
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 RingCats 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 CommRingCats are the same as (isomorphic to) isomorphisms
in CommRingCat.
Equations
- One or more equations did not get rendered due to their size.