/caterwaul/Rig/Monus/Type

Copy path to clipboard

Like the semiring/rig distinction, this is often “semigroup with monus” or “m-semigroup”, but here it’s “rig with monus”.

Source

{-|
Like the semiring/rig distinction, this is often “semigroup with monus” or
“m-semigroup”, but here it’s “rig with monus”.
-}
let kCat = ../../Category/Cat/semigroupal

let vObject = Type

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