Transport rigid structures over a monoidal equivalence. #
def
CategoryTheory.exactPairingOfFaithful
{C : Type u_1}
{D : Type u_2}
[Category.{u_3, u_1} C]
[Category.{u_4, u_2} D]
[MonoidalCategory C]
[MonoidalCategory D]
(F : Functor C D)
[F.Monoidal]
[F.Faithful]
{X Y : C}
(eval : MonoidalCategoryStruct.tensorObj Y X ⟶ 𝟙_ C)
(coeval : 𝟙_ 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.exactPairingOfFaithful F eval coeval map_eval map_coeval = { coevaluation' := coeval, evaluation' := eval, coevaluation_evaluation' := ⋯, evaluation_coevaluation' := ⋯ }
Instances For
def
CategoryTheory.exactPairingOfFullyFaithful
{C : Type u_1}
{D : Type u_2}
[Category.{u_3, u_1} C]
[Category.{u_4, 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
def
CategoryTheory.hasLeftDualOfEquivalence
{C : Type u_1}
{D : Type u_2}
[Category.{u_3, u_1} C]
[Category.{u_4, 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
- CategoryTheory.hasLeftDualOfEquivalence adj X = CategoryTheory.HasLeftDual.mk (G.obj ᘁ(F.obj X))
Instances For
def
CategoryTheory.hasRightDualOfEquivalence
{C : Type u_1}
{D : Type u_2}
[Category.{u_3, u_1} C]
[Category.{u_4, 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
- CategoryTheory.hasRightDualOfEquivalence adj X = CategoryTheory.HasRightDual.mk (G.obj (F.obj X)ᘁ)
Instances For
def
CategoryTheory.leftRigidCategoryOfEquivalence
{C : Type u_1}
{D : Type u_2}
[Category.{u_3, u_1} C]
[Category.{u_4, 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.
Instances For
def
CategoryTheory.rightRigidCategoryOfEquivalence
{C : Type u_1}
{D : Type u_2}
[Category.{u_3, u_1} C]
[Category.{u_4, 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.
Instances For
def
CategoryTheory.rigidCategoryOfEquivalence
{C : Type u_1}
{D : Type u_2}
[Category.{u_3, u_1} C]
[Category.{u_4, 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.