Chosen finite products on sheaves #
In this file, we put a CartesianMonoidalCategory instance on A-valued sheaves for a
GrothendieckTopology whenever A has a CartesianMonoidalCategory instance.
theorem CategoryTheory.Sheaf.tensorProd_isSheaf {C : Type u₁} [Category.{v₁, u₁} C] {A : Type u₂} [Category.{v₂, u₂} A] (J : GrothendieckTopology C) [CartesianMonoidalCategory A] (X Y : Sheaf J A) :
theorem CategoryTheory.Sheaf.tensorUnit_isSheaf {C : Type u₁} [Category.{v₁, u₁} C] {A : Type u₂} [Category.{v₂, u₂} A] (J : GrothendieckTopology C) [CartesianMonoidalCategory A] :
instance CategoryTheory.Sheaf.instIsMonoidalFunctorOppositeIsSheaf {C : Type u₁} [Category.{v₁, u₁} C] {A : Type u₂} [Category.{v₂, u₂} A] (J : GrothendieckTopology C) [CartesianMonoidalCategory A] :
@[simp]
theorem CategoryTheory.Sheaf.cartesianMonoidalCategoryFst_hom {C : Type u₁} [Category.{v₁, u₁} C] {A : Type u₂} [Category.{v₂, u₂} A] (J : GrothendieckTopology C) [CartesianMonoidalCategory A] (X Y : Sheaf J A) :
@[simp]
theorem CategoryTheory.Sheaf.cartesianMonoidalCategorySnd_hom {C : Type u₁} [Category.{v₁, u₁} C] {A : Type u₂} [Category.{v₂, u₂} A] (J : GrothendieckTopology C) [CartesianMonoidalCategory A] (X Y : Sheaf J A) :
@[simp]
theorem CategoryTheory.Sheaf.cartesianMonoidalCategoryLift_hom {C : Type u₁} [Category.{v₁, u₁} C] {A : Type u₂} [Category.{v₂, u₂} A] (J : GrothendieckTopology C) [CartesianMonoidalCategory A] {X Y W : Sheaf J A} (f : W ⟶ X) (g : W ⟶ Y) :
theorem CategoryTheory.Sheaf.cartesianMonoidalCategoryWhiskerLeft_hom {C : Type u₁} [Category.{v₁, u₁} C] {A : Type u₂} [Category.{v₂, u₂} A] (J : GrothendieckTopology C) [CartesianMonoidalCategory A] {X W : Sheaf J A} (f : W ⟶ X) :
theorem CategoryTheory.Sheaf.cartesianMonoidalCategoryWhiskerRight_hom {C : Type u₁} [Category.{v₁, u₁} C] {A : Type u₂} [Category.{v₂, u₂} A] (J : GrothendieckTopology C) [CartesianMonoidalCategory A] {X W : Sheaf J A} (f : W ⟶ X) :
@[simp]
theorem CategoryTheory.sheafToPresheaf_ε {C : Type u₁} [Category.{v₁, u₁} C] {A : Type u₂} [Category.{v₂, u₂} A] (J : GrothendieckTopology C) [CartesianMonoidalCategory A] :
@[simp]
theorem CategoryTheory.sheafToPresheaf_η {C : Type u₁} [Category.{v₁, u₁} C] {A : Type u₂} [Category.{v₂, u₂} A] (J : GrothendieckTopology C) [CartesianMonoidalCategory A] :
Functor.OplaxMonoidal.η (sheafToPresheaf J A) = CategoryStruct.id ((sheafToPresheaf J A).obj (MonoidalCategoryStruct.tensorUnit (Sheaf J A)))
@[simp]
theorem CategoryTheory.sheafToPresheaf_μ {C : Type u₁} [Category.{v₁, u₁} C] {A : Type u₂} [Category.{v₂, u₂} A] {J : GrothendieckTopology C} [CartesianMonoidalCategory A] (X Y : Sheaf J A) :
Functor.LaxMonoidal.μ (sheafToPresheaf J A) X Y = CategoryStruct.id (MonoidalCategoryStruct.tensorObj ((sheafToPresheaf J A).obj X) ((sheafToPresheaf J A).obj Y))
@[simp]
theorem CategoryTheory.sheafToPresheaf_δ {C : Type u₁} [Category.{v₁, u₁} C] {A : Type u₂} [Category.{v₂, u₂} A] {J : GrothendieckTopology C} [CartesianMonoidalCategory A] (X Y : Sheaf J A) :
Functor.OplaxMonoidal.δ (sheafToPresheaf J A) X Y = CategoryStruct.id ((sheafToPresheaf J A).obj (MonoidalCategoryStruct.tensorObj X Y))