Documentation

Mathlib.CategoryTheory.Functor.KanExtension.DenseAt

Canonical colimits, or functors that are dense at an object #

Given a functor F : C ℤ D and Y : D, we say that F is dense at Y (F.DenseAt Y), if Y identifies to the colimit of all F.obj X for X : C and f : F.obj X ⟶ Y, i.e. Y identifies to the colimit of the obvious functor CostructuredArrow F Y ℤ D. In some references, it is also said that Y is a canonical colimit relatively to F. While F.DenseAt Y contains data, we also introduce the corresponding property isDenseAt F of objects of D.

TODO #

References #

@[reducible, inline]
abbrev CategoryTheory.Functor.DenseAt {C : Type u₁} {D : Type uā‚‚} [Category.{v₁, u₁} C] [Category.{vā‚‚, uā‚‚} D] (F : Functor C D) (Y : D) :
Type (max u₁ uā‚‚ vā‚‚)

A functor F : C ℤ D is dense at Y : D if the obvious natural transformation F ⟶ F ā‹™ šŸ­ D makes šŸ­ D a pointwise left Kan extension of F along itself at Y, i.e. Y identifies to the colimit of the obvious functor CostructuredArrow F Y ℤ D.

Equations
    Instances For

      F is dense at Y if Y identifies to the colimit of the obvious functor CostructuredArrow F Y ℤ D.

      Equations
        Instances For
          def CategoryTheory.Functor.DenseAt.ofIso {C : Type u₁} {D : Type uā‚‚} [Category.{v₁, u₁} C] [Category.{vā‚‚, uā‚‚} D] {F : Functor C D} {Y : D} (hY : F.DenseAt Y) {Y' : D} (e : Y ≅ Y') :
          F.DenseAt Y'

          If F : C ℤ D is dense at Y : D, then it is also at Y' if Y and Y' are isomorphic.

          Equations
            Instances For
              def CategoryTheory.Functor.DenseAt.ofNatIso {C : Type u₁} {D : Type uā‚‚} [Category.{v₁, u₁} C] [Category.{vā‚‚, uā‚‚} D] {F : Functor C D} {Y : D} (hY : F.DenseAt Y) {G : Functor C D} (e : F ≅ G) :

              If F : C ℤ D is dense at Y : D, and G is a functor that is isomorphic to F, then G is also dense at Y.

              Equations
                Instances For
                  noncomputable def CategoryTheory.Functor.DenseAt.precompEquivOfFinal {C : Type u₁} {D : Type uā‚‚} [Category.{v₁, u₁} C] [Category.{vā‚‚, uā‚‚} D] {F : Functor C D} {Y : D} {C' : Type u_1} [Category.{v_1, u_1} C'] (G : Functor C' C) [(CostructuredArrow.pre G F Y).Final] :

                  If the canonical functor CostructuredArrow (G ≫ F) Y ℤ CostructuredArrow F Y is final, then G ā‹™ F is dense at Y if and only if F is dense at Y.

                  Equations
                    Instances For
                      noncomputable def CategoryTheory.Functor.DenseAt.precompOfFinal {C : Type u₁} {D : Type uā‚‚} [Category.{v₁, u₁} C] [Category.{vā‚‚, uā‚‚} D] {F : Functor C D} {Y : D} (hY : F.DenseAt Y) {C' : Type u_1} [Category.{v_1, u_1} C'] (G : Functor C' C) [(CostructuredArrow.pre G F Y).Final] :
                      (G.comp F).DenseAt Y

                      If F : C ℤ D is dense at Y : D, then so is G ā‹™ F if the canonical functor CostructuredArrow (G ≫ F) Y ℤ CostructuredArrow F Y is final. This holds in particular if G is an equivalence.

                      Equations
                        Instances For
                          @[deprecated CategoryTheory.Functor.DenseAt.precompOfFinal (since := "2025-12-17")]
                          def CategoryTheory.Functor.DenseAt.precompEquivalence {C : Type u₁} {D : Type uā‚‚} [Category.{v₁, u₁} C] [Category.{vā‚‚, uā‚‚} D] {F : Functor C D} {Y : D} (hY : F.DenseAt Y) {C' : Type u_1} [Category.{v_1, u_1} C'] (G : Functor C' C) [(CostructuredArrow.pre G F Y).Final] :
                          (G.comp F).DenseAt Y

                          Alias of CategoryTheory.Functor.DenseAt.precompOfFinal.


                          If F : C ℤ D is dense at Y : D, then so is G ā‹™ F if the canonical functor CostructuredArrow (G ≫ F) Y ℤ CostructuredArrow F Y is final. This holds in particular if G is an equivalence.

                          Equations
                            Instances For
                              noncomputable def CategoryTheory.Functor.DenseAt.postcompEquivalence {C : Type u₁} {D : Type uā‚‚} [Category.{v₁, u₁} C] [Category.{vā‚‚, uā‚‚} D] {F : Functor C D} {Y : D} (hY : F.DenseAt Y) {D' : Type u_1} [Category.{v_1, u_1} D'] (G : Functor D D') [G.IsEquivalence] :
                              (F.comp G).DenseAt (G.obj Y)

                              If F : C ℤ D is dense at Y : D and G : D ℤ D' is an equivalence, then F ā‹™ G is dense at G.obj Y.

                              Equations
                                Instances For

                                  Given a functor F : C ℤ D, this is the property of objects Y : D such that F is dense at Y.

                                  Equations
                                    Instances For