Documentation

Mathlib.CategoryTheory.Adjunction.FullyFaithful

Adjoints of fully faithful functors #

A left adjoint is

A right adjoint is

This is Lemma 4.5.13 in Riehl's Category Theory in Context [riehl2017]. See also https://stacks.math.columbia.edu/tag/07RB for the statements about fully faithful functors.

In the file Mathlib/CategoryTheory/Monad/Adjunction.lean, we prove that in fact, if there exists an isomorphism L ā‹™ R ≅ šŸ­ C, then the unit is an isomorphism, and similarly for the counit. See CategoryTheory.Adjunction.isIso_unit_of_iso and CategoryTheory.Adjunction.isIso_counit_of_iso.

instance CategoryTheory.Adjunction.unit_mono_of_L_faithful {C : Type u₁} [Category.{v₁, u₁} C] {D : Type uā‚‚} [Category.{vā‚‚, uā‚‚} D] {L : Functor C D} {R : Functor D C} (h : L ⊣ R) [L.Faithful] (X : C) :
Mono (h.unit.app X)

If the left adjoint is faithful, then each component of the unit is an monomorphism.

noncomputable def CategoryTheory.Adjunction.unitSplitEpiOfLFull {C : Type u₁} [Category.{v₁, u₁} C] {D : Type uā‚‚} [Category.{vā‚‚, uā‚‚} D] {L : Functor C D} {R : Functor D C} (h : L ⊣ R) [L.Full] (X : C) :

If the left adjoint is full, then each component of the unit is a split epimorphism.

