Disjoint coproducts #
Defines disjoint coproducts: coproducts where the intersection is initial and the coprojections
are monic.
Shows that a category with disjoint coproducts is InitialMonoClass
.
TODO #
- Adapt this to the infinitary (small) version: This is one of the conditions in Giraud's theorem characterising sheaf topoi.
- Construct examples (and counterexamples?), eg Type, Vec.
- Define extensive categories, and show every extensive category has disjoint coproducts.
- Define coherent categories and use this to define positive coherent categories.
Given any pullback diagram of the form
Z ⟶ X₁
↓ ↓
X₂ ⟶ X
where X₁ ⟶ X ← X₂
is a coproduct diagram, then Z
is initial, and both X₁ ⟶ X
and X₂ ⟶ X
are mono.
- isInitialOfIsPullbackOfIsCoproduct {X Z : C} {pX₁ : X₁ ⟶ X} {pX₂ : X₂ ⟶ X} {f : Z ⟶ X₁} {g : Z ⟶ X₂} (_cX : CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.BinaryCofan.mk pX₁ pX₂)) {comm : CategoryTheory.CategoryStruct.comp f pX₁ = CategoryTheory.CategoryStruct.comp g pX₂} : CategoryTheory.Limits.IsLimit (CategoryTheory.Limits.PullbackCone.mk f g comm) → CategoryTheory.Limits.IsInitial Z
- mono_inl (X : C) (X₁ : X₁ ⟶ X) (X₂ : X₂ ⟶ X) (_cX : CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.BinaryCofan.mk X₁ X₂)) : CategoryTheory.Mono X₁
- mono_inr (X : C) (X₁ : X₁ ⟶ X) (X₂ : X₂ ⟶ X) (_cX : CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.BinaryCofan.mk X₁ X₂)) : CategoryTheory.Mono X₂
Instances
If the coproduct of X₁
and X₂
is disjoint, then given any pullback square
Z ⟶ X₁
↓ ↓
X₂ ⟶ X
where X₁ ⟶ X ← X₂
is a coproduct, then Z
is initial.
Equations
Instances For
If the coproduct of X₁
and X₂
is disjoint, then given any pullback square
Z ⟶ X₁
↓ ↓
X₂ ⟶ X₁ ⨿ X₂
Z
is initial.
Equations
Instances For
If the coproduct of X₁
and X₂
is disjoint, then provided X₁ ⟶ X ← X₂
is a coproduct the
pullback is an initial object:
X₁
↓
X₂ ⟶ X
Equations
Instances For
If the coproduct of X₁
and X₂
is disjoint, the pullback of X₁ ⟶ X₁ ⨿ X₂
and X₂ ⟶ X₁ ⨿ X₂
is initial.
Equations
- One or more equations did not get rendered due to their size.
Instances For
C
has disjoint coproducts if every coproduct is disjoint.
- CoproductDisjoint (X Y : C) : CategoryTheory.Limits.CoproductDisjoint X Y
Instances
If C
has disjoint coproducts, any morphism out of initial is mono. Note it isn't true in
general that C
has strict initial objects, for instance consider the category of types and
partial functions.