Monoids as discrete monoidal categories #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
The discrete category on a monoid is a monoidal category. Multiplicative morphisms induced monoidal functors.
@[simp]
theorem
discrete.add_monoidal_tensor_add_unit_as
(M : Type u)
[add_monoid M] :
(𝟙_ (category_theory.discrete M)).as = 0
@[simp]
theorem
category_theory.discrete.monoidal_tensor_unit_as
(M : Type u)
[monoid M] :
(𝟙_ (category_theory.discrete M)).as = 1
@[protected, instance]
Equations
- discrete.add_monoidal M = {tensor_obj := λ (X Y : category_theory.discrete M), {as := X.as + Y.as}, tensor_hom := λ (W X Y Z : category_theory.discrete M) (f : W ⟶ X) (g : Y ⟶ Z), category_theory.eq_to_hom _, tensor_id' := _, tensor_comp' := _, tensor_unit := {as := 0}, associator := λ (X Y Z : category_theory.discrete M), category_theory.discrete.eq_to_iso _, associator_naturality' := _, left_unitor := λ (X : category_theory.discrete M), category_theory.discrete.eq_to_iso _, left_unitor_naturality' := _, right_unitor := λ (X : category_theory.discrete M), category_theory.discrete.eq_to_iso _, right_unitor_naturality' := _, pentagon' := _, triangle' := _}
@[protected, instance]
Equations
- category_theory.discrete.monoidal M = {tensor_obj := λ (X Y : category_theory.discrete M), {as := X.as * Y.as}, tensor_hom := λ (W X Y Z : category_theory.discrete M) (f : W ⟶ X) (g : Y ⟶ Z), category_theory.eq_to_hom _, tensor_id' := _, tensor_comp' := _, tensor_unit := {as := 1}, associator := λ (X Y Z : category_theory.discrete M), category_theory.discrete.eq_to_iso _, associator_naturality' := _, left_unitor := λ (X : category_theory.discrete M), category_theory.discrete.eq_to_iso _, left_unitor_naturality' := _, right_unitor := λ (X : category_theory.discrete M), category_theory.discrete.eq_to_iso _, right_unitor_naturality' := _, pentagon' := _, triangle' := _}
@[simp]
theorem
discrete.add_monoidal_tensor_obj_as
(M : Type u)
[add_monoid M]
(X Y : category_theory.discrete M) :
def
category_theory.discrete.monoidal_functor
{M : Type u}
[monoid M]
{N : Type u}
[monoid N]
(F : M →* N) :
A multiplicative morphism between monoids gives a monoidal functor between the corresponding discrete monoidal categories.
Equations
- category_theory.discrete.monoidal_functor F = {to_lax_monoidal_functor := {to_functor := {obj := λ (X : category_theory.discrete M), {as := ⇑F X.as}, map := λ (X Y : category_theory.discrete M) (f : X ⟶ Y), category_theory.discrete.eq_to_hom _, map_id' := _, map_comp' := _}, ε := category_theory.discrete.eq_to_hom _, μ := λ (X Y : category_theory.discrete M), category_theory.discrete.eq_to_hom _, μ_natural' := _, associativity' := _, left_unitality' := _, right_unitality' := _}, ε_is_iso := _, μ_is_iso := _}
@[simp]
theorem
discrete.add_monoidal_functor_to_lax_monoidal_functor_ε
{M : Type u}
[add_monoid M]
{N : Type u}
[add_monoid N]
(F : M →+ N) :
@[simp]
theorem
category_theory.discrete.monoidal_functor_to_lax_monoidal_functor_μ
{M : Type u}
[monoid M]
{N : Type u}
[monoid N]
(F : M →* N)
(X Y : category_theory.discrete M) :
@[simp]
theorem
discrete.add_monoidal_functor_to_lax_monoidal_functor_to_functor_obj_as
{M : Type u}
[add_monoid M]
{N : Type u}
[add_monoid N]
(F : M →+ N)
(X : category_theory.discrete M) :
((discrete.add_monoidal_functor F).to_lax_monoidal_functor.to_functor.obj X).as = ⇑F X.as
@[simp]
theorem
discrete.add_monoidal_functor_to_lax_monoidal_functor_μ
{M : Type u}
[add_monoid M]
{N : Type u}
[add_monoid N]
(F : M →+ N)
(X Y : category_theory.discrete M) :
@[simp]
theorem
category_theory.discrete.monoidal_functor_to_lax_monoidal_functor_to_functor_obj_as
{M : Type u}
[monoid M]
{N : Type u}
[monoid N]
(F : M →* N)
(X : category_theory.discrete M) :
def
discrete.add_monoidal_functor
{M : Type u}
[add_monoid M]
{N : Type u}
[add_monoid N]
(F : M →+ N) :
An additive morphism between add_monoids gives a monoidal functor between the corresponding discrete monoidal categories.
Equations
- discrete.add_monoidal_functor F = {to_lax_monoidal_functor := {to_functor := {obj := λ (X : category_theory.discrete M), {as := ⇑F X.as}, map := λ (X Y : category_theory.discrete M) (f : X ⟶ Y), category_theory.discrete.eq_to_hom _, map_id' := _, map_comp' := _}, ε := category_theory.discrete.eq_to_hom _, μ := λ (X Y : category_theory.discrete M), category_theory.discrete.eq_to_hom _, μ_natural' := _, associativity' := _, left_unitality' := _, right_unitality' := _}, ε_is_iso := _, μ_is_iso := _}
@[simp]
theorem
discrete.add_monoidal_functor_to_lax_monoidal_functor_to_functor_map
{M : Type u}
[add_monoid M]
{N : Type u}
[add_monoid N]
(F : M →+ N)
(X Y : category_theory.discrete M)
(f : X ⟶ Y) :
@[simp]
theorem
category_theory.discrete.monoidal_functor_to_lax_monoidal_functor_to_functor_map
{M : Type u}
[monoid M]
{N : Type u}
[monoid N]
(F : M →* N)
(X Y : category_theory.discrete M)
(f : X ⟶ Y) :
def
discrete.add_monoidal_functor_comp
{M : Type u}
[add_monoid M]
{N : Type u}
[add_monoid N]
{K : Type u}
[add_monoid K]
(F : M →+ N)
(G : N →+ K) :
The monoidal natural isomorphism corresponding to composing two additive morphisms.
Equations
- discrete.add_monoidal_functor_comp F G = {hom := {to_nat_trans := {app := λ (X : category_theory.discrete M), 𝟙 ((discrete.add_monoidal_functor F ⊗⋙ discrete.add_monoidal_functor G).to_lax_monoidal_functor.to_functor.obj X), naturality' := _}, unit' := _, tensor' := _}, inv := {to_nat_trans := {app := λ (X : category_theory.discrete M), 𝟙 ((discrete.add_monoidal_functor (G.comp F)).to_lax_monoidal_functor.to_functor.obj X), naturality' := _}, unit' := _, tensor' := _}, hom_inv_id' := _, inv_hom_id' := _}
def
category_theory.discrete.monoidal_functor_comp
{M : Type u}
[monoid M]
{N : Type u}
[monoid N]
{K : Type u}
[monoid K]
(F : M →* N)
(G : N →* K) :
The monoidal natural isomorphism corresponding to composing two multiplicative morphisms.
Equations
- category_theory.discrete.monoidal_functor_comp F G = {hom := {to_nat_trans := {app := λ (X : category_theory.discrete M), 𝟙 ((category_theory.discrete.monoidal_functor F ⊗⋙ category_theory.discrete.monoidal_functor G).to_lax_monoidal_functor.to_functor.obj X), naturality' := _}, unit' := _, tensor' := _}, inv := {to_nat_trans := {app := λ (X : category_theory.discrete M), 𝟙 ((category_theory.discrete.monoidal_functor (G.comp F)).to_lax_monoidal_functor.to_functor.obj X), naturality' := _}, unit' := _, tensor' := _}, hom_inv_id' := _, inv_hom_id' := _}