Filtered colimits in the category of types. #
We give a characterisation of the equality in filtered colimits in Type as a
lemma CategoryTheory.Limits.Types.FilteredColimit.colimit_eq_iff:
colimit.ι F i xi = colimit.ι F j xj ↔ ∃ k (f : i ⟶ k) (g : j ⟶ k), F.map f xi = F.map g xj.
def
CategoryTheory.Limits.Types.FilteredColimit.Rel
{J : Type v}
[Category.{w, v} J]
(F : Functor J (Type u))
(x y : (j : J) × F.obj j)
:
An alternative relation on Σ j, F.obj j,
which generates the same equivalence relation as we use to define the colimit in Type above,
but that is more convenient when working with filtered colimits.
Elements in F.obj j and F.obj j' are equivalent if there is some k : J to the right
where their images are equal.
Equations
Instances For
theorem
CategoryTheory.Limits.Types.FilteredColimit.rel_of_colimitTypeRel
{J : Type v}
[Category.{w, v} J]
(F : Functor J (Type u))
(x y : (j : J) × F.obj j)
:
F.ColimitTypeRel x y → FilteredColimit.Rel F x y
theorem
CategoryTheory.Limits.Types.FilteredColimit.eqvGen_colimitTypeRel_of_rel
{J : Type v}
[Category.{w, v} J]
(F : Functor J (Type u))
(x y : (j : J) × F.obj j)
:
FilteredColimit.Rel F x y → Relation.EqvGen F.ColimitTypeRel x y
noncomputable def
CategoryTheory.Limits.Types.FilteredColimit.isColimitOf
{J : Type v}
[Category.{w, v} J]
(F : Functor J (Type u))
(t : Cocone F)
(hsurj : ∀ (x : t.pt), ∃ (i : J) (xi : F.obj i), x = t.ι.app i xi)
(hinj :
∀ (i j : J) (xi : F.obj i) (xj : F.obj j),
t.ι.app i xi = t.ι.app j xj → ∃ (k : J) (f : i ⟶ k) (g : j ⟶ k), F.map f xi = F.map g xj)
:
Recognizing filtered colimits of types.
Equations
- One or more equations did not get rendered due to their size.
Instances For
noncomputable def
CategoryTheory.Limits.Types.FilteredColimit.isColimitOf'
{J : Type v}
[Category.{w, v} J]
(F : Functor J (Type u))
[IsFilteredOrEmpty J]
(t : Cocone F)
(hsurj : ∀ (x : t.pt), ∃ (i : J) (xi : F.obj i), x = t.ι.app i xi)
(hinj : ∀ (i : J) (x y : F.obj i), t.ι.app i x = t.ι.app i y → ∃ (k : J) (f : i ⟶ k), F.map f x = F.map f y)
:
Recognizing filtered colimits of types. The injectivity condition here is
slightly easier to check as compared to isColimitOf.
Equations
- CategoryTheory.Limits.Types.FilteredColimit.isColimitOf' F t hsurj hinj = CategoryTheory.Limits.Types.FilteredColimit.isColimitOf F t hsurj ⋯
Instances For
theorem
CategoryTheory.Limits.Types.FilteredColimit.rel_equiv
{J : Type v}
[Category.{w, v} J]
(F : Functor J (Type u))
[IsFilteredOrEmpty J]
:
theorem
CategoryTheory.Limits.Types.FilteredColimit.rel_eq_eqvGen_colimitTypeRel
{J : Type v}
[Category.{w, v} J]
(F : Functor J (Type u))
[IsFilteredOrEmpty J]
:
theorem
CategoryTheory.Limits.Types.FilteredColimit.colimit_eq_iff_aux
{J : Type v}
[Category.{w, v} J]
(F : Functor J (Type u))
[IsFilteredOrEmpty J]
[HasColimit F]
{i j : J}
{xi : F.obj i}
{xj : F.obj j}
:
theorem
CategoryTheory.Limits.Types.FilteredColimit.isColimit_eq_iff
{J : Type v}
[Category.{w, v} J]
(F : Functor J (Type u))
[IsFilteredOrEmpty J]
{t : Cocone F}
(ht : IsColimit t)
{i j : J}
{xi : F.obj i}
{xj : F.obj j}
:
theorem
CategoryTheory.Limits.Types.FilteredColimit.colimit_eq_iff
{J : Type v}
[Category.{w, v} J]
(F : Functor J (Type u))
[IsFilteredOrEmpty J]
[HasColimit F]
{i j : J}
{xi : F.obj i}
{xj : F.obj j}
: