/caterwaul/Natural/duoid

Copy path to clipboard

Source

let cat = ../Category/Cat/semigroupal

let vObject = Type

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

in λ(max : { _1 : Natural, _2 : Natural } → Natural) →
{ additive = { unit = λ(_ : {}) → 0, product = max }
, multiplicative = ./monoid
}
: ../Duoid/Type Type Set Natural