module Cat.Monoidal.Diagonals {o }
  {C : Precategory o } (Cᵐ : Monoidal-category C)
  where

Monoidal categories with diagonals🔗

A monoidal category can be equipped with a system of diagonal morphisms Of course, such a system should be natural in another sensible thing to require is that the diagonal agree with the left (hence also right) unitor.

We call the resulting structure a monoidal category with diagonals.

record Diagonals : Type (o  ) where
  field
    diagonals : Id => -⊗- F∘ Cat⟨ Id , Id Cat

  module δ = _=>_ diagonals

  δ :  {A}  Hom A (A  A)
  δ = δ.η _

  field
    diagonal-λ→ : δ {Unit}  λ→ {Unit}

The prototypical examples of monoidal categories with diagonals are cartesian monoidal categories.