mathlib documentation

category_theory.​limits.​shapes.​binary_products

category_theory.​limits.​shapes.​binary_products

Binary (co)products

We define a category walking_pair, which is the index category for a binary (co)product diagram. A convenience method pair X Y constructs the functor from the walking pair, hitting the given objects.

We define prod X Y and coprod X Y as limits and colimits of such functors.

Typeclasses has_binary_products and has_binary_coproducts assert the existence of (co)limits shaped as walking pairs.

We include lemmas for simplifying equations involving projections and coprojections, and define braiding and associating isomorphisms, and the product comparison morphism.

The type of objects for the diagram indexing a binary (co)product.

An equivalence from walking_pair to bool, sometimes useful when reindexing limits.

Equations

The diagram on the walking pair, sending the two points to X and Y.

Equations

The natural transformation between two functors out of the walking pair, specified by its components.

Equations

The natural isomorphism between pair X Y ⋙ F and pair (F.obj X) (F.obj Y).

Equations
def category_theory.​limits.​binary_fan {C : Type u} [category_theory.category C] :
C → C → Type (max u v)

A binary fan is just a cone on a diagram indexing a product.

def category_theory.​limits.​binary_cofan {C : Type u} [category_theory.category C] :
C → C → Type (max u v)

A binary cofan is just a cocone on a diagram indexing a coproduct.

A binary fan with vertex P consists of the two projections π₁ : P ⟶ X and π₂ : P ⟶ Y.

Equations

A binary cofan with vertex P consists of the two inclusions ι₁ : X ⟶ P and ι₂ : Y ⟶ P.

Equations

If s is a limit binary fan over X and Y, then every pair of morphisms f : W ⟶ X and g : W ⟶ Y induces a morphism l : W ⟶ s.X satisfying l ≫ s.fst = f and l ≫ s.snd = g.

Equations

If s is a colimit binary cofan over X and Y,, then every pair of morphisms f : X ⟶ W and g : Y ⟶ W induces a morphism l : s.X ⟶ W satisfying s.inl ≫ l = f and s.inr ≫ l = g.

Equations
def category_theory.​limits.​has_binary_product {C : Type u} [category_theory.category C] :
C → C → Type (max u v)

An abbreviation for has_limit (pair X Y).

Instances
def category_theory.​limits.​has_binary_coproduct {C : Type u} [category_theory.category C] :
C → C → Type (max u v)

An abbreviation for has_colimit (pair X Y).

If we have chosen a product of X and Y, we can access it using prod X Y or X ⨯ Y.

If we have chosen a coproduct of X and Y, we can access it using coprod X Y or X ⨿ Y.

The projection map to the first component of the product.

The projecton map to the second component of the product.

The inclusion map from the first component of the coproduct.

The inclusion map from the second component of the coproduct.

If the product of X and Y exists, then every pair of morphisms f : W ⟶ X and g : W ⟶ Y induces a morphism prod.lift f g : W ⟶ X ⨯ Y.

If the coproduct of X and Y exists, then every pair of morphisms f : X ⟶ W and g : Y ⟶ W induces a morphism coprod.desc f g : X ⨿ Y ⟶ W.

If the product of X and Y exists, then every pair of morphisms f : W ⟶ X and g : W ⟶ Y induces a morphism l : W ⟶ X ⨯ Y satisfying l ≫ prod.fst = f and l ≫ prod.snd = g.

Equations

If the coproduct of X and Y exists, then every pair of morphisms f : X ⟶ W and g : Y ⟶ W induces a morphism l : X ⨿ Y ⟶ W satisfying coprod.inl ≫ l = f and coprod.inr ≫ l = g.

Equations

If the products W ⨯ X and Y ⨯ Z exist, then every pair of morphisms f : W ⟶ Y and g : X ⟶ Z induces a morphism prod.map f g : W ⨯ X ⟶ Y ⨯ Z.

If the products W ⨯ X and Y ⨯ Z exist, then every pair of isomorphisms f : W ≅ Y and g : X ≅ Z induces a isomorphism prod.map_iso f g : W ⨯ X ≅ Y ⨯ Z.

If the coproducts W ⨿ X and Y ⨿ Z exist, then every pair of morphisms f : W ⟶ Y and g : W ⟶ Z induces a morphism coprod.map f g : W ⨿ X ⟶ Y ⨿ Z.

If the coproducts W ⨿ X and Y ⨿ Z exist, then every pair of isomorphisms f : W ≅ Y and g : W ≅ Z induces a isomorphism coprod.map_iso f g : W ⨿ X ≅ Y ⨿ Z.

has_binary_products represents a choice of product for every pair of objects.

Instances

has_binary_coproducts represents a choice of coproduct for every pair of objects.

Instances

The binary product functor.

Equations

The product comparison morphism.

In category_theory/limits/preserves we show this is always an iso iff F preserves binary products.

Equations