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]
        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
        @[simp]

        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 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_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,
                  @[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

                  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