@@ -101,21 +101,13 @@ class LocallySmall (C : Type u) [Category.{v} C] : Prop where
101101instance (C : Type u) [Category.{v} C] [LocallySmall.{w} C] (X Y : C) : Small (X ⟶ Y) :=
102102 LocallySmall.hom_small X Y
103103
104+ theorem locallySmall_of_faithful {C : Type u} [Category.{v} C] {D : Type u'} [Category.{v'} D]
105+ (F : C ⥤ D) [Faithful F] [LocallySmall.{w} D] : LocallySmall.{w} C where
106+ hom_small {_ _} := small_of_injective F.map_injective
107+
104108theorem locallySmall_congr {C : Type u} [Category.{v} C] {D : Type u'} [Category.{v'} D]
105- (e : C ≌ D) : LocallySmall.{w} C ↔ LocallySmall.{w} D := by
106- fconstructor
107- · rintro ⟨L⟩
108- fconstructor
109- intro X Y
110- specialize L (e.inverse.obj X) (e.inverse.obj Y)
111- refine' (small_congr _).mpr L
112- exact equivOfFullyFaithful e.inverse
113- · rintro ⟨L⟩
114- fconstructor
115- intro X Y
116- specialize L (e.functor.obj X) (e.functor.obj Y)
117- refine' (small_congr _).mpr L
118- exact equivOfFullyFaithful e.functor
109+ (e : C ≌ D) : LocallySmall.{w} C ↔ LocallySmall.{w} D :=
110+ ⟨fun _ => locallySmall_of_faithful e.inverse, fun _ => locallySmall_of_faithful e.functor⟩
119111#align category_theory.locally_small_congr CategoryTheory.locallySmall_congr
120112
121113instance (priority := 100 ) locallySmall_self (C : Type u) [Category.{v} C] : LocallySmall.{v} C
@@ -249,6 +241,19 @@ theorem essentiallySmall_of_small_of_locallySmall [Small.{w} C] [LocallySmall.{w
249241 EssentiallySmall.{w} C :=
250242 (essentiallySmall_iff C).2 ⟨small_of_surjective Quotient.exists_rep, by infer_instance⟩
251243
244+ section FullSubcategory
245+
246+ instance locallySmall_fullSubcategory [LocallySmall.{w} C] (P : C → Prop ) :
247+ LocallySmall.{w} (FullSubcategory P) :=
248+ locallySmall_of_faithful <| fullSubcategoryInclusion P
249+
250+ instance essentiallySmall_fullSubcategory_mem (s : Set C) [Small.{w} s] [LocallySmall.{w} C] :
251+ EssentiallySmall.{w} (FullSubcategory (· ∈ s)) :=
252+ suffices Small.{w} (FullSubcategory (· ∈ s)) from essentiallySmall_of_small_of_locallySmall _
253+ small_of_injective (f := fun x => (⟨x.1 , x.2 ⟩ : s)) (by aesop_cat)
254+
255+ end FullSubcategory
256+
252257/-- Any thin category is locally small.
253258-/
254259instance (priority := 100 ) locallySmall_of_thin {C : Type u} [Category.{v} C] [Quiver.IsThin C] :
0 commit comments