Documentation

Mathlib.CategoryTheory.Limits.Constructions.EventuallyConstant

Limits of eventually constant functors #

If F : J ⥤ C is a functor from a cofiltered category, and j : J, we introduce a property F.IsEventuallyConstantTo j which says that for any f : i ⟶ j, the induced morphism F.map f is an isomorphism. Under this assumption, it is shown that F admits F.obj j as a limit (Functor.IsEventuallyConstantTo.isLimitCone).

A typeclass Cofiltered.IsEventuallyConstant is also introduced, and the dual results for filtered categories and colimits are also obtained.

A functor F : J ⥤ C is eventually constant to j : J if for any map f : i ⟶ j, the induced morphism F.map f is an isomorphism. If J is cofiltered, this implies F has a limit.

Equations
Instances For

    A functor F : J ⥤ C is eventually constant from i : J if for any map f : i ⟶ j, the induced morphism F.map f is an isomorphism. If J is filtered, this implies F has a colimit.

    Equations
    Instances For
      theorem CategoryTheory.Functor.IsEventuallyConstantTo.isIso_map {J : Type u_1} {C : Type u_2} [Category.{u_3, u_1} J] [Category.{u_4, u_2} C] {F : Functor J C} {i₀ : J} (h : F.IsEventuallyConstantTo i₀) {i j : J} (φ : i j) (π : j i₀) :
      IsIso (F.map φ)
      noncomputable def CategoryTheory.Functor.IsEventuallyConstantTo.isoMap {J : Type u_1} {C : Type u_2} [Category.{u_3, u_1} J] [Category.{u_4, u_2} C] {F : Functor J C} {i₀ : J} (h : F.IsEventuallyConstantTo i₀) {i j : J} (φ : i j) (hφ : Nonempty (j i₀)) :
      F.obj i F.obj j

      The isomorphism F.obj i ≅ F.obj j induced by φ : i ⟶ j, when h : F.IsEventuallyConstantTo i₀ and there exists a map j ⟶ i₀.

      Equations
      Instances For
        @[simp]
        theorem CategoryTheory.Functor.IsEventuallyConstantTo.isoMap_hom {J : Type u_1} {C : Type u_2} [Category.{u_3, u_1} J] [Category.{u_4, u_2} C] {F : Functor J C} {i₀ : J} (h : F.IsEventuallyConstantTo i₀) {i j : J} (φ : i j) (hφ : Nonempty (j i₀)) :
        (h.isoMap φ ).hom = F.map φ
        @[simp]
        theorem CategoryTheory.Functor.IsEventuallyConstantTo.isoMap_hom_inv_id {J : Type u_1} {C : Type u_2} [Category.{u_4, u_1} J] [Category.{u_3, u_2} C] {F : Functor J C} {i₀ : J} (h : F.IsEventuallyConstantTo i₀) {i j : J} (φ : i j) (hφ : Nonempty (j i₀)) :
        @[simp]
        theorem CategoryTheory.Functor.IsEventuallyConstantTo.isoMap_hom_inv_id_assoc {J : Type u_1} {C : Type u_2} [Category.{u_4, u_1} J] [Category.{u_3, u_2} C] {F : Functor J C} {i₀ : J} (h : F.IsEventuallyConstantTo i₀) {i j : J} (φ : i j) (hφ : Nonempty (j i₀)) {Z : C} (h✝ : F.obj i Z) :
        CategoryStruct.comp (F.map φ) (CategoryStruct.comp (h.isoMap φ ).inv h✝) = h✝
        @[simp]
        theorem CategoryTheory.Functor.IsEventuallyConstantTo.isoMap_inv_hom_id {J : Type u_1} {C : Type u_2} [Category.{u_4, u_1} J] [Category.{u_3, u_2} C] {F : Functor J C} {i₀ : J} (h : F.IsEventuallyConstantTo i₀) {i j : J} (φ : i j) (hφ : Nonempty (j i₀)) :
        @[simp]
        theorem CategoryTheory.Functor.IsEventuallyConstantTo.isoMap_inv_hom_id_assoc {J : Type u_1} {C : Type u_2} [Category.{u_4, u_1} J] [Category.{u_3, u_2} C] {F : Functor J C} {i₀ : J} (h : F.IsEventuallyConstantTo i₀) {i j : J} (φ : i j) (hφ : Nonempty (j i₀)) {Z : C} (h✝ : F.obj j Z) :
        CategoryStruct.comp (h.isoMap φ ).inv (CategoryStruct.comp (F.map φ) h✝) = h✝
        theorem CategoryTheory.Functor.IsEventuallyConstantTo.coneπApp_eq {J : Type u_1} {C : Type u_2} [Category.{u_3, u_1} J] [Category.{u_4, u_2} C] {F : Functor J C} {i₀ : J} (h : F.IsEventuallyConstantTo i₀) [IsCofiltered J] (j j' : J) (α : j' i₀) (β : j' j) :

        Given h : F.IsEventuallyConstantTo i₀, this is the (limit) cone for F whose point is F.obj i₀.

        Equations
        Instances For

          When h : F.IsEventuallyConstantTo i₀, the limit of F exists and is F.obj i₀.

          Equations
          Instances For
            theorem CategoryTheory.Functor.IsEventuallyConstantTo.isIso_π_of_isLimit' {J : Type u_1} {C : Type u_2} [Category.{u_3, u_1} J] [Category.{u_4, u_2} C] {F : Functor J C} {i₀ : J} (h : F.IsEventuallyConstantTo i₀) [IsCofiltered J] {c : Limits.Cone F} (hc : Limits.IsLimit c) (j : J) (π : j i₀) :
            IsIso (c.π.app j)

            More general version of isIso_π_of_isLimit.

            theorem CategoryTheory.Functor.IsEventuallyConstantFrom.isIso_map {J : Type u_1} {C : Type u_2} [Category.{u_3, u_1} J] [Category.{u_4, u_2} C] {F : Functor J C} {i₀ : J} (h : F.IsEventuallyConstantFrom i₀) {i j : J} (φ : i j) (ι : i₀ i) :
            IsIso (F.map φ)
            noncomputable def CategoryTheory.Functor.IsEventuallyConstantFrom.isoMap {J : Type u_1} {C : Type u_2} [Category.{u_3, u_1} J] [Category.{u_4, u_2} C] {F : Functor J C} {i₀ : J} (h : F.IsEventuallyConstantFrom i₀) {i j : J} (φ : i j) (hφ : Nonempty (i₀ i)) :
            F.obj i F.obj j

            The isomorphism F.obj i ≅ F.obj j induced by φ : i ⟶ j, when h : F.IsEventuallyConstantFrom i₀ and there exists a map i₀ ⟶ i.

            Equations
            Instances For
              @[simp]
              theorem CategoryTheory.Functor.IsEventuallyConstantFrom.isoMap_hom {J : Type u_1} {C : Type u_2} [Category.{u_3, u_1} J] [Category.{u_4, u_2} C] {F : Functor J C} {i₀ : J} (h : F.IsEventuallyConstantFrom i₀) {i j : J} (φ : i j) (hφ : Nonempty (i₀ i)) :
              (h.isoMap φ ).hom = F.map φ
              @[simp]
              theorem CategoryTheory.Functor.IsEventuallyConstantFrom.isoMap_hom_inv_id {J : Type u_1} {C : Type u_2} [Category.{u_4, u_1} J] [Category.{u_3, u_2} C] {F : Functor J C} {i₀ : J} (h : F.IsEventuallyConstantFrom i₀) {i j : J} (φ : i j) (hφ : Nonempty (i₀ i)) :
              @[simp]
              theorem CategoryTheory.Functor.IsEventuallyConstantFrom.isoMap_hom_inv_id_assoc {J : Type u_1} {C : Type u_2} [Category.{u_4, u_1} J] [Category.{u_3, u_2} C] {F : Functor J C} {i₀ : J} (h : F.IsEventuallyConstantFrom i₀) {i j : J} (φ : i j) (hφ : Nonempty (i₀ i)) {Z : C} (h✝ : F.obj i Z) :
              CategoryStruct.comp (F.map φ) (CategoryStruct.comp (h.isoMap φ ).inv h✝) = h✝
              @[simp]
              theorem CategoryTheory.Functor.IsEventuallyConstantFrom.isoMap_inv_hom_id {J : Type u_1} {C : Type u_2} [Category.{u_4, u_1} J] [Category.{u_3, u_2} C] {F : Functor J C} {i₀ : J} (h : F.IsEventuallyConstantFrom i₀) {i j : J} (φ : i j) (hφ : Nonempty (i₀ i)) :
              @[simp]
              theorem CategoryTheory.Functor.IsEventuallyConstantFrom.isoMap_inv_hom_id_assoc {J : Type u_1} {C : Type u_2} [Category.{u_4, u_1} J] [Category.{u_3, u_2} C] {F : Functor J C} {i₀ : J} (h : F.IsEventuallyConstantFrom i₀) {i j : J} (φ : i j) (hφ : Nonempty (i₀ i)) {Z : C} (h✝ : F.obj j Z) :
              CategoryStruct.comp (h.isoMap φ ).inv (CategoryStruct.comp (F.map φ) h✝) = h✝
              theorem CategoryTheory.Functor.IsEventuallyConstantFrom.coconeιApp_eq {J : Type u_1} {C : Type u_2} [Category.{u_3, u_1} J] [Category.{u_4, u_2} C] {F : Functor J C} {i₀ : J} (h : F.IsEventuallyConstantFrom i₀) [IsFiltered J] (j j' : J) (α : j j') (β : i₀ j') :

              Given h : F.IsEventuallyConstantFrom i₀, this is the (limit) cocone for F whose point is F.obj i₀.

              Equations
              Instances For

                When h : F.IsEventuallyConstantFrom i₀, the colimit of F exists and is F.obj i₀.

                Equations
                Instances For
                  theorem CategoryTheory.Functor.IsEventuallyConstantFrom.isIso_ι_of_isColimit' {J : Type u_1} {C : Type u_2} [Category.{u_3, u_1} J] [Category.{u_4, u_2} C] {F : Functor J C} {i₀ : J} (h : F.IsEventuallyConstantFrom i₀) [IsFiltered J] {c : Limits.Cocone F} (hc : Limits.IsColimit c) (j : J) (ι : i₀ j) :
                  IsIso (c.ι.app j)

                  More general version of isIso_ι_of_isColimit.

                  A functor F : J ⥤ C from a cofiltered category is eventually constant if there exists j : J, such that for any f : i ⟶ j, the induced map F.map f is an isomorphism.

                  Instances

                    A functor F : J ⥤ C from a filtered category is eventually constant if there exists i : J, such that for any f : i ⟶ j, the induced map F.map f is an isomorphism.

                    Instances