Localization of symmetric monoidal categories #
Let C
be a monoidal category equipped with a class of morphisms W
which
is compatible with the monoidal category structure. The file
Mathlib.CategoryTheory.Localization.Monoidal.Basic
constructs a monoidal structure on
the localized on D
such that the localization functor is monoidal.
In this file we promote this monoidal structure to a braided structure in the case where C
is
braided, in such a way that the localization functor is braided. If C
is symmetric monoidal, then
the monoidal structure on D
is also symmetric.
instance
CategoryTheory.Localization.Monoidal.instIsLocalizationLocalizedMonoidalToMonoidalCategory_1
{C : Type u_1}
{D : Type u_2}
[Category.{u_3, u_1} C]
[Category.{u_4, u_2} D]
(L : Functor C D)
(W : MorphismProperty C)
[MonoidalCategory C]
[W.IsMonoidal]
[L.IsLocalization W]
{unit : D}
(ε : L.obj (MonoidalCategoryStruct.tensorUnit C) ≅ unit)
:
(toMonoidalCategory L W ε).IsLocalization W
noncomputable instance
CategoryTheory.Localization.Monoidal.instLifting₂LocalizedMonoidalToMonoidalCategoryCompFunctorFlipCurriedTensorObjWhiskeringRightTensorBifunctor
{C : Type u_1}
{D : Type u_2}
[Category.{u_3, u_1} C]
[Category.{u_4, u_2} D]
(L : Functor C D)
(W : MorphismProperty C)
[MonoidalCategory C]
[W.IsMonoidal]
[L.IsLocalization W]
{unit : D}
(ε : L.obj (MonoidalCategoryStruct.tensorUnit C) ≅ unit)
:
Lifting₂ (toMonoidalCategory L W ε) (toMonoidalCategory L W ε) W W
((MonoidalCategory.curriedTensor C).flip.comp
((Functor.whiskeringRight C C (LocalizedMonoidal L W ε)).obj (toMonoidalCategory L W ε)))
(tensorBifunctor L W ε).flip
Equations
- One or more equations did not get rendered due to their size.
noncomputable def
CategoryTheory.Localization.Monoidal.braidingNatIso
{C : Type u_1}
{D : Type u_2}
[Category.{u_3, u_1} C]
[Category.{u_4, u_2} D]
(L : Functor C D)
(W : MorphismProperty C)
[MonoidalCategory C]
[W.IsMonoidal]
[L.IsLocalization W]
{unit : D}
(ε : L.obj (MonoidalCategoryStruct.tensorUnit C) ≅ unit)
[BraidedCategory C]
:
The braiding on the localized category as a natural isomorphism of bifunctors.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
CategoryTheory.Localization.Monoidal.braidingNatIso_hom_app
{C : Type u_1}
{D : Type u_2}
[Category.{u_4, u_1} C]
[Category.{u_3, u_2} D]
(L : Functor C D)
(W : MorphismProperty C)
[MonoidalCategory C]
[W.IsMonoidal]
[L.IsLocalization W]
{unit : D}
(ε : L.obj (MonoidalCategoryStruct.tensorUnit C) ≅ unit)
[BraidedCategory C]
(X Y : C)
:
((braidingNatIso L W ε).hom.app ((toMonoidalCategory L W ε).obj X)).app ((toMonoidalCategory L W ε).obj Y) = CategoryStruct.comp (Functor.LaxMonoidal.μ (toMonoidalCategory L W ε) X Y)
(CategoryStruct.comp ((toMonoidalCategory L W ε).map (β_ X Y).hom)
(Functor.OplaxMonoidal.δ (toMonoidalCategory L W ε) Y X))
theorem
CategoryTheory.Localization.Monoidal.braidingNatIso_hom_app_naturality_μ_left
{C : Type u_1}
{D : Type u_2}
[Category.{u_4, u_1} C]
[Category.{u_3, u_2} D]
(L : Functor C D)
(W : MorphismProperty C)
[MonoidalCategory C]
[W.IsMonoidal]
[L.IsLocalization W]
{unit : D}
(ε : L.obj (MonoidalCategoryStruct.tensorUnit C) ≅ unit)
[BraidedCategory C]
(X Y Z : C)
:
CategoryStruct.comp
(((braidingNatIso L W ε).hom.app ((toMonoidalCategory L W ε).obj X)).app
(MonoidalCategoryStruct.tensorObj ((toMonoidalCategory L W ε).obj Y) ((toMonoidalCategory L W ε).obj Z)))
(MonoidalCategoryStruct.whiskerRight (Functor.LaxMonoidal.μ (toMonoidalCategory L W ε) Y Z)
((toMonoidalCategory L W ε).obj X)) = CategoryStruct.comp
(MonoidalCategoryStruct.whiskerLeft ((toMonoidalCategory L W ε).obj X)
(Functor.LaxMonoidal.μ (toMonoidalCategory L W ε) Y Z))
(((braidingNatIso L W ε).hom.app ((toMonoidalCategory L W ε).obj X)).app
((toMonoidalCategory L W ε).obj (MonoidalCategoryStruct.tensorObj Y Z)))
theorem
CategoryTheory.Localization.Monoidal.braidingNatIso_hom_app_naturality_μ_left_assoc
{C : Type u_1}
{D : Type u_2}
[Category.{u_4, u_1} C]
[Category.{u_3, u_2} D]
(L : Functor C D)
(W : MorphismProperty C)
[MonoidalCategory C]
[W.IsMonoidal]
[L.IsLocalization W]
{unit : D}
(ε : L.obj (MonoidalCategoryStruct.tensorUnit C) ≅ unit)
[BraidedCategory C]
(X Y Z : C)
{Z✝ : LocalizedMonoidal L W ε}
(h :
MonoidalCategoryStruct.tensorObj ((toMonoidalCategory L W ε).obj (MonoidalCategoryStruct.tensorObj Y Z))
((toMonoidalCategory L W ε).obj X) ⟶ Z✝)
:
CategoryStruct.comp
(((braidingNatIso L W ε).hom.app ((toMonoidalCategory L W ε).obj X)).app
(MonoidalCategoryStruct.tensorObj ((toMonoidalCategory L W ε).obj Y) ((toMonoidalCategory L W ε).obj Z)))
(CategoryStruct.comp
(MonoidalCategoryStruct.whiskerRight (Functor.LaxMonoidal.μ (toMonoidalCategory L W ε) Y Z)
((toMonoidalCategory L W ε).obj X))
h) = CategoryStruct.comp
(MonoidalCategoryStruct.whiskerLeft ((toMonoidalCategory L W ε).obj X)
(Functor.LaxMonoidal.μ (toMonoidalCategory L W ε) Y Z))
(CategoryStruct.comp
(((braidingNatIso L W ε).hom.app ((toMonoidalCategory L W ε).obj X)).app
((toMonoidalCategory L W ε).obj (MonoidalCategoryStruct.tensorObj Y Z)))
h)
theorem
CategoryTheory.Localization.Monoidal.braidingNatIso_hom_app_naturality_μ_right
{C : Type u_1}
{D : Type u_2}
[Category.{u_4, u_1} C]
[Category.{u_3, u_2} D]
(L : Functor C D)
(W : MorphismProperty C)
[MonoidalCategory C]
[W.IsMonoidal]
[L.IsLocalization W]
{unit : D}
(ε : L.obj (MonoidalCategoryStruct.tensorUnit C) ≅ unit)
[BraidedCategory C]
(X Y Z : C)
:
CategoryStruct.comp
(((braidingNatIso L W ε).hom.app
(MonoidalCategoryStruct.tensorObj ((toMonoidalCategory L W ε).obj X) ((toMonoidalCategory L W ε).obj Y))).app
((toMonoidalCategory L W ε).obj Z))
(MonoidalCategoryStruct.whiskerLeft ((toMonoidalCategory L W ε).obj Z)
(Functor.LaxMonoidal.μ (toMonoidalCategory L W ε) X Y)) = CategoryStruct.comp
(MonoidalCategoryStruct.whiskerRight (Functor.LaxMonoidal.μ (toMonoidalCategory L W ε) X Y)
((toMonoidalCategory L W ε).obj Z))
(((braidingNatIso L W ε).hom.app ((toMonoidalCategory L W ε).obj (MonoidalCategoryStruct.tensorObj X Y))).app
((toMonoidalCategory L W ε).obj Z))
theorem
CategoryTheory.Localization.Monoidal.braidingNatIso_hom_app_naturality_μ_right_assoc
{C : Type u_1}
{D : Type u_2}
[Category.{u_4, u_1} C]
[Category.{u_3, u_2} D]
(L : Functor C D)
(W : MorphismProperty C)
[MonoidalCategory C]
[W.IsMonoidal]
[L.IsLocalization W]
{unit : D}
(ε : L.obj (MonoidalCategoryStruct.tensorUnit C) ≅ unit)
[BraidedCategory C]
(X Y Z : C)
{Z✝ : LocalizedMonoidal L W ε}
(h :
MonoidalCategoryStruct.tensorObj ((toMonoidalCategory L W ε).obj Z)
((toMonoidalCategory L W ε).obj (MonoidalCategoryStruct.tensorObj X Y)) ⟶ Z✝)
:
CategoryStruct.comp
(((braidingNatIso L W ε).hom.app
(MonoidalCategoryStruct.tensorObj ((toMonoidalCategory L W ε).obj X) ((toMonoidalCategory L W ε).obj Y))).app
((toMonoidalCategory L W ε).obj Z))
(CategoryStruct.comp
(MonoidalCategoryStruct.whiskerLeft ((toMonoidalCategory L W ε).obj Z)
(Functor.LaxMonoidal.μ (toMonoidalCategory L W ε) X Y))
h) = CategoryStruct.comp
(MonoidalCategoryStruct.whiskerRight (Functor.LaxMonoidal.μ (toMonoidalCategory L W ε) X Y)
((toMonoidalCategory L W ε).obj Z))
(CategoryStruct.comp
(((braidingNatIso L W ε).hom.app ((toMonoidalCategory L W ε).obj (MonoidalCategoryStruct.tensorObj X Y))).app
((toMonoidalCategory L W ε).obj Z))
h)
theorem
CategoryTheory.Localization.Monoidal.map_hexagon_forward
{C : Type u_1}
{D : Type u_2}
[Category.{u_4, u_1} C]
[Category.{u_3, u_2} D]
(L : Functor C D)
(W : MorphismProperty C)
[MonoidalCategory C]
[W.IsMonoidal]
[L.IsLocalization W]
{unit : D}
(ε : L.obj (MonoidalCategoryStruct.tensorUnit C) ≅ unit)
[BraidedCategory C]
(X Y Z : C)
:
CategoryStruct.comp
(MonoidalCategoryStruct.associator ((toMonoidalCategory L W ε).obj X) ((toMonoidalCategory L W ε).obj Y)
((toMonoidalCategory L W ε).obj Z)).hom
(CategoryStruct.comp
(((braidingNatIso L W ε).app ((toMonoidalCategory L W ε).obj X)).app
(MonoidalCategoryStruct.tensorObj ((toMonoidalCategory L W ε).obj Y) ((toMonoidalCategory L W ε).obj Z))).hom
(MonoidalCategoryStruct.associator ((toMonoidalCategory L W ε).obj Y) ((toMonoidalCategory L W ε).obj Z)
((toMonoidalCategory L W ε).obj X)).hom) = CategoryStruct.comp
(MonoidalCategoryStruct.whiskerRight
(((braidingNatIso L W ε).app ((toMonoidalCategory L W ε).obj X)).app ((toMonoidalCategory L W ε).obj Y)).hom
((toMonoidalCategory L W ε).obj Z))
(CategoryStruct.comp
(MonoidalCategoryStruct.associator ((toMonoidalCategory L W ε).obj Y) ((toMonoidalCategory L W ε).obj X)
((toMonoidalCategory L W ε).obj Z)).hom
(MonoidalCategoryStruct.whiskerLeft ((toMonoidalCategory L W ε).obj Y)
(((braidingNatIso L W ε).app ((toMonoidalCategory L W ε).obj X)).app ((toMonoidalCategory L W ε).obj Z)).hom))
theorem
CategoryTheory.Localization.Monoidal.map_hexagon_forward_assoc
{C : Type u_1}
{D : Type u_2}
[Category.{u_4, u_1} C]
[Category.{u_3, u_2} D]
(L : Functor C D)
(W : MorphismProperty C)
[MonoidalCategory C]
[W.IsMonoidal]
[L.IsLocalization W]
{unit : D}
(ε : L.obj (MonoidalCategoryStruct.tensorUnit C) ≅ unit)
[BraidedCategory C]
(X Y Z : C)
{Z✝ : LocalizedMonoidal L W ε}
(h :
MonoidalCategoryStruct.tensorObj ((toMonoidalCategory L W ε).obj Y)
(MonoidalCategoryStruct.tensorObj ((toMonoidalCategory L W ε).obj Z) ((toMonoidalCategory L W ε).obj X)) ⟶ Z✝)
:
CategoryStruct.comp
(MonoidalCategoryStruct.associator ((toMonoidalCategory L W ε).obj X) ((toMonoidalCategory L W ε).obj Y)
((toMonoidalCategory L W ε).obj Z)).hom
(CategoryStruct.comp
(((braidingNatIso L W ε).app ((toMonoidalCategory L W ε).obj X)).app
(MonoidalCategoryStruct.tensorObj ((toMonoidalCategory L W ε).obj Y) ((toMonoidalCategory L W ε).obj Z))).hom
(CategoryStruct.comp
(MonoidalCategoryStruct.associator ((toMonoidalCategory L W ε).obj Y) ((toMonoidalCategory L W ε).obj Z)
((toMonoidalCategory L W ε).obj X)).hom
h)) = CategoryStruct.comp
(MonoidalCategoryStruct.whiskerRight
(((braidingNatIso L W ε).app ((toMonoidalCategory L W ε).obj X)).app ((toMonoidalCategory L W ε).obj Y)).hom
((toMonoidalCategory L W ε).obj Z))
(CategoryStruct.comp
(MonoidalCategoryStruct.associator ((toMonoidalCategory L W ε).obj Y) ((toMonoidalCategory L W ε).obj X)
((toMonoidalCategory L W ε).obj Z)).hom
(CategoryStruct.comp
(MonoidalCategoryStruct.whiskerLeft ((toMonoidalCategory L W ε).obj Y)
(((braidingNatIso L W ε).app ((toMonoidalCategory L W ε).obj X)).app ((toMonoidalCategory L W ε).obj Z)).hom)
h))
theorem
CategoryTheory.Localization.Monoidal.map_hexagon_reverse
{C : Type u_1}
{D : Type u_2}
[Category.{u_4, u_1} C]
[Category.{u_3, u_2} D]
(L : Functor C D)
(W : MorphismProperty C)
[MonoidalCategory C]
[W.IsMonoidal]
[L.IsLocalization W]
{unit : D}
(ε : L.obj (MonoidalCategoryStruct.tensorUnit C) ≅ unit)
[BraidedCategory C]
(X Y Z : C)
:
CategoryStruct.comp
(MonoidalCategoryStruct.associator ((toMonoidalCategory L W ε).obj X) ((toMonoidalCategory L W ε).obj Y)
((toMonoidalCategory L W ε).obj Z)).inv
(CategoryStruct.comp
(((braidingNatIso L W ε).app
(MonoidalCategoryStruct.tensorObj ((toMonoidalCategory L W ε).obj X)
((toMonoidalCategory L W ε).obj Y))).app
((toMonoidalCategory L W ε).obj Z)).hom
(MonoidalCategoryStruct.associator ((toMonoidalCategory L W ε).obj Z) ((toMonoidalCategory L W ε).obj X)
((toMonoidalCategory L W ε).obj Y)).inv) = CategoryStruct.comp
(MonoidalCategoryStruct.whiskerLeft ((toMonoidalCategory L W ε).obj X)
(((braidingNatIso L W ε).app ((toMonoidalCategory L W ε).obj Y)).app ((toMonoidalCategory L W ε).obj Z)).hom)
(CategoryStruct.comp
(MonoidalCategoryStruct.associator ((toMonoidalCategory L W ε).obj X) ((toMonoidalCategory L W ε).obj Z)
((toMonoidalCategory L W ε).obj Y)).inv
(MonoidalCategoryStruct.whiskerRight
(((braidingNatIso L W ε).app ((toMonoidalCategory L W ε).obj X)).app ((toMonoidalCategory L W ε).obj Z)).hom
((toMonoidalCategory L W ε).obj Y)))
theorem
CategoryTheory.Localization.Monoidal.map_hexagon_reverse_assoc
{C : Type u_1}
{D : Type u_2}
[Category.{u_4, u_1} C]
[Category.{u_3, u_2} D]
(L : Functor C D)
(W : MorphismProperty C)
[MonoidalCategory C]
[W.IsMonoidal]
[L.IsLocalization W]
{unit : D}
(ε : L.obj (MonoidalCategoryStruct.tensorUnit C) ≅ unit)
[BraidedCategory C]
(X Y Z : C)
{Z✝ : LocalizedMonoidal L W ε}
(h :
MonoidalCategoryStruct.tensorObj
(MonoidalCategoryStruct.tensorObj ((toMonoidalCategory L W ε).obj Z) ((toMonoidalCategory L W ε).obj X))
((toMonoidalCategory L W ε).obj Y) ⟶ Z✝)
:
CategoryStruct.comp
(MonoidalCategoryStruct.associator ((toMonoidalCategory L W ε).obj X) ((toMonoidalCategory L W ε).obj Y)
((toMonoidalCategory L W ε).obj Z)).inv
(CategoryStruct.comp
(((braidingNatIso L W ε).app
(MonoidalCategoryStruct.tensorObj ((toMonoidalCategory L W ε).obj X)
((toMonoidalCategory L W ε).obj Y))).app
((toMonoidalCategory L W ε).obj Z)).hom
(CategoryStruct.comp
(MonoidalCategoryStruct.associator ((toMonoidalCategory L W ε).obj Z) ((toMonoidalCategory L W ε).obj X)
((toMonoidalCategory L W ε).obj Y)).inv
h)) = CategoryStruct.comp
(MonoidalCategoryStruct.whiskerLeft ((toMonoidalCategory L W ε).obj X)
(((braidingNatIso L W ε).app ((toMonoidalCategory L W ε).obj Y)).app ((toMonoidalCategory L W ε).obj Z)).hom)
(CategoryStruct.comp
(MonoidalCategoryStruct.associator ((toMonoidalCategory L W ε).obj X) ((toMonoidalCategory L W ε).obj Z)
((toMonoidalCategory L W ε).obj Y)).inv
(CategoryStruct.comp
(MonoidalCategoryStruct.whiskerRight
(((braidingNatIso L W ε).app ((toMonoidalCategory L W ε).obj X)).app ((toMonoidalCategory L W ε).obj Z)).hom
((toMonoidalCategory L W ε).obj Y))
h))
noncomputable instance
CategoryTheory.Localization.Monoidal.instBraidedCategoryLocalizedMonoidal
{C : Type u_1}
{D : Type u_2}
[Category.{u_3, u_1} C]
[Category.{u_4, u_2} D]
(L : Functor C D)
(W : MorphismProperty C)
[MonoidalCategory C]
[W.IsMonoidal]
[L.IsLocalization W]
{unit : D}
(ε : L.obj (MonoidalCategoryStruct.tensorUnit C) ≅ unit)
[BraidedCategory C]
:
BraidedCategory (LocalizedMonoidal L W ε)
theorem
CategoryTheory.Localization.Monoidal.β_hom_app
{C : Type u_1}
{D : Type u_2}
[Category.{u_4, u_1} C]
[Category.{u_3, u_2} D]
(L : Functor C D)
(W : MorphismProperty C)
[MonoidalCategory C]
[W.IsMonoidal]
[L.IsLocalization W]
{unit : D}
(ε : L.obj (MonoidalCategoryStruct.tensorUnit C) ≅ unit)
[BraidedCategory C]
(X Y : C)
:
(β_ ((toMonoidalCategory L W ε).obj X) ((toMonoidalCategory L W ε).obj Y)).hom = CategoryStruct.comp (Functor.LaxMonoidal.μ (toMonoidalCategory L W ε) X Y)
(CategoryStruct.comp ((toMonoidalCategory L W ε).map (β_ X Y).hom)
(Functor.OplaxMonoidal.δ (toMonoidalCategory L W ε) Y X))
noncomputable instance
CategoryTheory.Localization.Monoidal.instBraidedLocalizedMonoidalToMonoidalCategory
{C : Type u_1}
{D : Type u_2}
[Category.{u_3, u_1} C]
[Category.{u_4, u_2} D]
(L : Functor C D)
(W : MorphismProperty C)
[MonoidalCategory C]
[W.IsMonoidal]
[L.IsLocalization W]
{unit : D}
(ε : L.obj (MonoidalCategoryStruct.tensorUnit C) ≅ unit)
[BraidedCategory C]
:
(toMonoidalCategory L W ε).Braided
Equations
- CategoryTheory.Localization.Monoidal.instBraidedLocalizedMonoidalToMonoidalCategory L W ε = { toMonoidal := CategoryTheory.instMonoidalLocalizedMonoidalToMonoidalCategory L W ε, braided := ⋯ }
noncomputable instance
CategoryTheory.Localization.Monoidal.instSymmetricCategoryLocalizedMonoidal
{C : Type u_1}
{D : Type u_2}
[Category.{u_3, u_1} C]
[Category.{u_4, u_2} D]
(L : Functor C D)
(W : MorphismProperty C)
[MonoidalCategory C]
[W.IsMonoidal]
[L.IsLocalization W]
{unit : D}
(ε : L.obj (MonoidalCategoryStruct.tensorUnit C) ≅ unit)
[SymmetricCategory C]
:
SymmetricCategory (LocalizedMonoidal L W ε)