Documentation

Mathlib.CategoryTheory.Limits.Constructions.Filtered

Constructing colimits from finite colimits and filtered colimits #

We construct colimits of size w from finite colimits and filtered colimits of size w. Since w-sized colimits are constructed from coequalizers and w-sized coproducts, it suffices to construct w-sized coproducts from finite coproducts and w-sized filtered colimits.

The idea is simple: to construct coproducts of shape α, we take the colimit of the filtered diagram of all coproducts of finite subsets of α.

We also deduce the dual statement by invoking the original statement in Cᵒᵖ.

If C has finite coproducts, a functor Discrete α ⥤ C lifts to a functor Finset (Discrete α) ⥤ C by taking coproducts.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    @[simp]
    theorem CategoryTheory.Limits.CoproductsFromFiniteFiltered.liftToFinsetObj_map {C : Type u} [Category.{v, u} C] {α : Type w} [HasFiniteCoproducts C] (F : Functor (Discrete α) C) {x✝ Y : Finset (Discrete α)} (h : x✝ Y) :
    (liftToFinsetObj F).map h = Sigma.desc fun (y : { x : Discrete α // x x✝ }) => Sigma.ι (fun (x : { x : Discrete α // x Y }) => F.obj x) y,

    If C has finite coproducts and filtered colimits, we can construct arbitrary coproducts by taking the colimit of the diagram formed by the coproducts of finite sets over the indexing type.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      @[simp]
      theorem CategoryTheory.Limits.CoproductsFromFiniteFiltered.liftToFinsetColimitCocone_isColimit_desc {C : Type u} [Category.{v, u} C] {α : Type w} [HasFiniteCoproducts C] [HasColimitsOfShape (Finset (Discrete α)) C] (F : Functor (Discrete α) C) (s : Cocone F) :
      (liftToFinsetColimitCocone F).isColimit.desc s = colimit.desc (liftToFinsetObj F) { pt := s.pt, ι := { app := fun (x : Finset (Discrete α)) => Sigma.desc fun (x_1 : { x_1 : Discrete α // x_1 x }) => s.ι.app x_1, naturality := } }

      The functor taking a functor Discrete α ⥤ C to a functor Finset (Discrete α) ⥤ C by taking coproducts.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        @[simp]
        @[simp]
        theorem CategoryTheory.Limits.CoproductsFromFiniteFiltered.liftToFinset_obj_map (C : Type u) [Category.{v, u} C] (α : Type w) [HasFiniteCoproducts C] (F : Functor (Discrete α) C) {x✝ Y : Finset (Discrete α)} (h : x✝ Y) :
        ((liftToFinset C α).obj F).map h = Sigma.desc fun (y : { x : Discrete α // x x✝ }) => Sigma.ι (fun (x : { x : Discrete α // x Y }) => F.obj x) y,
        @[simp]
        theorem CategoryTheory.Limits.CoproductsFromFiniteFiltered.liftToFinset_map_app (C : Type u) [Category.{v, u} C] (α : Type w) [HasFiniteCoproducts C] {X✝ Y✝ : Functor (Discrete α) C} (β : X✝ Y✝) (x✝ : Finset (Discrete α)) :
        ((liftToFinset C α).map β).app x✝ = Sigma.map fun (x : { x : Discrete α // x x✝ }) => β.app x

        The converse of the construction in liftToFinsetColimitCocone: we can form a cocone on the coproduct of f whose legs are the coproducts over the finite subsets of α.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For

          The cocone finiteSubcoproductsCocone is a colimit cocone.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For

            The liftToFinset functor, precomposed with forming a colimit, is a coproduct on the original functor.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For

              liftToFinset, when composed with the evaluation functor, results in the whiskering composed with colim.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For

                If C has finite coproducts, a functor Discrete α ⥤ C lifts to a functor Finset (Discrete α) ⥤ C by taking coproducts.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  @[simp]
                  theorem CategoryTheory.Limits.ProductsFromFiniteCofiltered.liftToFinsetObj_map {C : Type u} [Category.{v, u} C] {α : Type w} [HasFiniteProducts C] (F : Functor (Discrete α) C) {Y x✝ : (Finset (Discrete α))ᵒᵖ} (h : Y x✝) :
                  (liftToFinsetObj F).map h = Pi.lift fun (y : { x : Discrete α // x Opposite.unop x✝ }) => Pi.π (fun (x : { x : Discrete α // x Opposite.unop Y }) => F.obj x) y,

                  If C has finite coproducts and filtered colimits, we can construct arbitrary coproducts by taking the colimit of the diagram formed by the coproducts of finite sets over the indexing type.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    @[simp]
                    theorem CategoryTheory.Limits.ProductsFromFiniteCofiltered.liftToFinsetLimitCone_isLimit_lift {C : Type u} [Category.{v, u} C] {α : Type w} [HasFiniteProducts C] [HasLimitsOfShape (Finset (Discrete α))ᵒᵖ C] (F : Functor (Discrete α) C) (s : Cone F) :
                    (liftToFinsetLimitCone F).isLimit.lift s = limit.lift (liftToFinsetObj F) { pt := s.pt, π := { app := fun (x : (Finset (Discrete α))ᵒᵖ) => Pi.lift fun (x_1 : { x_1 : Discrete α // x_1 Opposite.unop x }) => s.π.app x_1, naturality := } }

                    The converse of the construction in liftToFinsetLimitCone: we can form a cone on the product of f whose legs are the products over the finite subsets of α.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For

                      The cone finiteSubproductsCone is a limit cone.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For

                        The functor taking a functor Discrete α ⥤ C to a functor Finset (Discrete α) ⥤ C by taking coproducts.

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          @[simp]
                          theorem CategoryTheory.Limits.ProductsFromFiniteCofiltered.liftToFinset_map_app (C : Type u) [Category.{v, u} C] (α : Type w) [HasFiniteProducts C] {X✝ Y✝ : Functor (Discrete α) C} (β : X✝ Y✝) (x✝ : (Finset (Discrete α))ᵒᵖ) :
                          ((liftToFinset C α).map β).app x✝ = Pi.map fun (x : { x : Discrete α // x Opposite.unop x✝ }) => β.app x
                          @[simp]
                          theorem CategoryTheory.Limits.ProductsFromFiniteCofiltered.liftToFinset_obj_map (C : Type u) [Category.{v, u} C] (α : Type w) [HasFiniteProducts C] (F : Functor (Discrete α) C) {Y x✝ : (Finset (Discrete α))ᵒᵖ} (h : Y x✝) :
                          ((liftToFinset C α).obj F).map h = Pi.lift fun (y : { x : Discrete α // x Opposite.unop x✝ }) => Pi.π (fun (x : { x : Discrete α // x Opposite.unop Y }) => F.obj x) y,

                          The liftToFinset functor, precomposed with forming a colimit, is a coproduct on the original functor.

                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For

                            liftToFinset, when composed with the evaluation functor, results in the whiskering composed with colim.

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For