Documentation

Mathlib.CategoryTheory.Adjunction.Over

Adjunctions related to the over category #

In a category with pullbacks, for any morphism f : X ⟶ Y, the functor Over.map f : Over X ⥤ Over Y has a right adjoint Over.pullback f.

In a category with binary products, for any object X the functor Over.forget X : Over X ⥤ C has a right adjoint Over.star X.

Main declarations #

TODO #

Show star X itself has a right adjoint provided C is cartesian closed and has pullbacks.

def CategoryTheory.Over.pullback {C : Type u} [Category.{v, u} C] [Limits.HasPullbacks C] {X Y : C} (f : X Y) :
Functor (Over Y) (Over X)

In a category with pullbacks, a morphism f : X ⟶ Y induces a functor Over Y ⥤ Over X, by pulling back a morphism along f.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    @[simp]
    theorem CategoryTheory.Over.pullback_map_left {C : Type u} [Category.{v, u} C] [Limits.HasPullbacks C] {X Y : C} (f : X Y) (g : Over Y) {h : Over Y} {k : g h} :
    @[simp]
    theorem CategoryTheory.Over.pullback_obj_left {C : Type u} [Category.{v, u} C] [Limits.HasPullbacks C] {X Y : C} (f : X Y) (g : Over Y) :
    ((pullback f).obj g).left = Limits.pullback g.hom f
    @[simp]
    theorem CategoryTheory.Over.pullback_obj_hom {C : Type u} [Category.{v, u} C] [Limits.HasPullbacks C] {X Y : C} (f : X Y) (g : Over Y) :
    ((pullback f).obj g).hom = Limits.pullback.snd g.hom f
    @[deprecated CategoryTheory.Over.pullback (since := "2024-05-15")]

    Alias of CategoryTheory.Over.pullback.


    In a category with pullbacks, a morphism f : X ⟶ Y induces a functor Over Y ⥤ Over X, by pulling back a morphism along f.

    Equations
    Instances For
      @[deprecated CategoryTheory.Over.pullback (since := "2024-07-08")]

      Alias of CategoryTheory.Over.pullback.


      In a category with pullbacks, a morphism f : X ⟶ Y induces a functor Over Y ⥤ Over X, by pulling back a morphism along f.

      Equations
      Instances For

        Over.map f is left adjoint to Over.pullback f.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          @[simp]
          theorem CategoryTheory.Over.mapPullbackAdj_counit_app {C : Type u} [Category.{v, u} C] [Limits.HasPullbacks C] {X Y : C} (f : X Y) (Y✝ : Over Y) :
          (mapPullbackAdj f).counit.app Y✝ = homMk (Limits.pullback.fst Y✝.hom f)
          @[simp]
          theorem CategoryTheory.Over.mapPullbackAdj_unit_app {C : Type u} [Category.{v, u} C] [Limits.HasPullbacks C] {X Y : C} (f : X Y) (X✝ : Over X) :
          (mapPullbackAdj f).unit.app X✝ = homMk (Limits.pullback.lift (CategoryStruct.id X✝.left) X✝.hom )
          @[deprecated CategoryTheory.Over.mapPullbackAdj (since := "2024-07-08")]

          Alias of CategoryTheory.Over.mapPullbackAdj.


          Over.map f is left adjoint to Over.pullback f.

          Equations
          Instances For

            pullback (𝟙 X) : Over X ⥤ Over X is the identity functor.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              def CategoryTheory.Over.pullbackComp {C : Type u} [Category.{v, u} C] [Limits.HasPullbacks C] {X Y Z : C} (f : X Y) (g : Y Z) :

              pullback commutes with composition (up to natural isomorphism).

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                instance CategoryTheory.Over.pullbackIsRightAdjoint {C : Type u} [Category.{v, u} C] [Limits.HasPullbacks C] {X Y : C} (f : X Y) :
                (pullback f).IsRightAdjoint

                The functor from C to Over X which sends Y : C to π₁ : X ⨯ Y ⟶ X, sometimes denoted X*.

                Equations
                Instances For
                  @[simp]
                  theorem CategoryTheory.Over.star_obj_left {C : Type u} [Category.{v, u} C] (X : C) [Limits.HasBinaryProducts C] (X✝ : C) :
                  ((star X).obj X✝).left = (X X✝)
                  @[simp]
                  theorem CategoryTheory.Over.star_map_left {C : Type u} [Category.{v, u} C] (X : C) [Limits.HasBinaryProducts C] {X✝ Y✝ : C} (f : X✝ Y✝) :
                  ((star X).map f).left = Limits.prod.map (CategoryStruct.id X) f
                  @[simp]
                  theorem CategoryTheory.Over.star_obj_hom {C : Type u} [Category.{v, u} C] (X : C) [Limits.HasBinaryProducts C] (X✝ : C) :
                  ((star X).obj X✝).hom = Limits.prod.fst

                  The functor Over.forget X : Over X ⥤ C has a right adjoint given by star X.

                  Note that the binary products assumption is necessary: the existence of a right adjoint to Over.forget X is equivalent to the existence of each binary product X ⨯ -.

                  Equations
                  Instances For

                    Note that the binary products assumption is necessary: the existence of a right adjoint to Over.forget X is equivalent to the existence of each binary product X ⨯ -.

                    @[deprecated CategoryTheory.Over.star (since := "2024-05-18")]

                    Alias of CategoryTheory.Over.star.


                    The functor from C to Over X which sends Y : C to π₁ : X ⨯ Y ⟶ X, sometimes denoted X*.

                    Equations
                    Instances For
                      @[deprecated CategoryTheory.Over.forgetAdjStar (since := "2024-05-18")]

                      Alias of CategoryTheory.Over.forgetAdjStar.


                      The functor Over.forget X : Over X ⥤ C has a right adjoint given by star X.

                      Note that the binary products assumption is necessary: the existence of a right adjoint to Over.forget X is equivalent to the existence of each binary product X ⨯ -.

                      Equations
                      Instances For

                        When C has pushouts, a morphism f : X ⟶ Y induces a functor Under X ⥤ Under Y, by pushing a morphism forward along f.

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          @[simp]
                          theorem CategoryTheory.Under.pushout_map {C : Type u} [Category.{v, u} C] [Limits.HasPushouts C] {X Y : C} (f : X Y) (x : Under X) {x' : Under X} {u : x x'} :
                          (pushout f).map u = homMk (Limits.pushout.desc (CategoryStruct.comp u.right (Limits.pushout.inl x'.hom f)) (Limits.pushout.inr x'.hom f) )
                          @[simp]
                          theorem CategoryTheory.Under.pushout_obj {C : Type u} [Category.{v, u} C] [Limits.HasPushouts C] {X Y : C} (f : X Y) (x : Under X) :
                          (pushout f).obj x = mk (Limits.pushout.inr x.hom f)

                          Under.pushout f is left adjoint to Under.map f.

                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            @[simp]
                            theorem CategoryTheory.Under.mapPushoutAdj_counit_app {C : Type u} [Category.{v, u} C] [Limits.HasPushouts C] {X Y : C} (f : X Y) (Y✝ : Under Y) :
                            (mapPushoutAdj f).counit.app Y✝ = homMk (Limits.pushout.desc (CategoryStruct.id Y✝.right) Y✝.hom )
                            @[simp]
                            theorem CategoryTheory.Under.mapPushoutAdj_unit_app {C : Type u} [Category.{v, u} C] [Limits.HasPushouts C] {X Y : C} (f : X Y) (X✝ : Under X) :
                            (mapPushoutAdj f).unit.app X✝ = homMk (Limits.pushout.inl X✝.hom f)

                            pushout (𝟙 X) : Under X ⥤ Under X is the identity functor.

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              def CategoryTheory.Under.pullbackComp {C : Type u} [Category.{v, u} C] [Limits.HasPushouts C] {X Y Z : C} (f : X Y) (g : Y Z) :

                              pushout commutes with composition (up to natural isomorphism).

                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                instance CategoryTheory.Under.pushoutIsLeftAdjoint {C : Type u} [Category.{v, u} C] [Limits.HasPushouts C] {X Y : C} (f : X Y) :
                                (pushout f).IsLeftAdjoint