7.4 Colimits of n-types
Recall that in §6.8 (http://planetmath.org/68pushouts), we used higher inductive types to define pushouts of types, and proved their universal property.
In general, a (homotopy) colimit of n-types may no longer be an n-type (for an extreme counterexample, see http://planetmath.org/node/87811Exercise 7.2).
However, if we n-truncate it, we obtain an n-type which satisfies the correct universal property with respect to other n-types.
In this section we prove this for pushouts, which are the most important and nontrivial case of colimits. Recall the following definitions from §6.8 (http://planetmath.org/68pushouts).
Definition 7.4.1.
A span is a 5-tuple D=(A,B,C,f,g) with f:C→A and g:C→B.
HoTT_fig_7.4.1.png
Definition 7.4.2.
Given a span D=(A,B,C,f,g) and a type D, a cocone under D with base D is a triple (i,j,h) with i:A→D, j:B→D and h:∏(c:C)i(f(c))=j(g(c)):
HoTT_fig_7.4.2.png
We denote by coconeD(D) the type of all such cocones.
The type of cocones is (covariantly) functorial. For instance, given D,E and a map t:D→E, there is a map
{𝖼𝗈𝖼𝗈𝗇𝖾𝒟(D)⟶𝖼𝗈𝖼𝗈𝗇𝖾𝒟(E)c⟼t∘c |
defined by:
t∘(i,j,h)=(t∘i,t∘j,𝖺𝗉t∘h) |
And given D,E,F, functions t:D→E, u:E→F and c:𝖼𝗈𝖼𝗈𝗇𝖾𝒟(D), we have
𝗂𝖽D∘c | =c | (7.4.3) | ||
(u∘t)∘c | =u∘(t∘c). | (7.4.4) |
Definition 7.4.5.
Given a span D of n-types, an n-type D, and a cocone c:coconeD(D), the pair (D,c) is said to be a pushout of D in n-types if for every n-type E, the map
{(D→E)⟶𝖼𝗈𝖼𝗈𝗇𝖾𝒟(E)t⟼t∘c |
is an equivalence.
In order to construct pushouts of n-types, we need to explain how to reflect spans and cocones.
Definition 7.4.6.
Let
HoTT_fig_7.4.3.png
be a span. We denote by ∥D∥n the following span of n-types:
HoTT_fig_7.4.4.png
Definition 7.4.7.
Let D:U and c=(i,j,h):coconeD(D). We define
∥c∥n=(∥i∥n,∥j∥n,∥h∥n):𝖼𝗈𝖼𝗈𝗇𝖾∥𝒟∥n(∥D∥n) |
where ∥h∥n:∥i∥n∘∥f∥n∼∥j∥n∘∥g∥n is defined as in Lemma 7.3.5 (http://planetmath.org/73truncations#Thmprelem3).
We now observe that the maps from each type to its n-truncation assemble into a map of spans, in the following sense.
Definition 7.4.8.
Let
\includegraphicsHoTTfig7.4.5.png |
be spans. A map of spans consists of functions , , and and homotopies and .
Thus, for any span , we have a map of spans consisting of , , , and the naturality homotopies and from (7.3.4) (http://planetmath.org/73truncations#S0.E1).
We also need to know that maps of spans behave functorially. Namely, if is a map of spans and any type, then we have
where is the composite
(7.4.9) |
We denote this cocone by . Moreover, this functorial action commutes with the other functoriality of cocones:
Lemma 7.4.10.
Given and , the following diagram commutes:
HoTT_fig_7.4.8.png
Proof.
Given , note that both composites yield a cocone whose first two components are and . Thus, it remains to verify that the homotopies agree. For the top-right composite, the homotopy is (7.4.9) with replaced by :
HoTT_fig_7.4.9.png
(For brevity, we are omitting the parentheses around the arguments of functions.) On the other hand, for the left-bottom composite, the homotopy is applied to (7.4.9). Since respects path-concatenation, this is equal to
HoTT_fig_7.4.10.png
But and similarly for , so these two homotopies are equal. ∎
Finally, note that since we defined using Lemma 7.3.5 (http://planetmath.org/73truncations#Thmprelem3), the additional condition (7.3.6) (http://planetmath.org/73truncations#S0.E2) implies
(7.4.11) |
for any .
Now we can prove our desired theorem.
Theorem 7.4.12.
Let be a span and its pushout. Then is a pushout of in -types.
Proof.
Let be an -type, and consider the following diagram:
HoTT_fig_7.4.11.png
The upper horizontal arrow is an equivalence since is an -type, while is an equivalence since is a pushout cocone. Thus, by the 2-out-of-3 property, to show that is an equivalence, it will suffice to show that the upper square commutes and that the middle horizontal arrow is an equivalence. To see that the upper square commutes, let ; then
(by Lemma 7.4.10 (http://planetmath.org/74colimitsofntypeshmprelem2)) | ||||
(by \eqref{eq:conetrunc}) | ||||
(by \eqref{eq:composeconefunc}) |
To show that the middle horizontal arrow is an equivalence, consider the lower square. The two lower vertical arrows are simply applications of :
and hence are equivalences by function extensionality. The lowest horizontal arrow is defined by
where is the composite
(by $\mathsf{funext}({\lambda}z.\,\mathsf{ap}_{i}(\mathsf{nat}^{f}_{n}(z)))$) | ||||
(by $\mathsf{ap}_{\mathord{\hskip1.0pt\text{--}\hskip1.0pt}\circ|\mathord{\hskip1.0pt\text{--}\hskip1.0pt}|_{n}^{C}}(p)$) | ||||
(by $\mathsf{funext}({\lambda}z.\,\mathsf{ap}_{j}(\mathsf{nat}^{g}_{n}(z)))$) |
This is an equivalence, because it is induced by an equivalence of cospans. Thus, by 2-out-of-3, it will suffice to show that the lower square commutes. But the two composites around the lower square agree definitionally on the first two components, so it suffices to show that for in the lower left corner and , the path
(with as above) is equal to the composite
(by $\mathsf{ap}_{i}(\mathsf{nat}^{f}_{n}(z))$) | ||||
(by $\mathsf{happly}(p,\mathopen{}\left|z\right|_{n}\mathclose{})$) | ||||
(by $\mathsf{ap}_{j}(\mathsf{nat}^{g}_{n}(z))$) |
However, since is functorial, it suffices to check equality for the three component paths:
The first and third of these are just the fact that is quasi-inverse to , while the second is an easy general lemma about and precomposition. ∎
Title | 7.4 Colimits of n-types |
---|---|
\metatable |