The category of types is a (symmetric) monoidal category #
Equations
@[simp]
theorem
CategoryTheory.tensor_apply
{W X Y Z : Type u}
(f : W ⟶ X)
(g : Y ⟶ Z)
(p : MonoidalCategoryStruct.tensorObj W Y)
:
@[simp]
theorem
CategoryTheory.whiskerLeft_apply
(X : Type u)
{Y Z : Type u}
(f : Y ⟶ Z)
(p : MonoidalCategoryStruct.tensorObj X Y)
:
@[simp]
theorem
CategoryTheory.whiskerRight_apply
{Y Z : Type u}
(f : Y ⟶ Z)
(X : Type u)
(p : MonoidalCategoryStruct.tensorObj Y X)
:
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
theorem
CategoryTheory.associator_hom_apply_1
{X Y Z : Type u}
{x : MonoidalCategoryStruct.tensorObj (MonoidalCategoryStruct.tensorObj X Y) Z}
:
@[simp]
theorem
CategoryTheory.associator_hom_apply_2_1
{X Y Z : Type u}
{x : MonoidalCategoryStruct.tensorObj (MonoidalCategoryStruct.tensorObj X Y) Z}
:
@[simp]
theorem
CategoryTheory.associator_hom_apply_2_2
{X Y Z : Type u}
{x : MonoidalCategoryStruct.tensorObj (MonoidalCategoryStruct.tensorObj X Y) Z}
:
@[simp]
theorem
CategoryTheory.associator_inv_apply_1_1
{X Y Z : Type u}
{x : MonoidalCategoryStruct.tensorObj X (MonoidalCategoryStruct.tensorObj Y Z)}
:
@[simp]
theorem
CategoryTheory.associator_inv_apply_1_2
{X Y Z : Type u}
{x : MonoidalCategoryStruct.tensorObj X (MonoidalCategoryStruct.tensorObj Y Z)}
:
@[simp]
theorem
CategoryTheory.associator_inv_apply_2
{X Y Z : Type u}
{x : MonoidalCategoryStruct.tensorObj X (MonoidalCategoryStruct.tensorObj Y Z)}
:
noncomputable def
CategoryTheory.MonoidalFunctor.mapPi
{C : Type u_1}
[Category.{u_3, u_1} C]
[MonoidalCategory C]
(F : Functor (Type u_2) C)
[F.Monoidal]
(n : ℕ)
(β : Type u_2)
:
If F
is a monoidal functor out of Type
, it takes the (n+1)st cartesian power
of a type to the image of that type, tensored with the image of the nth cartesian power.
Equations
- CategoryTheory.MonoidalFunctor.mapPi F n β = F.mapIso (Fin.consEquiv fun (a : Fin (n + 1)) => β).symm.toIso ≪≫ (CategoryTheory.Functor.Monoidal.μIso F β (Fin n → β)).symm