Documentation

Mathlib.CategoryTheory.Adjunction.PartialAdjoint

Domain of definition of the partial left adjoint #

Given a functor F : D ⥤ C, we define a functor F.partialLeftAdjoint : F.PartialLeftAdjointSource ⥤ D which is defined on the full subcategory of C consisting of those objects X : C such that F ⋙ coyoneda.obj (op X) : D ⥤ Type _ is corepresentable. For X : F.PartialLeftAdjointSource and Y : D, we have a natural bijection (F.partialLeftAdjoint.obj X ⟶ Y) ≃ (X.obj ⟶ F.obj Y) that is similar to what we would expect for the image of the object X by the left adjoint of F, if such an adjoint existed.

Indeed, if the predicate F.leftAdjointObjIsDefined which defines the F.PartialLeftAdjointSource holds for all objects X : C, then F has a left adjoint.

When colimits indexed by a category J exist in D, we show that the predicate F.leftAdjointObjIsDefined is stable under colimits indexed by J.

TODO #

Given a functor F : D ⥤ C, this is a predicate on objects X : C corresponding to the domain of definition of the (partial) left adjoint of F.

Instances For
    @[reducible, inline]

    The full subcategory where F.partialLeftAdjoint shall be defined.

    Instances For

      Given F : D ⥤ C, this is F.partialLeftAdjoint on objects: it sends X : C such that F.leftAdjointObjIsDefined X holds to an object of D which represents the functor F ⋙ coyoneda.obj (op X.obj).

      Instances For

        Given F : D ⥤ C, this is the canonical bijection (F.partialLeftAdjointObj X ⟶ Y) ≃ (X.obj ⟶ F.obj Y) for all X : F.PartialLeftAdjointSource and Y : D.

        Instances For

          Given F : D ⥤ C, this is F.partialLeftAdjoint on morphisms.

          Instances For

            Given F : D ⥤ C, this is the partial adjoint functor F.PartialLeftAdjointSource ⥤ D.

            Instances For

              Given a functor F : C ⥤ D, this is a predicate on objects X : D corresponding to the domain of definition of the (partial) right adjoint of F.

              Instances For
                @[reducible, inline]

                The full subcategory where F.partialRightAdjoint shall be defined.

                Instances For

                  Given F : C ⥤ D, this is F.partialRightAdjoint on objects: it sends X : D such that F.rightAdjointObjIsDefined X holds to an object of C which represents the functor F.op ⋙ yoneda.obj X.obj.

                  Instances For

                    Given F : C ⥤ D, this is the canonical bijection (X ⟶ F.partialRightAdjointObj Y) ≃ (F.obj X ⟶ Y.obj) for all X : C and Y : F.PartialRightAdjointSource.

                    Instances For

                      Given F : C ⥤ D, this is F.partialRightAdjoint on morphisms.

                      Instances For

                        Given F : C ⥤ D, this is the partial adjoint functor F.PartialRightAdjointSource ⥤ C.

                        Instances For