Chosen finite products in Cat
#
This file proves that the cartesian product of a pair of categories agrees with the
product in Cat
, and provides the associated ChosenFiniteProducts
instance.
@[reducible, inline]
The chosen terminal object in Cat
.
Equations
Instances For
The chosen terminal object in Cat
is terminal.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The chosen product of categories C × D
yields a product cone in Cat
.
Equations
- C.prodCone D = CategoryTheory.Limits.BinaryFan.mk (CategoryTheory.Prod.fst ↑C ↑D) (CategoryTheory.Prod.snd ↑C ↑D)
Instances For
The product cone in Cat
is indeed a product.
Equations
- X.isLimitProdCone Y = CategoryTheory.Limits.BinaryFan.isLimitMk (fun (S : CategoryTheory.Limits.BinaryFan X Y) => CategoryTheory.Functor.prod' S.fst S.snd) ⋯ ⋯ ⋯
Instances For
Equations
- One or more equations did not get rendered due to their size.
theorem
CategoryTheory.Monoidal.tensorObj
(C D : Cat)
:
MonoidalCategoryStruct.tensorObj C D = Cat.of (↑C × ↑D)
theorem
CategoryTheory.Monoidal.whiskerLeft
(X : Cat)
{A B : Cat}
(f : A ⟶ B)
:
MonoidalCategoryStruct.whiskerLeft X f = (Functor.id ↑X).prod f
theorem
CategoryTheory.Monoidal.whiskerLeft_fst
(X : Cat)
{A B : Cat}
(f : A ⟶ B)
:
Functor.comp (MonoidalCategoryStruct.whiskerLeft X f) (Prod.fst ↑X ↑B) = Prod.fst ↑X ↑A
theorem
CategoryTheory.Monoidal.whiskerLeft_snd
(X : Cat)
{A B : Cat}
(f : A ⟶ B)
:
Functor.comp (MonoidalCategoryStruct.whiskerLeft X f) (Prod.snd ↑X ↑B) = (Prod.snd ↑X ↑A).comp f
theorem
CategoryTheory.Monoidal.whiskerRight_fst
{A B : Cat}
(f : A ⟶ B)
(X : Cat)
:
Functor.comp (MonoidalCategoryStruct.whiskerRight f X) (Prod.fst ↑B ↑X) = (Prod.fst ↑A ↑X).comp f
theorem
CategoryTheory.Monoidal.whiskerRight_snd
{A B : Cat}
(f : A ⟶ B)
(X : Cat)
:
Functor.comp (MonoidalCategoryStruct.whiskerRight f X) (Prod.snd ↑B ↑X) = Prod.snd ↑A ↑X
theorem
CategoryTheory.Monoidal.leftUnitor_hom
(C : Cat)
:
(MonoidalCategoryStruct.leftUnitor C).hom = Prod.snd ↑(𝟙_ Cat) ↑C
theorem
CategoryTheory.Monoidal.leftUnitor_inv
(C : Cat)
:
(MonoidalCategoryStruct.leftUnitor C).inv = Prod.sectR { down := { as := PUnit.unit } } ↑C
theorem
CategoryTheory.Monoidal.rightUnitor_hom
(C : Cat)
:
(MonoidalCategoryStruct.rightUnitor C).hom = Prod.fst ↑C ↑(𝟙_ Cat)
theorem
CategoryTheory.Monoidal.rightUnitor_inv
(C : Cat)
:
(MonoidalCategoryStruct.rightUnitor C).inv = Prod.sectL ↑C { down := { as := PUnit.unit } }