module Cat.Instances.Delooping where

The delooping of a monoidπŸ”—

Given a monoid we build a pointed, connected precategory where the endomorphism monoid of the point recovers

module _ {β„“} {M : Type β„“} (mm : Monoid-on M) where
  module mm = Monoid-on mm

  B : Precategory lzero β„“
  B .Ob = ⊀
  B .Hom _ _ = M
  B .Hom-set _ _ = mm.has-is-set
  B .Precategory.id = mm.identity
  B .Precategory._∘_ = mm._⋆_
  B .idr _ = mm.idr
  B .idl _ = mm.idl
  B .assoc _ _ _ = mm.associative

  B-is-connected : is-connected-cat B
  B-is-connected .point      = inc tt
  B-is-connected .zigzag _ _ = inc []