Documentation

Mathlib.CategoryTheory.Presentable.Basic

Presentable objects #

A functor F : C ⥤ D is κ-accessible (Functor.IsCardinalAccessible) if it commutes with colimits of shape J where J is any κ-filtered category (that is essentially small relative to the universe w such that κ : Cardinal.{w}.). We also introduce another typeclass Functor.IsAccessible saying that there exists a regular cardinal κ such that Functor.IsCardinalAccessible.

An object X of a category is κ-presentable (IsCardinalPresentable) if the functor Hom(X, _) (i.e. coyoneda.obj (op X)) is κ-accessible. Similarly as for accessible functors, we define a type class IsAccessible.

References #

A functor F : C ⥤ D is κ-accessible (with κ a regular cardinal) if it preserves colimits of shape J where J is any κ-filtered category. In the mathematical literature, some assumptions are often made on the categories C or D (e.g. the existence of κ-filtered colimits, see HasCardinalFilteredColimits below), but here we do not make such assumptions.

Instances

    A functor is accessible relative to a universe w if it is κ-accessible for some regular κ : Cardinal.{w}.

    Instances
      @[reducible, inline]

      An object X in a category is κ-presentable (for κ a regular cardinal) when the functor Hom(X, _) preserves colimits indexed by κ-filtered categories.

      Equations
      Instances For

        The property of objects that are κ-presentable.

        Equations
        Instances For
          theorem CategoryTheory.Limits.exists_hom_of_preservesColimit_coyoneda {C : Type u₁} [Category.{v₁, u₁} C] {J : Type u_1} [Category.{v_1, u_1} J] {D : Functor J C} {c : Cocone D} (hc : IsColimit c) {X : C} [PreservesColimit D (coyoneda.obj (Opposite.op X))] (f : X c.pt) :
          ∃ (j : J) (p : X D.obj j), CategoryStruct.comp p (c.ι.app j) = f
          theorem CategoryTheory.Limits.exists_eq_of_preservesColimit_coyoneda {C : Type u₁} [Category.{v₁, u₁} C] {J : Type u_1} [Category.{v_1, u_1} J] {D : Functor J C} [IsFiltered J] {c : Cocone D} (hc : IsColimit c) {X : C} [PreservesColimit D (coyoneda.obj (Opposite.op X))] {i j : J} (f : X D.obj i) (g : X D.obj j) (h : CategoryStruct.comp f (c.ι.app i) = CategoryStruct.comp g (c.ι.app j)) :
          ∃ (k : J) (u : i k) (v : j k), CategoryStruct.comp f (D.map u) = CategoryStruct.comp g (D.map v)
          theorem CategoryTheory.Limits.exists_eq_of_preservesColimit_coyoneda_self {C : Type u₁} [Category.{v₁, u₁} C] {J : Type u_1} [Category.{v_1, u_1} J] {D : Functor J C} [IsFiltered J] {c : Cocone D} (hc : IsColimit c) {X : C} [PreservesColimit D (coyoneda.obj (Opposite.op X))] {i : J} (f g : X D.obj i) (h : CategoryStruct.comp f (c.ι.app i) = CategoryStruct.comp g (c.ι.app i)) :
          ∃ (j : J) (a : i j), CategoryStruct.comp f (D.map a) = CategoryStruct.comp g (D.map a)
          theorem CategoryTheory.Limits.exists_hom_of_preservesColimit_yoneda {C : Type u₁} [Category.{v₁, u₁} C] {J : Type u_1} [Category.{v_1, u_1} J] {D : Functor J C} {c : Cone D} (hc : IsLimit c) {X : C} [PreservesColimit D.op (yoneda.obj X)] (f : c.pt X) :
          ∃ (j : J) (p : D.obj j X), CategoryStruct.comp (c.π.app j) p = f
          theorem CategoryTheory.Limits.exists_eq_of_preservesColimit_yoneda {C : Type u₁} [Category.{v₁, u₁} C] {J : Type u_1} [Category.{v_1, u_1} J] {D : Functor J C} [IsCofiltered J] {c : Cone D} (hc : IsLimit c) {X : C} [PreservesColimit D.op (yoneda.obj X)] {i j : J} (f : D.obj i X) (g : D.obj j X) (h : CategoryStruct.comp (c.π.app i) f = CategoryStruct.comp (c.π.app j) g) :
          ∃ (k : J) (u : k i) (v : k j), CategoryStruct.comp (D.map u) f = CategoryStruct.comp (D.map v) g
          theorem CategoryTheory.Limits.exists_eq_of_preservesColimit_yoneda_self {C : Type u₁} [Category.{v₁, u₁} C] {J : Type u_1} [Category.{v_1, u_1} J] {D : Functor J C} [IsCofiltered J] {c : Cone D} (hc : IsLimit c) {X : C} [PreservesColimit D.op (yoneda.obj X)] {i : J} (f g : D.obj i X) (h : CategoryStruct.comp (c.π.app i) f = CategoryStruct.comp (c.π.app i) g) :
          ∃ (j : J) (a : j i), CategoryStruct.comp (D.map a) f = CategoryStruct.comp (D.map a) g
          theorem CategoryTheory.IsCardinalPresentable.exists_eq_of_isColimit {C : Type u₁} [Category.{v₁, u₁} C] {X : C} (κ : Cardinal.{w}) [Fact κ.IsRegular] {J : Type u_1} [Category.{v_1, u_1} J] [IsCardinalPresentable X κ] [EssentiallySmall.{w, v_1, u_1} J] [IsCardinalFiltered J κ] {F : Functor J C} {c : Limits.Cocone F} (hc : Limits.IsColimit c) {i₁ i₂ : J} (f₁ : X F.obj i₁) (f₂ : X F.obj i₂) (hf : CategoryStruct.comp f₁ (c.ι.app i₁) = CategoryStruct.comp f₂ (c.ι.app i₂)) :
          ∃ (j : J) (u : i₁ j) (v : i₂ j), CategoryStruct.comp f₁ (F.map u) = CategoryStruct.comp f₂ (F.map v)
          theorem CategoryTheory.IsCardinalPresentable.exists_eq_of_isColimit' {C : Type u₁} [Category.{v₁, u₁} C] {X : C} (κ : Cardinal.{w}) [Fact κ.IsRegular] {J : Type u_1} [Category.{v_1, u_1} J] [IsCardinalPresentable X κ] [EssentiallySmall.{w, v_1, u_1} J] [IsCardinalFiltered J κ] {F : Functor J C} {c : Limits.Cocone F} (hc : Limits.IsColimit c) {i : J} (f₁ f₂ : X F.obj i) (hf : CategoryStruct.comp f₁ (c.ι.app i) = CategoryStruct.comp f₂ (c.ι.app i)) :
          ∃ (j : J) (u : i j), CategoryStruct.comp f₁ (F.map u) = CategoryStruct.comp f₂ (F.map u)
          @[reducible, inline]

          An object of a category is presentable relative to a universe w if it is κ-presentable for some regular κ : Cardinal.{w}.

          Equations
          Instances For

            A category has κ-filtered colimits if it has colimits of shape J for any κ-filtered category J.

            Instances