/caterwaul/Rig/extractSemiring

Copy path to clipboard

Source

let kCat = ../Category/Cat/semigroupal

let vObject = Type

in λ(object : Kind) →
λ(cat : ../Category/Monoidal/Kind kCat vObject object) →
λ(m : object) →
λ(rig : ./Type object cat m) →
{ additive =
../Monoid/Commutative/extractSemigroup object cat m rig.additive
, multiplicative = rig.multiplicative
}
: ../Semiring/Type object cat m