Monoidal opposites #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
We write Cᵐᵒᵖ
for the monoidal opposite of a monoidal category C
.
@[nolint, irreducible]
A type synonym for the monoidal opposite. Use the notation Cᴹᵒᵖ
.
Instances for category_theory.monoidal_opposite
Think of an object of C
as an object of Cᴹᵒᵖ
.
Equations
Think of an object of Cᴹᵒᵖ
as an object of C
.
Equations
@[simp]
@[simp]
@[simp]
@[simp]
@[protected, instance]
def
category_theory.monoidal_opposite.monoidal_opposite_category
{C : Type u₁}
[I : category_theory.category C] :
Equations
- category_theory.monoidal_opposite.monoidal_opposite_category = {to_category_struct := {to_quiver := {hom := λ (X Y : Cᴹᵒᵖ), category_theory.monoidal_opposite.unmop X ⟶ category_theory.monoidal_opposite.unmop Y}, id := λ (X : Cᴹᵒᵖ), 𝟙 (category_theory.monoidal_opposite.unmop X), comp := λ (X Y Z : Cᴹᵒᵖ) (f : X ⟶ Y) (g : Y ⟶ Z), f ≫ g}, id_comp' := _, comp_id' := _, assoc' := _}
The monoidal opposite of a morphism f : X ⟶ Y
is just f
, thought of as mop X ⟶ mop Y
.
We can think of a morphism f : mop X ⟶ mop Y
as a morphism X ⟶ Y
.
@[simp]
theorem
category_theory.unmop_mop
{C : Type u₁}
[category_theory.category C]
{X Y : C}
{f : X ⟶ Y} :
@[simp]
theorem
category_theory.mop_unmop
{C : Type u₁}
[category_theory.category C]
{X Y : Cᴹᵒᵖ}
{f : X ⟶ Y} :
@[simp]
theorem
category_theory.mop_id
{C : Type u₁}
[category_theory.category C]
{X : C} :
(𝟙 X).mop = 𝟙 (category_theory.monoidal_opposite.mop X)
@[simp]
theorem
category_theory.unmop_id
{C : Type u₁}
[category_theory.category C]
{X : Cᴹᵒᵖ} :
(𝟙 X).unmop = 𝟙 (category_theory.monoidal_opposite.unmop X)
@[simp]
theorem
category_theory.unmop_id_mop
{C : Type u₁}
[category_theory.category C]
{X : C} :
(𝟙 (category_theory.monoidal_opposite.mop X)).unmop = 𝟙 X
@[simp]
theorem
category_theory.mop_id_unmop
{C : Type u₁}
[category_theory.category C]
{X : Cᴹᵒᵖ} :
(𝟙 (category_theory.monoidal_opposite.unmop X)).mop = 𝟙 X
An isomorphism in C
gives an isomorphism in Cᴹᵒᵖ
.
@[simp]
theorem
category_theory.iso.mop_inv
{C : Type u₁}
[category_theory.category C]
{X Y : C}
(f : X ≅ Y) :
@[simp]
theorem
category_theory.iso.mop_hom
{C : Type u₁}
[category_theory.category C]
{X Y : C}
(f : X ≅ Y) :
@[protected, instance]
def
category_theory.monoidal_category_op
{C : Type u₁}
[category_theory.category C]
[category_theory.monoidal_category C] :
Equations
- category_theory.monoidal_category_op = {tensor_obj := λ (X Y : Cᵒᵖ), opposite.op (opposite.unop X ⊗ opposite.unop Y), tensor_hom := λ (X₁ Y₁ X₂ Y₂ : Cᵒᵖ) (f : X₁ ⟶ Y₁) (g : X₂ ⟶ Y₂), (f.unop ⊗ g.unop).op, tensor_id' := _, tensor_comp' := _, tensor_unit := opposite.op (𝟙_ C), associator := λ (X Y Z : Cᵒᵖ), (α_ (opposite.unop X) (opposite.unop Y) (opposite.unop Z)).symm.op, associator_naturality' := _, left_unitor := λ (X : Cᵒᵖ), (λ_ (opposite.unop X)).symm.op, left_unitor_naturality' := _, right_unitor := λ (X : Cᵒᵖ), (ρ_ (opposite.unop X)).symm.op, right_unitor_naturality' := _, pentagon' := _, triangle' := _}
theorem
category_theory.op_tensor_obj
{C : Type u₁}
[category_theory.category C]
[category_theory.monoidal_category C]
(X Y : Cᵒᵖ) :
X ⊗ Y = opposite.op (opposite.unop X ⊗ opposite.unop Y)
theorem
category_theory.op_tensor_unit
{C : Type u₁}
[category_theory.category C]
[category_theory.monoidal_category C] :
𝟙_ Cᵒᵖ = opposite.op (𝟙_ C)
@[protected, instance]
def
category_theory.monoidal_category_mop
{C : Type u₁}
[category_theory.category C]
[category_theory.monoidal_category C] :
Equations
- category_theory.monoidal_category_mop = {tensor_obj := λ (X Y : Cᴹᵒᵖ), category_theory.monoidal_opposite.mop (category_theory.monoidal_opposite.unmop Y ⊗ category_theory.monoidal_opposite.unmop X), tensor_hom := λ (X₁ Y₁ X₂ Y₂ : Cᴹᵒᵖ) (f : X₁ ⟶ Y₁) (g : X₂ ⟶ Y₂), (g.unmop ⊗ f.unmop).mop, tensor_id' := _, tensor_comp' := _, tensor_unit := category_theory.monoidal_opposite.mop (𝟙_ C), associator := λ (X Y Z : Cᴹᵒᵖ), (α_ (category_theory.monoidal_opposite.unmop Z) (category_theory.monoidal_opposite.unmop Y) (category_theory.monoidal_opposite.unmop X)).symm.mop, associator_naturality' := _, left_unitor := λ (X : Cᴹᵒᵖ), (ρ_ (category_theory.monoidal_opposite.unmop X)).mop, left_unitor_naturality' := _, right_unitor := λ (X : Cᴹᵒᵖ), (λ_ (category_theory.monoidal_opposite.unmop X)).mop, right_unitor_naturality' := _, pentagon' := _, triangle' := _}
theorem
category_theory.mop_tensor_obj
{C : Type u₁}
[category_theory.category C]
[category_theory.monoidal_category C]
(X Y : Cᴹᵒᵖ) :
theorem
category_theory.mop_tensor_unit
{C : Type u₁}
[category_theory.category C]
[category_theory.monoidal_category C] :