Binary (co)products #
We define a category WalkingPair, 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 HasBinaryProducts and HasBinaryCoproducts 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.
References #
The type of objects for the diagram indexing a binary (co)product.
- left : WalkingPair
- right : WalkingPair
Instances For
The equivalence swapping left and right.
Instances For
An equivalence from WalkingPair to Bool, sometimes useful when reindexing limits.
Instances For
The function on the walking pair, sending the two points to X and Y.
Instances For
The diagram on the walking pair, sending the two points to X and Y.
Instances For
The natural transformation between two functors out of the walking pair, specified by its components.
Instances For
The natural isomorphism between two functors out of the walking pair, specified by its components.
Instances For
Every functor out of the walking pair is naturally isomorphic (actually, equal) to a pair
Instances For
The natural isomorphism between pair X Y ⋙ F and pair (F.obj X) (F.obj Y).
Instances For
A binary fan is just a cone on a diagram indexing a product.
Instances For
The first projection of a binary fan.
Instances For
The second projection of a binary fan.
Instances For
Constructs an isomorphism of BinaryFans out of an isomorphism of the tips that commutes with
the projections.
Instances For
A convenient way to show that a binary fan is a limit.
Instances For
A binary cofan is just a cocone on a diagram indexing a coproduct.
Instances For
The first inclusion of a binary cofan.
Instances For
The second inclusion of a binary cofan.
Instances For
Constructs an isomorphism of BinaryCofans out of an isomorphism of the tips that commutes with
the injections.
Instances For
A convenient way to show that a binary cofan is a colimit.
Instances For
A binary fan with vertex P consists of the two projections π₁ : P ⟶ X and π₂ : P ⟶ Y.
Instances For
A binary cofan with vertex P consists of the two inclusions ι₁ : X ⟶ P and ι₂ : Y ⟶ P.
Instances For
Every BinaryFan is isomorphic to an application of BinaryFan.mk.
Instances For
Every BinaryFan is isomorphic to an application of BinaryFan.mk.
Instances For
This is a more convenient formulation to show that a BinaryFan constructed using
BinaryFan.mk is a limit cone.
Instances For
This is a more convenient formulation to show that a BinaryCofan constructed using
BinaryCofan.mk is a colimit cocone.
Instances For
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.pt satisfying l ≫ s.fst = f and l ≫ s.snd = g.
Instances For
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.pt ⟶ W satisfying s.inl ≫ l = f and s.inr ≫ l = g.
Instances For
Binary products are symmetric.
Instances For
If X' ≅ X, then X × Y also is the product of X' and Y.
Instances For
If Y' ≅ Y, then X x Y also is the product of X and Y'.
Instances For
Binary coproducts are symmetric.
Instances For
If X' ≅ X, then X ⨿ Y also is the coproduct of X' and Y.
Instances For
If Y' ≅ Y, then X ⨿ Y also is the coproduct of X and Y'.
Instances For
An abbreviation for HasLimit (pair X Y).
Instances For
An abbreviation for HasColimit (pair X Y).
Instances For
If we have a product of X and Y, we can access it using prod X Y or X ⨯ Y.
Instances For
If we have a coproduct of X and Y, we can access it using coprod X Y or X ⨿ Y.
Instances For
Notation for the product
Instances For
Notation for the coproduct
Instances For
The projection map to the first component of the product.
Instances For
The projection map to the second component of the product.
Instances For
The inclusion map from the first component of the coproduct.
Instances For
The inclusion map from the second component of the coproduct.
Instances For
The binary fan constructed from the projection maps is a limit.
Instances For
The binary cofan constructed from the coprojection maps is a colimit.
Instances For
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.
Instances For
diagonal arrow of the binary product in the category fam I
Instances For
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.
Instances For
codiagonal arrow of the binary coproduct
Instances For
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.
Instances For
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.
Instances For
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.
Instances For
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.
Instances For
If the products W ⨯ X and Y ⨯ Z exist, then every pair of isomorphisms f : W ≅ Y and
g : X ≅ Z induces an isomorphism prod.mapIso f g : W ⨯ X ≅ Y ⨯ Z.
Instances For
If the coproducts W ⨿ X and Y ⨿ Z exist, then every pair of isomorphisms f : W ≅ Y and
g : W ≅ Z induces an isomorphism coprod.mapIso f g : W ⨿ X ≅ Y ⨿ Z.
Instances For
A category HasBinaryProducts if it has all limits of shape Discrete WalkingPair,
i.e. if it has a product for every pair of objects.
Instances For
A category HasBinaryCoproducts if it has all colimit of shape Discrete WalkingPair,
i.e. if it has a coproduct for every pair of objects.
Instances For
If C has all limits of diagrams pair X Y, then it has all binary products
If C has all colimits of diagrams pair X Y, then it has all binary coproducts
The braiding isomorphism which swaps a binary product.
Instances For
The braiding isomorphism can be passed through a map by swapping the order.
The braiding isomorphism can be passed through a map by swapping the order.
The braiding isomorphism is symmetric.
The braiding isomorphism is symmetric.
The associator isomorphism for binary products.
Instances For
The left unitor isomorphism for binary products with the terminal object.
Instances For
The right unitor isomorphism for binary products with the terminal object.
Instances For
The braiding isomorphism which swaps a binary coproduct.
Instances For
The braiding isomorphism is symmetric.
The associator isomorphism for binary coproducts.
Instances For
The left unitor isomorphism for binary coproducts with the initial object.
Instances For
The right unitor isomorphism for binary coproducts with the initial object.
Instances For
The binary product functor.
Instances For
The product functor can be decomposed.
Instances For
The binary coproduct functor.
Instances For
The coproduct functor can be decomposed.
Instances For
The product comparison morphism.
In CategoryTheory/Limits/Preserves we show this is always an iso iff F preserves binary products.
Instances For
Naturality of the prodComparison morphism in both arguments.
Naturality of the prodComparison morphism in both arguments.
Naturality of the prodComparison morphism in a natural transformation.
Naturality of the prodComparison morphism in a natural transformation.
The product comparison morphism from F(A ⨯ -) to FA ⨯ F-, whose components are given by
prodComparison.
Instances For
If the product comparison morphism is an iso, its inverse is natural.
If the product comparison morphism is an iso, its inverse is natural.
The natural isomorphism F(A ⨯ -) ≅ FA ⨯ F-, provided each prodComparison F A B is an
isomorphism (as B changes).
Instances For
The coproduct comparison morphism.
In Mathlib/CategoryTheory/Limits/Preserves/ we show
this is always an iso iff F preserves binary coproducts.
Instances For
Naturality of the coprodComparison morphism in both arguments.
Naturality of the coprodComparison morphism in both arguments.
The coproduct comparison morphism from FA ⨿ F- to F(A ⨿ -), whose components are given by
coprodComparison.
Instances For
If the coproduct comparison morphism is an iso, its inverse is natural.
If the coproduct comparison morphism is an iso, its inverse is natural.
The natural isomorphism FA ⨿ F- ≅ F(A ⨿ -), provided each coprodComparison F A B is an
isomorphism (as B changes).
Instances For
Auxiliary definition for Over.coprod.
Instances For
A category with binary coproducts has a functorial sup operation on over categories.
Instances For
A binary fan gives a binary cofan in the opposite category.
Instances For
A binary cofan gives a binary fan in the opposite category.
Instances For
A binary fan in the opposite category gives a binary cofan.
Instances For
A binary cofan in the opposite category gives a binary fan.
Instances For
If a BinaryFan is a limit, then its opposite is a colimit.
Instances For
If a BinaryCofan is a colimit, then its opposite is a limit.
Instances For
If a BinaryFan in the opposite category is a limit, then its unop is a colimit.
Instances For
If a BinaryCofan in the opposite category is a colimit, then its unop is a limit.
Instances For
Swap the two sides of a BinaryFan.
Instances For
If a binary fan s over X Y is a limit cone, then s.swap is a limit cone over Y X.
Instances For
Construct HasBinaryProduct Y X from HasBinaryProduct X Y.
This can't be an instance, as it would cause a loop in typeclass search.
Given a limit cone over X and Y, and another limit cone over Y and X, we can construct
an isomorphism between the cone points. Relative to some fixed choice of limits cones for every
pair, these isomorphisms constitute a braiding.
Instances For
Given binary fans sXY over X Y, and sYZ over Y Z, and s over sXY.X Z,
if sYZ is a limit cone we can construct a binary fan over X sYZ.X.
This is an ingredient of building the associator for a Cartesian category.
Instances For
Given binary fans sXY over X Y, and sYZ over Y Z, and s over X sYZ.X,
if sYZ is a limit cone we can construct a binary fan over sXY.X Z.
This is an ingredient of building the associator for a Cartesian category.
Instances For
If all the binary fans involved a limit cones, BinaryFan.assoc produces another limit cone.
Instances For
Given two pairs of limit cones corresponding to the parenthesisations of X × Y × Z,
we obtain an isomorphism between the cone points.
Instances For
Given a fixed family of limit data for every pair X Y, we obtain an associator.
Instances For
Construct a left unitor from specified limit cones.
Instances For
Construct a right unitor from specified limit cones.