/caterwaul/Ring/Commutative/extractRing

Copy path to clipboard

Source

let kCat = ../../Category/Cat/semigroupal

let vObject = Type

let object = Type

let cat =
../../Category/Monoidal/Cartesian/extractMonoidal
kCat
vObject
object
../../Category/Set/monoidal/cartesian

in λ(m : object) →
λ(ring : ./Set m) →
{ additive = ring.additive.{ unit, inverse, product }
, multiplicative =
../../Monoid/Commutative/extractMonoid m ring.multiplicative
}
: ../Type object cat m