The natural monoidal structure on any category with finite (co)products. #
A category with a monoidal structure provided in this way is sometimes called a (co-)Cartesian category, although this is also sometimes used to mean a finitely complete category. (See https://ncatlab.org/nlab/show/cartesian+category.)
As this works with either products or coproducts, and sometimes we want to think of a different monoidal structure entirely, we don't set up either construct as an instance.
TODO #
Once we have cocartesian-monoidal categories, replace monoidalOfHasFiniteCoproducts and
symmetricOfHasFiniteCoproducts with CocartesianMonoidalCategory.ofHasFiniteCoproducts.
@[implicit_reducible]
noncomputable def
CategoryTheory.monoidalOfHasFiniteCoproducts
(C : Type u)
[Category.{v, u} C]
[Limits.HasInitial C]
[Limits.HasBinaryCoproducts C]
:
A category with an initial object and binary coproducts has a natural monoidal structure.
Equations
- CategoryTheory.monoidalOfHasFiniteCoproducts C = CategoryTheory.MonoidalCategory.ofTensorHom ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Instances For
@[simp]
theorem
CategoryTheory.monoidalOfHasFiniteCoproducts.tensorObj
(C : Type u)
[Category.{v, u} C]
[Limits.HasInitial C]
[Limits.HasBinaryCoproducts C]
(X Y : C)
:
@[simp]
theorem
CategoryTheory.monoidalOfHasFiniteCoproducts.tensorHom
(C : Type u)
[Category.{v, u} C]
[Limits.HasInitial C]
[Limits.HasBinaryCoproducts C]
{W X Y Z : C}
(f : W ⟶ X)
(g : Y ⟶ Z)
:
@[simp]
theorem
CategoryTheory.monoidalOfHasFiniteCoproducts.whiskerLeft
(C : Type u)
[Category.{v, u} C]
[Limits.HasInitial C]
[Limits.HasBinaryCoproducts C]
(X : C)
{Y Z : C}
(f : Y ⟶ Z)
:
@[simp]
theorem
CategoryTheory.monoidalOfHasFiniteCoproducts.whiskerRight
(C : Type u)
[Category.{v, u} C]
[Limits.HasInitial C]
[Limits.HasBinaryCoproducts C]
{X Y : C}
(f : X ⟶ Y)
(Z : C)
:
@[simp]
theorem
CategoryTheory.monoidalOfHasFiniteCoproducts.leftUnitor_hom
(C : Type u)
[Category.{v, u} C]
[Limits.HasInitial C]
[Limits.HasBinaryCoproducts C]
(X : C)
:
@[simp]
theorem
CategoryTheory.monoidalOfHasFiniteCoproducts.rightUnitor_hom
(C : Type u)
[Category.{v, u} C]
[Limits.HasInitial C]
[Limits.HasBinaryCoproducts C]
(X : C)
:
@[simp]
theorem
CategoryTheory.monoidalOfHasFiniteCoproducts.leftUnitor_inv
(C : Type u)
[Category.{v, u} C]
[Limits.HasInitial C]
[Limits.HasBinaryCoproducts C]
(X : C)
:
@[simp]
theorem
CategoryTheory.monoidalOfHasFiniteCoproducts.rightUnitor_inv
(C : Type u)
[Category.{v, u} C]
[Limits.HasInitial C]
[Limits.HasBinaryCoproducts C]
(X : C)
:
theorem
CategoryTheory.monoidalOfHasFiniteCoproducts.associator_hom
(C : Type u)
[Category.{v, u} C]
[Limits.HasInitial C]
[Limits.HasBinaryCoproducts C]
(X Y Z : C)
:
theorem
CategoryTheory.monoidalOfHasFiniteCoproducts.associator_inv
(C : Type u)
[Category.{v, u} C]
[Limits.HasInitial C]
[Limits.HasBinaryCoproducts C]
(X Y Z : C)
:
@[implicit_reducible]
noncomputable def
CategoryTheory.symmetricOfHasFiniteCoproducts
(C : Type u)
[Category.{v, u} C]
[Limits.HasInitial C]
[Limits.HasBinaryCoproducts C]
:
The monoidal structure coming from finite coproducts is symmetric.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem
CategoryTheory.symmetricOfHasFiniteCoproducts_braiding
(C : Type u)
[Category.{v, u} C]
[Limits.HasInitial C]
[Limits.HasBinaryCoproducts C]
(P Q : C)
: