@@ -17,7 +17,7 @@ public import Mathlib.CategoryTheory.Subobject.Comma
1717
1818This file proves the (general) adjoint functor theorem, in the form:
1919* If `G : D ⥤ C` preserves limits and `D` has limits, and satisfies the solution set condition,
20- then it has a left adjoint: `isRightAdjointOfPreservesLimitsOfIsCoseparating `.
20+ then it has a left adjoint: `isRightAdjoint_of_preservesLimits_of_isCoseparating `.
2121
2222 We show that the converse holds, i.e. that if `G` has a left adjoint then it satisfies the solution
2323set condition, see `solutionSetCondition_of_isRightAdjoint`
@@ -29,7 +29,7 @@ factors through one of the `f_i`.
2929
3030This file also proves the special adjoint functor theorem, in the form:
3131* If `G : D ⥤ C` preserves limits and `D` is complete, well-powered and has a small coseparating
32- set, then `G` has a left adjoint: `isRightAdjointOfPreservesLimitsOfIsCoseparating `
32+ set, then `G` has a left adjoint: `isRightAdjoint_of_preservesLimits_of_isCoseparating `
3333
3434 Finally, we prove the following corollaries of the special adjoint functor theorem:
3535* If `C` is complete, well-powered and has a small coseparating set, then it is cocomplete:
@@ -42,7 +42,7 @@ Finally, we prove the following corollaries of the special adjoint functor theor
4242@[expose] public section
4343
4444
45- universe v u u'
45+ universe w v v₁ u u₁ u'
4646
4747namespace CategoryTheory
4848
@@ -59,18 +59,18 @@ The key part of this definition is that the indexing set `ι` lives in `Type v`,
5959universe of morphisms of the category: this is the "smallness" condition which allows the general
6060adjoint functor theorem to go through.
6161-/
62- def SolutionSetCondition {D : Type u} [Category.{v} D] (G : D ⥤ C) : Prop :=
62+ def SolutionSetCondition {D : Type u₁ } [Category.{v₁ } D] (G : D ⥤ C) : Prop :=
6363 ∀ A : C,
64- ∃ (ι : Type v ) (B : ι → D) (f : ∀ i : ι, A ⟶ G.obj (B i)),
64+ ∃ (ι : Type w ) (B : ι → D) (f : ∀ i : ι, A ⟶ G.obj (B i)),
6565 ∀ (X) (h : A ⟶ G.obj X), ∃ (i : ι) (g : B i ⟶ X), f i ≫ G.map g = h
6666
6767section GeneralAdjointFunctorTheorem
6868
69- variable {D : Type u} [Category.{v} D]
69+ variable {D : Type u₁ } [Category.{v₁ } D]
7070variable (G : D ⥤ C)
7171
7272/-- If `G : D ⥤ C` is a right adjoint it satisfies the solution set condition. -/
73- theorem solutionSetCondition_of_isRightAdjoint [G.IsRightAdjoint] : SolutionSetCondition G := by
73+ theorem solutionSetCondition_of_isRightAdjoint [G.IsRightAdjoint] : SolutionSetCondition.{w} G := by
7474 intro A
7575 refine
7676 ⟨PUnit, fun _ => G.leftAdjoint.obj A, fun _ => (Adjunction.ofIsRightAdjoint G).unit.app A, ?_⟩
@@ -82,7 +82,7 @@ theorem solutionSetCondition_of_isRightAdjoint [G.IsRightAdjoint] : SolutionSetC
8282if `G` satisfies the solution set condition then `G` is a right adjoint.
8383-/
8484lemma isRightAdjoint_of_preservesLimits_of_solutionSetCondition [HasLimits D]
85- [PreservesLimits G] (hG : SolutionSetCondition G) : G.IsRightAdjoint := by
85+ [PreservesLimitsOfSize.{v₁, v₁} G] (hG : SolutionSetCondition.{v₁} G) : G.IsRightAdjoint := by
8686 refine @isRightAdjointOfStructuredArrowInitials _ _ _ _ G ?_
8787 intro A
8888 specialize hG A
0 commit comments