Documentation

Mathlib.CategoryTheory.Limits.Shapes.DisjointCoproduct

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 #

class CategoryTheory.Limits.CoproductDisjoint {C : Type u} [Category.{v, u} C] (X₁ X₂ : C) :
Type (max u v)

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.

Instances
    def CategoryTheory.Limits.isInitialOfIsPullbackOfIsCoproduct {C : Type u} [Category.{v, u} C] {Z X₁ X₂ X : C} [CoproductDisjoint X₁ X₂] {pX₁ : X₁ X} {pX₂ : X₂ X} (cX : IsColimit (BinaryCofan.mk pX₁ pX₂)) {f : Z X₁} {g : Z X₂} {comm : CategoryStruct.comp f pX₁ = CategoryStruct.comp g pX₂} (cZ : IsLimit (PullbackCone.mk f g comm)) :

    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
      noncomputable def CategoryTheory.Limits.isInitialOfIsPullbackOfCoproduct {C : Type u} [Category.{v, u} C] {Z X₁ X₂ : C} [HasBinaryCoproduct X₁ X₂] [CoproductDisjoint X₁ X₂] {f : Z X₁} {g : Z X₂} {comm : CategoryStruct.comp f coprod.inl = CategoryStruct.comp g coprod.inr} (cZ : IsLimit (PullbackCone.mk f g comm)) :

      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
        noncomputable def CategoryTheory.Limits.isInitialOfPullbackOfIsCoproduct {C : Type u} [Category.{v, u} C] {X X₁ X₂ : C} [CoproductDisjoint X₁ X₂] {pX₁ : X₁ X} {pX₂ : X₂ X} [HasPullback pX₁ pX₂] (cX : IsColimit (BinaryCofan.mk pX₁ pX₂)) :
        IsInitial (pullback pX₁ pX₂)

        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.

            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.