-
Notifications
You must be signed in to change notification settings - Fork 0
Product and Coproduct
There are two related tools needed to create an interesting construction in Sets:
- Product (used to create a Pullback)
- Coproduct (used to create a Pushout)
Intuitively, this is the grid formed by using X as the rows and Y as the columns to index into elements (x, y).
Using the illustration of products based on creating a grid from rows (index by elements of X) and columns (index by elements Y), we can recognize a universal property of products:
If we have a function f that takes elements of A to a particular row (X) and another function g that takes elements of A to a particular column Y in our grid created by X x Y
, then we can find a unique function which gives us an element in the grid which can be simply projected to X or Y by forgetting about one of the coordinates.
Intuitively, each element of A is an element in the grid. Since f and g are functions, an element α in A cannot be assigned to two different rows, nor can it be assigned to two different columns. This is the intuition behind the function <f, g> being unique in taking elements of A to the grid (X x Y
).
The universal property of products involves taking a set to a grid and then projecting down to the axis you care about.
Anytime behavior is determined by cases, a coproduct is involved.
The disjoint union of two sets. Disjoint refers to keeping track of elements that are common to both sets and tagging them so they are distinguishable. A Union would not keep track of the difference in which set a common element came from.
If you have two sets X and Y which each have functions f and g mapping them to a common set A, then one can create a "case-based" function which takes elements from the disjoint union of X and Y to the set A in the same way that each function did so while acting separately. The case-based function simply applies the relevant function to an element by inspecting the tag specifying which set it came from. The diagram of this would commute.
The universal property of coproducts is about recognizing which case you should apply to a bag of objects by seeing which function should be associated with each tagged object.
Author(s): Brooks Mershon.