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 Cbundles the "lineator" as a morphismμₗ : c ⊙ₗ F.obj d ⟶ F.obj (c ⊙ₗ d).F.LaxRightLinear Cbundles the "lineator" as a morphismμᵣ : F.obj d ⊙ᵣ c ⟶ F.obj (d ⊙ᵣ c).F.OplaxLeftLinear Cbundles the "lineator" as a morphismδₗ : F.obj (c ⊙ₗ d) ⟶ c ⊙ₗ F.obj d.F.OplaxRightLinear Cbundles the "lineator" as a morphismδᵣ : F.obj (d ⊙ᵣ d) ⟶ F.obj d ⊙ᵣ c.F.LeftLinear Cexpresses thatFhas both aLaxLeftLinear Cand anF.OplaxLeftLinear Cstructure, and that they are compatible, i.eδₗ Fis a left and right inverse toμₗ.F.RightLinear Cexpresses thatFhas both aLaxRightLinear Cand anF.OplaxRightLinear Cstructure, and that they are compatible, i.eδᵣ Fis 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.