/caterwaul/Void/semigroup
Copy path to clipboardSource
let cat = ../Category/Cat/semigroupal
let vObject = Type
let Set =
../Category/Monoidal/Cartesian/extractSemigroupal
cat
vObject
Type
../Category/Set/monoidal/cartesian
in { product = λ(p : { _1 : <>, _2 : <> }) → merge {=} p._1 : <> }
: ../Semigroup/Type Type Set <>