Monoidal structures on wide subcategories #
Given a monoidal category C and a morphism property P : MorphismProperty C,
this file introduces conditions on P ensuring that WideSubcategory P inherits
additional structures.
We define stability classes under associators, unitors, and braidings, and use
them to construct monoidal, braided, and symmetric structures on
WideSubcategory P.
class
CategoryTheory.MorphismProperty.IsStableUnderAssociator
{C : Type u_1}
[Category.{v_1, u_1} C]
[MonoidalCategory C]
(P : MorphismProperty C)
:
A morphism property stable under associator isomorphisms of a monoidal category.
- associator_hom_mem (c c' c'' : C) : P (MonoidalCategoryStruct.associator c c' c'').hom
- associator_inv_mem (c c' c'' : C) : P (MonoidalCategoryStruct.associator c c' c'').inv
Instances
class
CategoryTheory.MorphismProperty.IsStableUnderUnitor
{C : Type u_1}
[Category.{v_1, u_1} C]
[MonoidalCategory C]
(P : MorphismProperty C)
:
A morphism property stable under left and right unitor isomorphisms.
- leftUnitor_hom_mem (c : C) : P (MonoidalCategoryStruct.leftUnitor c).hom
- leftUnitor_inv_mem (c : C) : P (MonoidalCategoryStruct.leftUnitor c).inv
- rightUnitor_hom_mem (c : C) : P (MonoidalCategoryStruct.rightUnitor c).hom
- rightUnitor_inv_mem (c : C) : P (MonoidalCategoryStruct.rightUnitor c).inv
Instances
class
CategoryTheory.MorphismProperty.IsMonoidalStable
{C : Type u_1}
[Category.{v_1, u_1} C]
(P : MorphismProperty C)
[MonoidalCategory C]
extends P.IsMonoidal, P.IsStableUnderAssociator, P.IsStableUnderUnitor :
A morphism property stable under tensoring, associators, and unitors.
- whiskerLeft (X : C) {Y₁ Y₂ : C} (g : Y₁ ⟶ Y₂) (hg : P g) : P (MonoidalCategoryStruct.whiskerLeft X g)
- whiskerRight {X₁ X₂ : C} (f : X₁ ⟶ X₂) (hf : P f) (Y : C) : P (MonoidalCategoryStruct.whiskerRight f Y)
Instances
class
CategoryTheory.MorphismProperty.IsStableUnderBraiding
{C : Type u_1}
[Category.{v_1, u_1} C]
[MonoidalCategory C]
[BraidedCategory C]
(P : MorphismProperty C)
extends P.IsMonoidalStable :
A monoidal-stable morphism property also stable under braiding isomorphisms.
- whiskerLeft (X : C) {Y₁ Y₂ : C} (g : Y₁ ⟶ Y₂) (hg : P g) : P (MonoidalCategoryStruct.whiskerLeft X g)
- whiskerRight {X₁ X₂ : C} (f : X₁ ⟶ X₂) (hf : P f) (Y : C) : P (MonoidalCategoryStruct.whiskerRight f Y)
Instances
@[implicit_reducible]
instance
CategoryTheory.WideSubcategory.instMonoidalCategoryStruct
{C : Type u_1}
[Category.{v_1, u_1} C]
(P : MorphismProperty C)
[MonoidalCategory C]
[P.IsMonoidalStable]
:
Equations
- One or more equations did not get rendered due to their size.
@[simp]
theorem
CategoryTheory.WideSubcategory.tensorObj_obj
{C : Type u_1}
[Category.{v_1, u_1} C]
(P : MorphismProperty C)
[MonoidalCategory C]
[P.IsMonoidalStable]
(c c' : WideSubcategory P)
:
@[simp]
theorem
CategoryTheory.WideSubcategory.tensorUnit_obj
{C : Type u_1}
[Category.{v_1, u_1} C]
(P : MorphismProperty C)
[MonoidalCategory C]
[P.IsMonoidalStable]
:
@[simp]
theorem
CategoryTheory.WideSubcategory.tensorHom_hom
{C : Type u_1}
[Category.{v_1, u_1} C]
(P : MorphismProperty C)
[MonoidalCategory C]
[P.IsMonoidalStable]
{X₁✝ Y₁✝ X₂✝ Y₂✝ : WideSubcategory P}
(f : X₁✝ ⟶ Y₁✝)
(g : X₂✝ ⟶ Y₂✝)
:
@[simp]
theorem
CategoryTheory.WideSubcategory.rightUnitor_def
{C : Type u_1}
[Category.{v_1, u_1} C]
(P : MorphismProperty C)
[MonoidalCategory C]
[P.IsMonoidalStable]
(x✝ : WideSubcategory P)
:
@[simp]
theorem
CategoryTheory.WideSubcategory.associator_def
{C : Type u_1}
[Category.{v_1, u_1} C]
(P : MorphismProperty C)
[MonoidalCategory C]
[P.IsMonoidalStable]
(x✝ x✝¹ x✝² : WideSubcategory P)
:
MonoidalCategoryStruct.associator x✝ x✝¹ x✝² = isoMk (MonoidalCategoryStruct.associator x✝.obj x✝¹.obj x✝².obj) ⋯ ⋯
@[simp]
theorem
CategoryTheory.WideSubcategory.leftUnitor_def
{C : Type u_1}
[Category.{v_1, u_1} C]
(P : MorphismProperty C)
[MonoidalCategory C]
[P.IsMonoidalStable]
(x✝ : WideSubcategory P)
:
@[simp]
theorem
CategoryTheory.WideSubcategory.whiskerLeft_hom
{C : Type u_1}
[Category.{v_1, u_1} C]
(P : MorphismProperty C)
[MonoidalCategory C]
[P.IsMonoidalStable]
(c x✝ x✝¹ : WideSubcategory P)
(f : x✝ ⟶ x✝¹)
:
@[simp]
theorem
CategoryTheory.WideSubcategory.whiskerRight_hom
{C : Type u_1}
[Category.{v_1, u_1} C]
(P : MorphismProperty C)
[MonoidalCategory C]
[P.IsMonoidalStable]
{X₁✝ X₂✝ : WideSubcategory P}
(f : X₁✝ ⟶ X₂✝)
(c' : WideSubcategory P)
:
@[implicit_reducible]
instance
CategoryTheory.WideSubcategory.instMonoidalCategory
{C : Type u_1}
[Category.{v_1, u_1} C]
(P : MorphismProperty C)
[MonoidalCategory C]
[P.IsMonoidalStable]
:
Equations
- One or more equations did not get rendered due to their size.
@[implicit_reducible]
instance
CategoryTheory.WideSubcategory.instBraidedCategory
{C : Type u_1}
[Category.{v_1, u_1} C]
(P : MorphismProperty C)
[MonoidalCategory C]
[BraidedCategory C]
[P.IsStableUnderBraiding]
:
Equations
- One or more equations did not get rendered due to their size.
@[simp]
theorem
CategoryTheory.WideSubcategory.tensorμ_hom
{C : Type u_1}
[Category.{v_1, u_1} C]
{P : MorphismProperty C}
[MonoidalCategory C]
[BraidedCategory C]
[P.IsStableUnderBraiding]
(X Y Z T : WideSubcategory P)
:
@[implicit_reducible]
instance
CategoryTheory.WideSubcategory.instSymmetricCategory
{C : Type u_1}
[Category.{v_1, u_1} C]
(P : MorphismProperty C)
[MonoidalCategory C]
[SymmetricCategory C]
[P.IsStableUnderBraiding]
:
Equations
- CategoryTheory.WideSubcategory.instSymmetricCategory P = { toBraidedCategory := CategoryTheory.WideSubcategory.instBraidedCategory P, symmetry := ⋯ }