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.
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 #
- consider dualizing the results to right adjoints
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
.
Equations
- F.LeftAdjointObjIsDefined X = (F.comp (CategoryTheory.coyoneda.obj (Opposite.op X))).IsCorepresentable
Instances For
The full subcategory where F.partialLeftAdjoint
shall be defined.
Equations
- F.PartialLeftAdjointSource = CategoryTheory.FullSubcategory F.LeftAdjointObjIsDefined
Instances For
Equations
- ⋯ = ⋯
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)
.
Equations
- F.partialLeftAdjointObj X = (F.comp (CategoryTheory.coyoneda.obj (Opposite.op X.obj))).coreprX
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
.
Equations
- F.partialLeftAdjointHomEquiv = (F.comp (CategoryTheory.coyoneda.obj (Opposite.op X.obj))).corepresentableBy.homEquiv
Instances For
Given F : D ⥤ C
, this is F.partialLeftAdjoint
on morphisms.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Given F : D ⥤ C
, this is the partial adjoint functor F.PartialLeftAdjointSource ⥤ D
.
Equations
- F.partialLeftAdjoint = { obj := F.partialLeftAdjointObj, map := fun {X Y : F.PartialLeftAdjointSource} => F.partialLeftAdjointMap, map_id := ⋯, map_comp := ⋯ }
Instances For
Auxiliary definition for leftAdjointObjIsDefined_of_isColimit
.
Equations
- One or more equations did not get rendered due to their size.