/caterwaul/Group/PartiallyOrderedCommutative/extractCommutativeGroup

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) →
λ(group : ./Type m) →
group.{ unit, inverse, product } : ../Commutative/Type object cat m