Transport rigid structures over a monoidal equivalence. #
@[instance_reducible]
def CategoryTheory.ExactPairing.ofFaithful {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] [MonoidalCategory C] [MonoidalCategory D] (F : Functor C D) [F.Monoidal] [F.Faithful] {X Y : C} (eval : MonoidalCategoryStruct.tensorObj Y X ⟶ MonoidalCategoryStruct.tensorUnit C) (coeval : MonoidalCategoryStruct.tensorUnit C ⟶ MonoidalCategoryStruct.tensorObj X Y) [ExactPairing (F.obj X) (F.obj Y)] (map_eval :
F.map eval = CategoryStruct.comp (Functor.OplaxMonoidal.δ F Y X)
(CategoryStruct.comp (ε_ (F.obj X) (F.obj Y)) (Functor.LaxMonoidal.ε F))) (map_coeval :
F.map coeval = CategoryStruct.comp (Functor.OplaxMonoidal.η F)
(CategoryStruct.comp (η_ (F.obj X) (F.obj Y)) (Functor.LaxMonoidal.μ F X Y))) :
ExactPairing X Y
Given candidate data for an exact pairing, which is sent by a faithful monoidal functor to an exact pairing, the equations holds automatically.
Equations
- CategoryTheory.ExactPairing.ofFaithful F eval coeval map_eval map_coeval = { coevaluation' := coeval, evaluation' := eval, coevaluation_evaluation' := ⋯, evaluation_coevaluation' := ⋯ }
Instances For
@[instance_reducible]
noncomputable def CategoryTheory.ExactPairing.ofFullyFaithful {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] [MonoidalCategory C] [MonoidalCategory D] (F : Functor C D) [F.Monoidal] [F.Full] [F.Faithful] (X Y : C) [ExactPairing (F.obj X) (F.obj Y)] :
ExactPairing X Y
Given a pair of objects which are sent by a fully faithful functor to a pair of objects with an exact pairing, we get an exact pairing.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[instance_reducible]
noncomputable def CategoryTheory.hasLeftDualOfEquivalence {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] [MonoidalCategory C] [MonoidalCategory D] {F : Functor C D} [F.Monoidal] {G : Functor D C} (adj : F ⊣ G) [F.IsEquivalence] (X : C) [HasLeftDual (F.obj X)] :
Pull back a left dual along an equivalence.
Equations
Instances For
@[instance_reducible]
noncomputable def CategoryTheory.hasRightDualOfEquivalence {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] [MonoidalCategory C] [MonoidalCategory D] {F : Functor C D} [F.Monoidal] {G : Functor D C} (adj : F ⊣ G) [F.IsEquivalence] (X : C) [HasRightDual (F.obj X)] :
Pull back a right dual along an equivalence.
Equations
Instances For
@[instance_reducible]
noncomputable def CategoryTheory.leftRigidCategoryOfEquivalence {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] [MonoidalCategory C] [MonoidalCategory D] {F : Functor C D} [F.Monoidal] {G : Functor D C} (adj : F ⊣ G) [F.IsEquivalence] [LeftRigidCategory D] :
Pull back a left rigid structure along an equivalence.
Equations
- CategoryTheory.leftRigidCategoryOfEquivalence adj = { leftDual := fun (X : C) => CategoryTheory.hasLeftDualOfEquivalence adj X }
Instances For
@[instance_reducible]
noncomputable def CategoryTheory.rightRigidCategoryOfEquivalence {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] [MonoidalCategory C] [MonoidalCategory D] {F : Functor C D} [F.Monoidal] {G : Functor D C} (adj : F ⊣ G) [F.IsEquivalence] [RightRigidCategory D] :
Pull back a right rigid structure along an equivalence.
Equations
- CategoryTheory.rightRigidCategoryOfEquivalence adj = { rightDual := fun (X : C) => CategoryTheory.hasRightDualOfEquivalence adj X }
Instances For
@[instance_reducible]
noncomputable def CategoryTheory.rigidCategoryOfEquivalence {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] [MonoidalCategory C] [MonoidalCategory D] {F : Functor C D} [F.Monoidal] {G : Functor D C} (adj : F ⊣ G) [F.IsEquivalence] [RigidCategory D] :
Pull back a rigid structure along an equivalence.
Equations
- One or more equations did not get rendered due to their size.