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) ( : 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) ( : 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) ( : 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) ( : 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) ( : 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) ( : Nonempty (j i₀)) {Z : C} (h✝ : F.obj j Z) :
              CategoryStruct.comp (h.isoMap φ ).inv (CategoryStruct.comp (F.map φ) h✝) = h✝
              noncomputable def CategoryTheory.Functor.IsEventuallyConstantTo.coneπApp {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) :
              F.obj i₀ F.obj j

              Auxiliary definition for IsEventuallyConstantTo.cone.

              Equations
                Instances For
                  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) ( : 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) ( : 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) ( : 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) ( : 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) ( : 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) ( : Nonempty (i₀ i)) {Z : C} (h✝ : F.obj j Z) :
                              CategoryStruct.comp (h.isoMap φ ).inv (CategoryStruct.comp (F.map φ) h✝) = h✝
                              noncomputable def CategoryTheory.Functor.IsEventuallyConstantFrom.coconeιApp {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) :
                              F.obj j F.obj i₀

                              Auxiliary definition for IsEventuallyConstantFrom.cocone.

                              Equations
                                Instances For
                                  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