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_quot_rel
{J : Type v}
[Category.{w, v} J]
(F : Functor J (Type u))
(x y : (j : J) × F.obj j)
:
Quot.Rel F x y → FilteredColimit.Rel F x y
theorem
CategoryTheory.Limits.Types.FilteredColimit.eqvGen_quot_rel_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 (Quot.Rel F) 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_quot_rel
{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}
: