2.6 Cartesian product types
Given types and , consider the cartesian product![]()
type .
For any elements and a path , by functoriality we can extract paths and .
Thus, we have a function
| (2.6.1) |
Theorem 2.6.2.
For any and , the functionΒ (2.6.1) is an equivalence.
Read logically, this says that two pairs are equal if they are equal
componentwise. Read category-theoretically, this says that the
morphisms in a product groupoid
are pairs of morphisms. Read
homotopy-theoretically, this says that the paths in a product
space are pairs of paths.
Proof.
We need a function in the other direction:
| (2.6.3) |
By the induction![]()
rule for cartesian products, we may assume that and are both pairs, i.e.Β and for some and .
In this case, what we want is a function
Now by induction for the cartesian product in its domain, we may assume given and .
And by two path inductions, we may assume that and and both and are reflexivity![]()
.
But in this case, we have and so we can take the output to also be reflexivity.
It remains to prove thatΒ (2.6.3) is quasi-inverse toΒ (2.6.1).
This is a simple sequence of inductions, but they have to be done in the right order.
In one direction, let us start with .
We first do a path induction on in order to assume that and is reflexivity.
In this case, since and are defined by path induction,Β (2.6.1) takes to the pair .
Now by induction on , we may assume , so that this is .
Thus,Β (2.6.3) takes it by definition to , which (under our current assumptions) is .
In the other direction, if we start with , then we first do induction on and to assume that they are pairs and , and then induction on to reduce it to a pair where and . Now by induction on and , we may assume they are reflexivities and , in which caseΒ (2.6.3) yields and thenΒ (2.6.1) returns us to . β
In particular, we have shown thatΒ (2.6.1) has an inverse![]()
Β (2.6.3), which we may denote by
Note that a special case of this yields the propositional uniqueness principle for products: .
It can be helpful to view as a constructor or introduction rule for , analogous to the βpairingβ constructor of itself, which introduces the pair given and . From this perspective, the two components ofΒ (2.6.1):
are elimination rules. Similarly, the two homotopies which witnessΒ (2.6.3) as quasi-inverse toΒ (2.6.1) consist, respectively, of propositional computation rules:
and a propositional uniqueness principle:
We can also characterize the reflexivity, inverses, and composition of paths in componentwise:
The same is true for the rest of the higher groupoid structure![]()
considered in Β§2.1 (http://planetmath.org/21typesarehighergroupoids).
All of these equations can be derived by using path induction on the given paths and then returning reflexivity.
We now consider transport in a pointwise product of type families. Given type families , we abusively write for the type family defined by . Now given and , we can transport along to obtain an element of .
Theorem 2.6.4.
In the above situation, we have
Proof.
By path induction, we may assume is reflexivity, in which case we have
Thus, it remains to show . But this is the propositional uniqueness principle for product types, which, as we remarked above, follows from Theorem 2.6.2 (http://planetmath.org/26cartesianproducttypes#Thmprethm1). β
Finally, we consider the functoriality of under cartesian products. Suppose given types and functions and ; then we can define a function by .
Theorem 2.6.5.
In the above situation, given and and , we have
Proof.
Note first that the above equation is well-typed. On the one hand, since we have . On the other hand, since and , we also have .
Now, by induction, we may assume and , in which case we have and . Thus, by path induction, we may assume and are reflexivity, in which case the desired equation holds judgmentally. β
| Title | 2.6 Cartesian product types |
|---|---|
| \metatable |