Documentation

Mathlib.CategoryTheory.Adjunction.Comma

Properties of comma categories relating to adjunctions #

This file shows that for a functor G : D ⥤ C the data of an initial object in each StructuredArrow category on G is equivalent to a left adjoint to G, as well as the dual.

Specifically, adjunctionOfStructuredArrowInitials gives the left adjoint assuming the appropriate initial objects exist, and mkInitialOfLeftAdjoint constructs the initial objects provided a left adjoint.

The duals are also shown.

def CategoryTheory.leftAdjointOfStructuredArrowInitialsAux {C : Type u₁} {D : Type u₂} [Category.{v₁, u₁} C] [Category.{v₂, u₂} D] (G : Functor D C) [∀ (A : C), Limits.HasInitial (StructuredArrow A G)] (A : C) (B : D) :
((⊥_ StructuredArrow A G).right B) (A G.obj B)

Implementation: If each structured arrow category on G has an initial object, an equivalence which is helpful for constructing a left adjoint to G.

Equations
  • One or more equations did not get rendered due to their size.
Instances For

    If each structured arrow category on G has an initial object, construct a left adjoint to G. It is shown that it is a left adjoint in adjunctionOfStructuredArrowInitials.

    Equations
    Instances For

      If each structured arrow category on G has an initial object, G is a right adjoint.

      def CategoryTheory.rightAdjointOfCostructuredArrowTerminalsAux {C : Type u₁} {D : Type u₂} [Category.{v₁, u₁} C] [Category.{v₂, u₂} D] (G : Functor D C) [∀ (A : C), Limits.HasTerminal (CostructuredArrow G A)] (B : D) (A : C) :
      (G.obj B A) (B (⊤_ CostructuredArrow G A).left)

      Implementation: If each costructured arrow category on G has a terminal object, an equivalence which is helpful for constructing a right adjoint to G.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For

        If each costructured arrow category on G has a terminal object, construct a right adjoint to G. It is shown that it is a right adjoint in adjunctionOfStructuredArrowInitials.

        Equations
        Instances For

          If each costructured arrow category on G has a terminal object, G is a left adjoint.

          def CategoryTheory.mkInitialOfLeftAdjoint {C : Type u₁} {D : Type u₂} [Category.{v₁, u₁} C] [Category.{v₂, u₂} D] (G : Functor D C) {F : Functor C D} (h : F G) (A : C) :

          Given a left adjoint to G, we can construct an initial object in each structured arrow category on G.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            def CategoryTheory.mkTerminalOfRightAdjoint {C : Type u₁} {D : Type u₂} [Category.{v₁, u₁} C] [Category.{v₂, u₂} D] (G : Functor D C) {F : Functor C D} (h : F G) (A : D) :

            Given a right adjoint to F, we can construct a terminal object in each costructured arrow category on F.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For