Functors that are linear with respect to an action #
Given a monoidal category C
acting on the left or on the right on categories
D
and D'
, we introduce the following typeclasses on functors F : D ⥤ D'
to
express compatibility of F
with the action of C
:
F.LaxLeftLinear C
bundles the "lineator" as a morphismμₗ : c ⊙ₗ F.obj d ⟶ F.obj (c ⊙ₗ d)
.F.LaxRightLinear C
bundles the "lineator" as a morphismμᵣ : F.obj d ⊙ᵣ c ⟶ F.obj (d ⊙ᵣ c)
.F.OplaxLeftLinear C
bundles the "lineator" as a morphismδₗ : F.obj (c ⊙ₗ d) ⟶ c ⊙ₗ F.obj d
.F.OplaxRightLinear C
bundles the "lineator" as a morphismδᵣ : F.obj (d ⊙ᵣ d) ⟶ F.obj d ⊙ᵣ c
.F.LeftLinear C
expresses thatF
has both aLaxLeftLinear C
and anF.OplaxLeftLinear C
structure, and that they are compatible, i.eδₗ F
is a left and right inverse toμₗ
.F.RightLinear C
expresses thatF
has both aLaxRightLinear C
and anF.OplaxRightLinear C
structure, and that they are compatible, i.eδᵣ F
is a left and right inverse toμᵣ
.
F.LaxLinear C
equips F : D ⥤ D'
with a family of morphisms
μₗ F : ∀ (c : C) (d : D), c ⊙ₗ F.obj d ⟶ F.obj (c ⊙ₗ d)
that is natural in each variable and coherent with respect to left actions
of C
on D
and D'
.
- μₗ (c : C) (d : D) : MonoidalCategory.MonoidalLeftActionStruct.actionObj c (F.obj d) ⟶ F.obj (MonoidalCategory.MonoidalLeftActionStruct.actionObj c d)
The "μₗ" morphism.
- μₗ_naturality_left {c c' : C} (f : c ⟶ c') (d : D) : CategoryStruct.comp (MonoidalCategory.MonoidalLeftActionStruct.actionHomLeft f (F.obj d)) (μₗ F c' d) = CategoryStruct.comp (μₗ F c d) (F.map (MonoidalCategory.MonoidalLeftActionStruct.actionHomLeft f d))
- μₗ_naturality_right (c : C) {d d' : D} (f : d ⟶ d') : CategoryStruct.comp (MonoidalCategory.MonoidalLeftActionStruct.actionHomRight c (F.map f)) (μₗ F c d') = CategoryStruct.comp (μₗ F c d) (F.map (MonoidalCategory.MonoidalLeftActionStruct.actionHomRight c f))
- μₗ_associativity (c c' : C) (d : D) : CategoryStruct.comp (μₗ F (MonoidalCategoryStruct.tensorObj c c') d) (F.map (MonoidalCategory.MonoidalLeftActionStruct.actionAssocIso c c' d).hom) = CategoryStruct.comp (MonoidalCategory.MonoidalLeftActionStruct.actionAssocIso c c' (F.obj d)).hom (CategoryStruct.comp (MonoidalCategory.MonoidalLeftActionStruct.actionHomRight c (μₗ F c' d)) (μₗ F c (MonoidalCategory.MonoidalLeftActionStruct.actionObj c' d)))
- μₗ_unitality (d : D) : (MonoidalCategory.MonoidalLeftActionStruct.actionUnitIso (F.obj d)).hom = CategoryStruct.comp (μₗ F (MonoidalCategoryStruct.tensorUnit C) d) (F.map (MonoidalCategory.MonoidalLeftActionStruct.actionUnitIso d).hom)
Instances
F.OplaxLinear C
equips F : D ⥤ D'
with a family of morphisms
δₗ F : ∀ (c : C) (d : D), c ⊙ₗ F.obj d ⟶ F.obj (c ⊙ₗ d)
that is natural in each variable and coherent with respect to left actions
of C
on D
and D'
.
- δₗ (c : C) (d : D) : F.obj (MonoidalCategory.MonoidalLeftActionStruct.actionObj c d) ⟶ MonoidalCategory.MonoidalLeftActionStruct.actionObj c (F.obj d)
The oplax lineator morphism morphism.
- δₗ_naturality_left {c c' : C} (f : c ⟶ c') (d : D) : CategoryStruct.comp (F.map (MonoidalCategory.MonoidalLeftActionStruct.actionHomLeft f d)) (δₗ F c' d) = CategoryStruct.comp (δₗ F c d) (MonoidalCategory.MonoidalLeftActionStruct.actionHomLeft f (F.obj d))
- δₗ_naturality_right (c : C) {d d' : D} (f : d ⟶ d') : CategoryStruct.comp (F.map (MonoidalCategory.MonoidalLeftActionStruct.actionHomRight c f)) (δₗ F c d') = CategoryStruct.comp (δₗ F c d) (MonoidalCategory.MonoidalLeftActionStruct.actionHomRight c (F.map f))
- δₗ_associativity (c c' : C) (d : D) : CategoryStruct.comp (δₗ F (MonoidalCategoryStruct.tensorObj c c') d) (MonoidalCategory.MonoidalLeftActionStruct.actionAssocIso c c' (F.obj d)).hom = CategoryStruct.comp (F.map (MonoidalCategory.MonoidalLeftActionStruct.actionAssocIso c c' d).hom) (CategoryStruct.comp (δₗ F c (MonoidalCategory.MonoidalLeftActionStruct.actionObj c' d)) (MonoidalCategory.MonoidalLeftActionStruct.actionHomRight c (δₗ F c' d)))
- δₗ_unitality_inv (d : D) : (MonoidalCategory.MonoidalLeftActionStruct.actionUnitIso (F.obj d)).inv = CategoryStruct.comp (F.map (MonoidalCategory.MonoidalLeftActionStruct.actionUnitIso d).inv) (δₗ F (MonoidalCategoryStruct.tensorUnit C) d)
Instances
F.LeftLinear C
asserts that F
is both lax and oplax left-linear,
in a compatible way, i.e that μₗ
is inverse to δₗ
.
- μₗ (c : C) (d : D) : MonoidalCategory.MonoidalLeftActionStruct.actionObj c (F.obj d) ⟶ F.obj (MonoidalCategory.MonoidalLeftActionStruct.actionObj c d)
- μₗ_naturality_left {c c' : C} (f : c ⟶ c') (d : D) : CategoryStruct.comp (MonoidalCategory.MonoidalLeftActionStruct.actionHomLeft f (F.obj d)) (μₗ F c' d) = CategoryStruct.comp (μₗ F c d) (F.map (MonoidalCategory.MonoidalLeftActionStruct.actionHomLeft f d))
- μₗ_naturality_right (c : C) {d d' : D} (f : d ⟶ d') : CategoryStruct.comp (MonoidalCategory.MonoidalLeftActionStruct.actionHomRight c (F.map f)) (μₗ F c d') = CategoryStruct.comp (μₗ F c d) (F.map (MonoidalCategory.MonoidalLeftActionStruct.actionHomRight c f))
- μₗ_associativity (c c' : C) (d : D) : CategoryStruct.comp (μₗ F (MonoidalCategoryStruct.tensorObj c c') d) (F.map (MonoidalCategory.MonoidalLeftActionStruct.actionAssocIso c c' d).hom) = CategoryStruct.comp (MonoidalCategory.MonoidalLeftActionStruct.actionAssocIso c c' (F.obj d)).hom (CategoryStruct.comp (MonoidalCategory.MonoidalLeftActionStruct.actionHomRight c (μₗ F c' d)) (μₗ F c (MonoidalCategory.MonoidalLeftActionStruct.actionObj c' d)))
- δₗ (c : C) (d : D) : F.obj (MonoidalCategory.MonoidalLeftActionStruct.actionObj c d) ⟶ MonoidalCategory.MonoidalLeftActionStruct.actionObj c (F.obj d)
- δₗ_naturality_left {c c' : C} (f : c ⟶ c') (d : D) : CategoryStruct.comp (F.map (MonoidalCategory.MonoidalLeftActionStruct.actionHomLeft f d)) (δₗ F c' d) = CategoryStruct.comp (δₗ F c d) (MonoidalCategory.MonoidalLeftActionStruct.actionHomLeft f (F.obj d))
- δₗ_naturality_right (c : C) {d d' : D} (f : d ⟶ d') : CategoryStruct.comp (F.map (MonoidalCategory.MonoidalLeftActionStruct.actionHomRight c f)) (δₗ F c d') = CategoryStruct.comp (δₗ F c d) (MonoidalCategory.MonoidalLeftActionStruct.actionHomRight c (F.map f))
- δₗ_associativity (c c' : C) (d : D) : CategoryStruct.comp (δₗ F (MonoidalCategoryStruct.tensorObj c c') d) (MonoidalCategory.MonoidalLeftActionStruct.actionAssocIso c c' (F.obj d)).hom = CategoryStruct.comp (F.map (MonoidalCategory.MonoidalLeftActionStruct.actionAssocIso c c' d).hom) (CategoryStruct.comp (δₗ F c (MonoidalCategory.MonoidalLeftActionStruct.actionObj c' d)) (MonoidalCategory.MonoidalLeftActionStruct.actionHomRight c (δₗ F c' d)))
- μₗ_comp_δₗ (c : C) (d : D) : CategoryStruct.comp (LaxLeftLinear.μₗ F c d) (OplaxLeftLinear.δₗ F c d) = CategoryStruct.id (MonoidalCategory.MonoidalLeftActionStruct.actionObj c (F.obj d))
- δₗ_comp_μₗ (c : C) (d : D) : CategoryStruct.comp (OplaxLeftLinear.δₗ F c d) (LaxLeftLinear.μₗ F c d) = CategoryStruct.id (F.obj (MonoidalCategory.MonoidalLeftActionStruct.actionObj c d))
Instances
A shorthand to bundle the μₗ as an isomorphism
Equations
- One or more equations did not get rendered due to their size.
Instances For
F.LaxLinear C
equips F : D ⥤ D'
with a family of morphisms
μₗ F : ∀ (c : C) (d : D), c ⊙ₗ F.obj d ⟶ F.obj (c ⊙ₗ d)
that is natural in each variable and coherent with respect to left actions
of C
on D
and D'
.
- μᵣ (d : D) (c : C) : MonoidalCategory.MonoidalRightActionStruct.actionObj (F.obj d) c ⟶ F.obj (MonoidalCategory.MonoidalRightActionStruct.actionObj d c)
The "μᵣ" morphism.
- μᵣ_naturality_right (d : D) {c c' : C} (f : c ⟶ c') : CategoryStruct.comp (MonoidalCategory.MonoidalRightActionStruct.actionHomRight (F.obj d) f) (μᵣ F d c') = CategoryStruct.comp (μᵣ F d c) (F.map (MonoidalCategory.MonoidalRightActionStruct.actionHomRight d f))
- μᵣ_naturality_left {d d' : D} (f : d ⟶ d') (c : C) : CategoryStruct.comp (MonoidalCategory.MonoidalRightActionStruct.actionHomLeft (F.map f) c) (μᵣ F d' c) = CategoryStruct.comp (μᵣ F d c) (F.map (MonoidalCategory.MonoidalRightActionStruct.actionHomLeft f c))
- μᵣ_associativity (d : D) (c c' : C) : CategoryStruct.comp (μᵣ F d (MonoidalCategoryStruct.tensorObj c c')) (F.map (MonoidalCategory.MonoidalRightActionStruct.actionAssocIso d c c').hom) = CategoryStruct.comp (MonoidalCategory.MonoidalRightActionStruct.actionAssocIso (F.obj d) c c').hom (CategoryStruct.comp (MonoidalCategory.MonoidalRightActionStruct.actionHomLeft (μᵣ F d c) c') (μᵣ F (MonoidalCategory.MonoidalRightActionStruct.actionObj d c) c'))
- μᵣ_unitality (d : D) : (MonoidalCategory.MonoidalRightActionStruct.actionUnitIso (F.obj d)).hom = CategoryStruct.comp (μᵣ F d (MonoidalCategoryStruct.tensorUnit C)) (F.map (MonoidalCategory.MonoidalRightActionStruct.actionUnitIso d).hom)
Instances
F.OplaxLinear C
equips F : D ⥤ D'
with a family of morphisms
δₗ F : ∀ (c : C) (d : D), c ⊙ₗ F.obj d ⟶ F.obj (c ⊙ₗ d)
that is natural in each variable and coherent with respect to left actions
of C
on D
and D'
.
- δᵣ (d : D) (c : C) : F.obj (MonoidalCategory.MonoidalRightActionStruct.actionObj d c) ⟶ MonoidalCategory.MonoidalRightActionStruct.actionObj (F.obj d) c
The oplax lineator morphism morphism.
- δᵣ_naturality_right (d : D) {c c' : C} (f : c ⟶ c') : CategoryStruct.comp (F.map (MonoidalCategory.MonoidalRightActionStruct.actionHomRight d f)) (δᵣ F d c') = CategoryStruct.comp (δᵣ F d c) (MonoidalCategory.MonoidalRightActionStruct.actionHomRight (F.obj d) f)
- δᵣ_naturality_left {d d' : D} (f : d ⟶ d') (c : C) : CategoryStruct.comp (F.map (MonoidalCategory.MonoidalRightActionStruct.actionHomLeft f c)) (δᵣ F d' c) = CategoryStruct.comp (δᵣ F d c) (MonoidalCategory.MonoidalRightActionStruct.actionHomLeft (F.map f) c)
- δᵣ_associativity (d : D) (c c' : C) : CategoryStruct.comp (δᵣ F d (MonoidalCategoryStruct.tensorObj c c')) (MonoidalCategory.MonoidalRightActionStruct.actionAssocIso (F.obj d) c c').hom = CategoryStruct.comp (F.map (MonoidalCategory.MonoidalRightActionStruct.actionAssocIso d c c').hom) (CategoryStruct.comp (δᵣ F (MonoidalCategory.MonoidalRightActionStruct.actionObj d c) c') (MonoidalCategory.MonoidalRightActionStruct.actionHomLeft (δᵣ F d c) c'))
- δᵣ_unitality_inv (d : D) : (MonoidalCategory.MonoidalRightActionStruct.actionUnitIso (F.obj d)).inv = CategoryStruct.comp (F.map (MonoidalCategory.MonoidalRightActionStruct.actionUnitIso d).inv) (δᵣ F d (MonoidalCategoryStruct.tensorUnit C))
Instances
F.RightLinear C
asserts that F
is both lax and oplax left-linear,
in a compatible way, i.e that μᵣ
is inverse to δᵣ
.
- μᵣ (d : D) (c : C) : MonoidalCategory.MonoidalRightActionStruct.actionObj (F.obj d) c ⟶ F.obj (MonoidalCategory.MonoidalRightActionStruct.actionObj d c)
- μᵣ_naturality_right (d : D) {c c' : C} (f : c ⟶ c') : CategoryStruct.comp (MonoidalCategory.MonoidalRightActionStruct.actionHomRight (F.obj d) f) (μᵣ F d c') = CategoryStruct.comp (μᵣ F d c) (F.map (MonoidalCategory.MonoidalRightActionStruct.actionHomRight d f))
- μᵣ_naturality_left {d d' : D} (f : d ⟶ d') (c : C) : CategoryStruct.comp (MonoidalCategory.MonoidalRightActionStruct.actionHomLeft (F.map f) c) (μᵣ F d' c) = CategoryStruct.comp (μᵣ F d c) (F.map (MonoidalCategory.MonoidalRightActionStruct.actionHomLeft f c))
- μᵣ_associativity (d : D) (c c' : C) : CategoryStruct.comp (μᵣ F d (MonoidalCategoryStruct.tensorObj c c')) (F.map (MonoidalCategory.MonoidalRightActionStruct.actionAssocIso d c c').hom) = CategoryStruct.comp (MonoidalCategory.MonoidalRightActionStruct.actionAssocIso (F.obj d) c c').hom (CategoryStruct.comp (MonoidalCategory.MonoidalRightActionStruct.actionHomLeft (μᵣ F d c) c') (μᵣ F (MonoidalCategory.MonoidalRightActionStruct.actionObj d c) c'))
- δᵣ (d : D) (c : C) : F.obj (MonoidalCategory.MonoidalRightActionStruct.actionObj d c) ⟶ MonoidalCategory.MonoidalRightActionStruct.actionObj (F.obj d) c
- δᵣ_naturality_right (d : D) {c c' : C} (f : c ⟶ c') : CategoryStruct.comp (F.map (MonoidalCategory.MonoidalRightActionStruct.actionHomRight d f)) (δᵣ F d c') = CategoryStruct.comp (δᵣ F d c) (MonoidalCategory.MonoidalRightActionStruct.actionHomRight (F.obj d) f)
- δᵣ_naturality_left {d d' : D} (f : d ⟶ d') (c : C) : CategoryStruct.comp (F.map (MonoidalCategory.MonoidalRightActionStruct.actionHomLeft f c)) (δᵣ F d' c) = CategoryStruct.comp (δᵣ F d c) (MonoidalCategory.MonoidalRightActionStruct.actionHomLeft (F.map f) c)
- δᵣ_associativity (d : D) (c c' : C) : CategoryStruct.comp (δᵣ F d (MonoidalCategoryStruct.tensorObj c c')) (MonoidalCategory.MonoidalRightActionStruct.actionAssocIso (F.obj d) c c').hom = CategoryStruct.comp (F.map (MonoidalCategory.MonoidalRightActionStruct.actionAssocIso d c c').hom) (CategoryStruct.comp (δᵣ F (MonoidalCategory.MonoidalRightActionStruct.actionObj d c) c') (MonoidalCategory.MonoidalRightActionStruct.actionHomLeft (δᵣ F d c) c'))
- μᵣ_comp_δᵣ (d : D) (c : C) : CategoryStruct.comp (LaxRightLinear.μᵣ F d c) (OplaxRightLinear.δᵣ F d c) = CategoryStruct.id (MonoidalCategory.MonoidalRightActionStruct.actionObj (F.obj d) c)
- δᵣ_comp_μᵣ (d : D) (c : C) : CategoryStruct.comp (OplaxRightLinear.δᵣ F d c) (LaxRightLinear.μᵣ F d c) = CategoryStruct.id (F.obj (MonoidalCategory.MonoidalRightActionStruct.actionObj d c))
Instances
A shorthand to bundle the μᵣ as an isomorphism
Equations
- One or more equations did not get rendered due to their size.