Equations
    Instances For
      instance CategoryTheory.Adjunction.unit_isSplitEpi_of_L_full {C : Type u₁} [Category.{v₁, u₁} C] {D : Type uā‚‚} [Category.{vā‚‚, uā‚‚} D] {L : Functor C D} {R : Functor D C} (h : L ⊣ R) [L.Full] (X : C) :

      If the right adjoint is full, then each component of the counit is a split monomorphism.

      If the left adjoint is fully faithful, then the unit is an isomorphism.

      instance CategoryTheory.Adjunction.counit_epi_of_R_faithful {C : Type u₁} [Category.{v₁, u₁} C] {D : Type uā‚‚} [Category.{vā‚‚, uā‚‚} D] {L : Functor C D} {R : Functor D C} (h : L ⊣ R) [R.Faithful] (X : D) :
      Epi (h.counit.app X)

      If the right adjoint is faithful, then each component of the counit is an epimorphism.

      noncomputable def CategoryTheory.Adjunction.counitSplitMonoOfRFull {C : Type u₁} [Category.{v₁, u₁} C] {D : Type uā‚‚} [Category.{vā‚‚, uā‚‚} D] {L : Functor C D} {R : Functor D C} (h : L ⊣ R) [R.Full] (X : D) :

      If the right adjoint is full, then each component of the counit is a split monomorphism.

      Equations
        Instances For

          If the right adjoint is full, then each component of the counit is a split monomorphism.

          If the right adjoint is fully faithful, then the counit is an isomorphism.

          @[simp]
          theorem CategoryTheory.Adjunction.inv_map_unit {C : Type u₁} [Category.{v₁, u₁} C] {D : Type uā‚‚} [Category.{vā‚‚, uā‚‚} D] {L : Functor C D} {R : Functor D C} (h : L ⊣ R) {X : C} [IsIso (h.unit.app X)] :
          inv (L.map (h.unit.app X)) = h.counit.app (L.obj X)

          If the unit of an adjunction is an isomorphism, then its inverse on the image of L is given by L whiskered with the counit.

          noncomputable def CategoryTheory.Adjunction.whiskerLeftLCounitIsoOfIsIsoUnit {C : Type u₁} [Category.{v₁, u₁} C] {D : Type uā‚‚} [Category.{vā‚‚, uā‚‚} D] {L : Functor C D} {R : Functor D C} (h : L ⊣ R) [IsIso h.unit] :
          L.comp (R.comp L) ≅ L

          If the unit is an isomorphism, bundle one has an isomorphism L ā‹™ R ā‹™ L ≅ L.

          Equations
            Instances For
              @[simp]
              theorem CategoryTheory.Adjunction.inv_counit_map {C : Type u₁} [Category.{v₁, u₁} C] {D : Type uā‚‚} [Category.{vā‚‚, uā‚‚} D] {L : Functor C D} {R : Functor D C} (h : L ⊣ R) {X : D} [IsIso (h.counit.app X)] :
              inv (R.map (h.counit.app X)) = h.unit.app (R.obj X)

              If the counit of an adjunction is an isomorphism, then its inverse on the image of R is given by R whiskered with the unit.

              noncomputable def CategoryTheory.Adjunction.whiskerLeftRUnitIsoOfIsIsoCounit {C : Type u₁} [Category.{v₁, u₁} C] {D : Type uā‚‚} [Category.{vā‚‚, uā‚‚} D] {L : Functor C D} {R : Functor D C} (h : L ⊣ R) [IsIso h.counit] :
              R.comp (L.comp R) ≅ R

              If the counit of an is an isomorphism, one has an isomorphism (R ā‹™ L ā‹™ R) ≅ R.

              Equations
                Instances For
                  theorem CategoryTheory.Adjunction.faithful_L_of_mono_unit_app {C : Type u₁} [Category.{v₁, u₁} C] {D : Type uā‚‚} [Category.{vā‚‚, uā‚‚} D] {L : Functor C D} {R : Functor D C} (h : L ⊣ R) [āˆ€ (X : C), Mono (h.unit.app X)] :

                  If each component of the unit is a monomorphism, then the left adjoint is faithful.

                  theorem CategoryTheory.Adjunction.full_L_of_isSplitEpi_unit_app {C : Type u₁} [Category.{v₁, u₁} C] {D : Type uā‚‚} [Category.{vā‚‚, uā‚‚} D] {L : Functor C D} {R : Functor D C} (h : L ⊣ R) [āˆ€ (X : C), IsSplitEpi (h.unit.app X)] :

                  If each component of the unit is a split epimorphism, then the left adjoint is full.

                  If the unit is an isomorphism, then the left adjoint is fully faithful.

                  Equations
                    Instances For
                      theorem CategoryTheory.Adjunction.faithful_R_of_epi_counit_app {C : Type u₁} [Category.{v₁, u₁} C] {D : Type uā‚‚} [Category.{vā‚‚, uā‚‚} D] {L : Functor C D} {R : Functor D C} (h : L ⊣ R) [āˆ€ (X : D), Epi (h.counit.app X)] :

                      If each component of the counit is an epimorphism, then the right adjoint is faithful.

                      theorem CategoryTheory.Adjunction.full_R_of_isSplitMono_counit_app {C : Type u₁} [Category.{v₁, u₁} C] {D : Type uā‚‚} [Category.{vā‚‚, uā‚‚} D] {L : Functor C D} {R : Functor D C} (h : L ⊣ R) [āˆ€ (X : D), IsSplitMono (h.counit.app X)] :

                      If each component of the counit is a split monomorphism, then the right adjoint is full.

                      If the counit is an isomorphism, then the right adjoint is fully faithful.

                      Equations
                        Instances For
                          theorem CategoryTheory.Adjunction.isIso_counit_app_of_iso {C : Type u₁} [Category.{v₁, u₁} C] {D : Type uā‚‚} [Category.{vā‚‚, uā‚‚} D] {L : Functor C D} {R : Functor D C} (h : L ⊣ R) [L.Faithful] [L.Full] {X : D} {Y : C} (e : X ≅ L.obj Y) :
                          theorem CategoryTheory.Adjunction.mem_essImage_of_unit_isIso {C : Type u₁} [Category.{v₁, u₁} C] {D : Type uā‚‚} [Category.{vā‚‚, uā‚‚} D] {L : Functor C D} {R : Functor D C} (h : L ⊣ R) (A : C) [IsIso (h.unit.app A)] :

                          If Ī·_A is an isomorphism, then A is in the essential image of i.

                          theorem CategoryTheory.Adjunction.isIso_unit_app_of_iso {C : Type u₁} [Category.{v₁, u₁} C] {D : Type uā‚‚} [Category.{vā‚‚, uā‚‚} D] {L : Functor C D} {R : Functor D C} (h : L ⊣ R) [R.Faithful] [R.Full] {X : D} {Y : C} (e : Y ≅ R.obj X) :
                          IsIso (h.unit.app Y)