Braided and symmetric monoidal categories
The basic definitions of braided monoidal categories, and symmetric monoidal categories, as well as braided functors.
Implementation note
We make braided_monoidal_category
another typeclass, but then have symmetric_monoidal_category
extend this. The rationale is that we are not carrying any additional data,
just requiring a property.
Future work
- Construct the Drinfeld center of a monoidal category as a braided monoidal category.
- Say something about pseudo-natural transformations.
- braiding : Π (X Y : C), X ⊗ Y ≅ Y ⊗ X
- braiding_naturality' : (∀ {X X' Y Y' : C} (f : X ⟶ Y) (g : X' ⟶ Y'), (f ⊗ g) ≫ (β_ Y Y').hom = (β_ X X').hom ≫ (g ⊗ f)) . "obviously"
- hexagon_forward' : (∀ (X Y Z : C), (α_ X Y Z).hom ≫ (β_ X (Y ⊗ Z)).hom ≫ (α_ Y Z X).hom = ((β_ X Y).hom ⊗ 𝟙 Z) ≫ (α_ Y X Z).hom ≫ (𝟙 Y ⊗ (β_ X Z).hom)) . "obviously"
- hexagon_reverse' : (∀ (X Y Z : C), (α_ X Y Z).inv ≫ (β_ (X ⊗ Y) Z).hom ≫ (α_ Z X Y).inv = (𝟙 X ⊗ (β_ Y Z).hom) ≫ (α_ X Z Y).inv ≫ ((β_ X Z).hom ⊗ 𝟙 Y)) . "obviously"
A braided monoidal category is a monoidal category equipped with a braiding isomorphism
β_ X Y : X ⊗ Y ≅ Y ⊗ X
which is natural in both arguments,
and also satisfies the two hexagon identities.
We now establish how the braiding interacts with the unitors.
I couldn't find a detailed proof in print, but this is discussed in:
- Proposition 1 of André Joyal and Ross Street, "Braided monoidal categories", Macquarie Math Reports 860081 (1986).
- Proposition 2.1 of André Joyal and Ross Street, "Braided tensor categories" , Adv. Math. 102 (1993), 20–78.
- Exercise 8.1.6 of Etingof, Gelaki, Nikshych, Ostrik, "Tensor categories", vol 25, Mathematical Surveys and Monographs (2015), AMS.
- to_braided_category : category_theory.braided_category C
- symmetry' : (∀ (X Y : C), (β_ X Y).hom ≫ (β_ Y X).hom = 𝟙 (X ⊗ Y)) . "obviously"
A symmetric monoidal category is a braided monoidal category for which the braiding is symmetric.
See https://stacks.math.columbia.edu/tag/0FFW.
- to_lax_monoidal_functor : category_theory.lax_monoidal_functor C D
- braided' : (∀ (X Y : C), c.to_lax_monoidal_functor.μ X Y ≫ c.to_lax_monoidal_functor.to_functor.map (β_ X Y).hom = (β_ (c.to_lax_monoidal_functor.to_functor.obj X) (c.to_lax_monoidal_functor.to_functor.obj Y)).hom ≫ c.to_lax_monoidal_functor.μ Y X) . "obviously"
A lax braided functor between braided monoidal categories is a lax monoidal functor which preserves the braiding.
The identity lax braided monoidal functor.
Equations
The composition of lax braided monoidal functors.
Equations
- F.comp G = {to_lax_monoidal_functor := {to_functor := (F.to_lax_monoidal_functor ⊗⋙ G.to_lax_monoidal_functor).to_functor, ε := (F.to_lax_monoidal_functor ⊗⋙ G.to_lax_monoidal_functor).ε, μ := (F.to_lax_monoidal_functor ⊗⋙ G.to_lax_monoidal_functor).μ, μ_natural' := _, associativity' := _, left_unitality' := _, right_unitality' := _}, braided' := _}
Interpret a natural isomorphism of the underlyling lax monoidal functors as an isomorphism of the lax braided monoidal functors.
Equations
- category_theory.lax_braided_functor.mk_iso i = {hom := i.hom, inv := i.inv, hom_inv_id' := _, inv_hom_id' := _}
- to_monoidal_functor : category_theory.monoidal_functor C D
- braided' : (∀ (X Y : C), c.to_monoidal_functor.to_lax_monoidal_functor.to_functor.map (β_ X Y).hom = category_theory.is_iso.inv (c.to_monoidal_functor.to_lax_monoidal_functor.μ X Y) ≫ (β_ (c.to_monoidal_functor.to_lax_monoidal_functor.to_functor.obj X) (c.to_monoidal_functor.to_lax_monoidal_functor.to_functor.obj Y)).hom ≫ c.to_monoidal_functor.to_lax_monoidal_functor.μ Y X) . "obviously"
A braided functor between braided monoidal categories is a monoidal functor which preserves the braiding.
Turn a braided functor into a lax braided functor.
Equations
The identity braided monoidal functor.
Equations
Equations
The composition of braided monoidal functors.
Equations
- F.comp G = {to_monoidal_functor := {to_lax_monoidal_functor := (F.to_monoidal_functor ⊗⋙ G.to_monoidal_functor).to_lax_monoidal_functor, ε_is_iso := (F.to_monoidal_functor ⊗⋙ G.to_monoidal_functor).ε_is_iso, μ_is_iso := (F.to_monoidal_functor ⊗⋙ G.to_monoidal_functor).μ_is_iso}, braided' := _}
Interpret a natural isomorphism of the underlyling monoidal functors as an isomorphism of the braided monoidal functors.
Equations
- category_theory.braided_functor.mk_iso i = {hom := i.hom, inv := i.inv, hom_inv_id' := _, inv_hom_id' := _}
Equations
- category_theory.comm_monoid_discrete M = id _inst_10
Equations
- category_theory.category_theory.braided_category M = {braiding := λ (X Y : category_theory.discrete M), category_theory.eq_to_iso _, braiding_naturality' := _, hexagon_forward' := _, hexagon_reverse' := _}
A multiplicative morphism between commutative monoids gives a braided functor between the corresponding discrete braided monoidal categories.
Equations
- category_theory.discrete.braided_functor F = {to_monoidal_functor := {to_lax_monoidal_functor := (category_theory.discrete.monoidal_functor F).to_lax_monoidal_functor, ε_is_iso := (category_theory.discrete.monoidal_functor F).ε_is_iso, μ_is_iso := (category_theory.discrete.monoidal_functor F).μ_is_iso}, braided' := _}