Documentation

Mathlib.CategoryTheory.Monoidal.Braided.Reflection

Day's reflection theorem #

Let D be a symmetric monoidal closed category and let C be a reflective subcategory. Day's reflection theorem proves the equivalence of four conditions, which are all of the form that a map obtained by acting on the unit of the reflective adjunction, with the internal hom and tensor functors, is an isomorphism.

Suppose that C is itself monoidal and that the reflector is a monoidal functor. Then we can apply Day's reflection theorem to prove that C is also closed monoidal.

References #

theorem CategoryTheory.Monoidal.Reflective.isIso_tfae {C : Type u_1} {D : Type u_2} [Category.{u_4, u_1} C] [Category.{u_3, u_2} D] [MonoidalCategory D] [SymmetricCategory D] [MonoidalClosed D] {R : Functor C D} [R.Faithful] [R.Full] {L : Functor D C} (adj : L R) :
[∀ (c : C) (d : D), IsIso (adj.unit.app ((ihom d).obj (R.obj c))), ∀ (c : C) (d : D), IsIso ((MonoidalClosed.pre (adj.unit.app d)).app (R.obj c)), ∀ (d d' : D), IsIso (L.map (MonoidalCategoryStruct.whiskerRight (adj.unit.app d) d')), ∀ (d d' : D), IsIso (L.map (MonoidalCategoryStruct.tensorHom (adj.unit.app d) (adj.unit.app d')))].TFAE

Day's reflection theorem.

Let D be a symmetric monoidal closed category and let C be a reflective subcategory. Denote by R : C ⥤ D the inclusion functor and by L : D ⥤ C the reflector. Let u denote the unit of the adjunction L ⊣ R. Denote the internal hom by [-,-]. The following are equivalent:

  1. u : [d, Rc] ⟶ RL[d, Rc] is an isomorphism,
  2. [u, 𝟙] : [RLd, Rc] ⟶ [d, Rc] is an isomorphism,
  3. L(u ▷ d') : L(d ⊗ d') ⟶ L(RLd ⊗ d') is an isomorphism,
  4. L(u ⊗ u) : L(d ⊗ d') ⟶ L(RLd ⊗ RLd') is an isomorphism,

where c, d, d' are arbitrary objects of C/D, quantified over separately in each condition.

instance CategoryTheory.Monoidal.Reflective.instIsIsoMapTensorHomAppUnit {C : Type u_1} {D : Type u_2} [Category.{u_3, u_1} C] [Category.{u_4, u_2} D] [MonoidalCategory D] [MonoidalCategory C] {L : Functor D C} [L.Monoidal] {R : Functor C D} [R.Faithful] [R.Full] (adj : L R) (d d' : D) :
IsIso (L.map (MonoidalCategoryStruct.tensorHom (adj.unit.app d) (adj.unit.app d')))
instance CategoryTheory.Monoidal.Reflective.instIsIsoAppUnitObjIhom {C : Type u_1} {D : Type u_2} [Category.{u_4, u_1} C] [Category.{u_3, u_2} D] [MonoidalCategory D] [SymmetricCategory D] [MonoidalClosed D] [MonoidalCategory C] {L : Functor D C} [L.Monoidal] {R : Functor C D} [R.Faithful] [R.Full] (adj : L R) (c : C) (d : D) :
IsIso (adj.unit.app ((ihom d).obj (R.obj c)))
noncomputable def CategoryTheory.Monoidal.Reflective.closed {C : Type u_1} {D : Type u_2} [Category.{u_3, u_1} C] [Category.{u_4, u_2} D] [MonoidalCategory D] [SymmetricCategory D] [MonoidalClosed D] [MonoidalCategory C] {L : Functor D C} [L.Monoidal] {R : Functor C D} [R.Faithful] [R.Full] (adj : L R) (c : C) :

Auxiliary definition for monoidalClosed.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    noncomputable def CategoryTheory.Monoidal.Reflective.monoidalClosed {C : Type u_1} {D : Type u_2} [Category.{u_3, u_1} C] [Category.{u_4, u_2} D] [MonoidalCategory D] [SymmetricCategory D] [MonoidalClosed D] [MonoidalCategory C] {L : Functor D C} [L.Monoidal] {R : Functor C D} [R.Faithful] [R.Full] (adj : L R) :

    Given a reflective functor R : C ⥤ D with a monoidal left adjoint, such that D is symmetric monoidal closed, then C is monoidal closed.

    Equations
    Instances For