# Adjoint functor theorem #

This file proves the (general) adjoint functor theorem, in the form:

• If G : D ⥤ C preserves limits and D has limits, and satisfies the solution set condition, then it has a left adjoint: is_right_adjoint_of_preserves_limits_of_solution_set_condition.

We show that the converse holds, i.e. that if G has a left adjoint then it satisfies the solution set condition, see solution_set_condition_of_is_right_adjoint (the file category_theory/adjunction/limits already shows it preserves limits).

We define the solution set condition for the functor G : D ⥤ C to mean, for every object A : C, there is a set-indexed family ${f_i : A ⟶ G (B_i)}$ such that any morphism A ⟶ G X factors through one of the f_i.

This file also proves the special adjoint functor theorem, in the form:

• If G : D ⥤ C preserves limits and D is complete, well-powered and has a small coseparating set, then G has a left adjoint: is_right_adjoint_of_preserves_limits_of_is_coseparating

Finally, we prove the following corollary of the special adjoint functor theorem:

• If C is complete, well-powered and has a small coseparating set, then it is cocomplete: has_colimits_of_has_limits_of_is_coseparating
def category_theory.solution_set_condition {C : Type u} {D : Type u} (G : D C) :
Prop

The functor G : D ⥤ C satisfies the solution set condition if for every A : C, there is a family of morphisms {f_i : A ⟶ G (B_i) // i ∈ ι} such that given any morphism h : A ⟶ G X, there is some i ∈ ι such that h factors through f_i.

The key part of this definition is that the indexing set ι lives in Type v, where v is the universe of morphisms of the category: this is the "smallness" condition which allows the general adjoint functor theorem to go through.

Equations
• = ∀ (A : C), ∃ (ι : Type v) (B : ι → D) (f : Π (i : ι), A G.obj (B i)), ∀ (X : D) (h : A G.obj X), ∃ (i : ι) (g : B i X), f i G.map g = h
theorem category_theory.solution_set_condition_of_is_right_adjoint {C : Type u} {D : Type u} (G : D C)  :

If G : D ⥤ C is a right adjoint it satisfies the solution set condition.

noncomputable def category_theory.is_right_adjoint_of_preserves_limits_of_solution_set_condition {C : Type u} {D : Type u} (G : D C)  :

The general adjoint functor theorem says that if G : D ⥤ C preserves limits and D has them, if G satisfies the solution set condition then G is a right adjoint.

Equations
noncomputable def category_theory.is_right_adjoint_of_preserves_limits_of_is_coseparating {C : Type u} {D : Type u'} {𝒢 : set D} [small 𝒢] (G : D C)  :

The special adjoint functor theorem: if G : D ⥤ C preserves limits and D is complete, well-powered and has a small coseparating set, then G has a left adjoint.

Equations
noncomputable def category_theory.is_left_adjoint_of_preserves_colimits_of_is_separatig {C : Type u} {D : Type u'} {𝒢 : set C} [small 𝒢] (F : C D)  :

The special adjoint functor theorem: if F : C ⥤ D preserves colimits and C is cocomplete, well-copowered and has a small separating set, then F has a right adjoint.

Equations

A consequence of the special adjoint functor theorem: if C is complete, well-powered and has a small coseparating set, then it is cocomplete.

A consequence of the special adjoint functor theorem: if C is cocomplete, well-copowered and has a small separating set, then it is complete.