6.8 Pushouts


From a category-theoretic point of view, one of the important aspects of any foundational system is the ability to construct limits and colimitsMathworldPlanetmath. In set-theoretic foundations, these are limits and colimits of sets, whereas in our case they are limits and colimits of types. We have seen in Β§2.15 (http://planetmath.org/215universalproperties) that cartesian productMathworldPlanetmath types have the correct universal propertyMathworldPlanetmath of a categorical product of types, and in http://planetmath.org/node/87640Exercise 2.9 that coproductMathworldPlanetmath types likewise have their expected universal property.

As remarked in Β§2.15 (http://planetmath.org/215universalproperties), more general limits can be constructed using identity types and Ξ£-types, e.g.Β the pullbackPlanetmathPlanetmath of f:Aβ†’C and g:Bβ†’C is βˆ‘(a:A)βˆ‘(b:B)(f(a)=g(b)) (see http://planetmath.org/node/87642Exercise 2.11). However, more general colimits require identifying elements coming from different types, for which higher inductives are well-adapted. Since all our constructions are homotopy-invariant, all our colimits are necessarily homotopy colimits, but we drop the ubiquitous adjective in the interests of concision.

In this sectionPlanetmathPlanetmathPlanetmathPlanetmathPlanetmath we discuss pushouts, as perhaps the simplest and one of the most useful colimits. Indeed, one expects all finite colimits (for a suitable homotopical definition of β€œfinite”) to be constructible from pushouts and finite coproducts. It is also possible to give a direct construction of more general colimits using higher inductive types, but this is somewhat technical, and also not completely satisfactory since we do not yet have a good fully general notion of homotopy coherent diagrams.

Suppose given a span of types and functions:

\includegraphics

HoTT_fig_6.8.1.png

The pushout of this span is the higher inductive type AβŠ”CB presented by

  • β€’

    a function 𝗂𝗇𝗅:Aβ†’AβŠ”CB,

  • β€’

    a function 𝗂𝗇𝗋:Bβ†’AβŠ”CB, and

  • β€’

    for each c:C a path π—€π—…π—Žπ–Ύ(c):(𝗂𝗇𝗅(f(c))=𝗂𝗇𝗋(g(c))).

In other words, AβŠ”CB is the disjoint unionMathworldPlanetmathPlanetmath of A and B, together with for every c:C a witness that f⁒(c) and g⁒(c) are equal. The recursion principle says that if D is another type, we can define a map s:AβŠ”CBβ†’D by defining

  • β€’

    for each a:A, the value of s⁒(𝗂𝗇𝗅⁒(a)):D,

  • β€’

    for each b:B, the value of s⁒(𝗂𝗇𝗋⁒(b)):D, and

  • β€’

    for each c:C, the value of 𝖺𝗉s⁒(π—€π—…π—Žπ–Ύβ’(c)):s⁒(𝗂𝗇𝗅⁒(f⁒(c)))=s⁒(𝗂𝗇𝗋⁒(g⁒(c))).

We leave it to the reader to formulate the inductionMathworldPlanetmath principle. It also implies the uniqueness principle that if s,sβ€²:AβŠ”CBβ†’D are two maps such that

s⁒(𝗂𝗇𝗅⁒(a)) =s′⁒(𝗂𝗇𝗅⁒(a))
s⁒(𝗂𝗇𝗋⁒(b)) =s′⁒(𝗂𝗇𝗋⁒(b))
𝖺𝗉s⁒(π—€π—…π—Žπ–Ύβ’(c)) =𝖺𝗉s′⁒(π—€π—…π—Žπ–Ύβ’(c))  (modulo the previous two equalities)

for every a,b,c, then s=sβ€².

To formulate the universal property of a pushout, we introduce the following.

Definition 6.8.1.

Given a span D=(A←𝑓C→𝑔B) and a type D, a cocone under D with vertex D consists of functions i:Aβ†’D and j:Bβ†’D and a homotopy h:∏(c:C)(i(f(c))=j(g(c))):

\includegraphics

HoTT_fig_6.8.2.png

We denote by coconeD⁒(D) the type of all such cocones, i.e.

π–Όπ—ˆπ–Όπ—ˆπ—‡π–Ύπ’Ÿ(D):β‰‘βˆ‘(i:Aβ†’D)βˆ‘(j:Bβ†’D)∏(c:C)(i(f(c))=j(g(c))).

Of course, there is a canonical cocone under π’Ÿ with vertex AβŠ”CB consisting of 𝗂𝗇𝗅, 𝗂𝗇𝗋, and π—€π—…π—Žπ–Ύ.

\includegraphics

HoTT_fig_6.8.3.png

The following lemma says that this is the universalPlanetmathPlanetmath such cocone.

Lemma 6.8.2.

For any type E, there is an equivalence

(AβŠ”CBβ†’E)β‰ƒπ–Όπ—ˆπ–Όπ—ˆπ—‡π–Ύπ’Ÿ(E).
Proof.

Let’s consider an arbitrary type E:𝒰. There is a canonical function

{(AβŠ”CBβ†’E)βŸΆπ–Όπ—ˆπ–Όπ—ˆπ—‡π–Ύπ’Ÿβ’(E)t⟼t∘cβŠ”

defined by sending (i,j,h) to (t∘i,t∘j,𝖺𝗉t∘h). We show that this is an equivalence.

Firstly, given a c=(i,j,h):π–Όπ—ˆπ–Όπ—ˆπ—‡π–Ύπ’Ÿβ’(E), we need to construct a map π—Œβ’(c) from AβŠ”CB to E.

\includegraphics

HoTT_fig_6.8.4.png

The map π—Œβ’(c) is defined in the following way

π—Œβ’(c)⁒(𝗂𝗇𝗅⁒(a)) :≑i(a),
π—Œβ’(c)⁒(𝗂𝗇𝗋⁒(b)) :≑j(b),
π–Ίπ—‰π—Œβ’(c)⁒(π—€π—…π—Žπ–Ύβ’(x)) :=h⁒(x).

We have defined a map

{π–Όπ—ˆπ–Όπ—ˆπ—‡π–Ύπ’Ÿβ’(E)⟢(AβŠ”BCβ†’E)cβŸΌπ—Œβ’(c)

and we need to prove that this map is an inversePlanetmathPlanetmathPlanetmath to t↦t∘cβŠ”. On the one hand, if c=(i,j,h):π–Όπ—ˆπ–Όπ—ˆπ—‡π–Ύπ’Ÿβ’(E), we have

π—Œβ’(c)∘cβŠ” =(π—Œβ’(c)βˆ˜π—‚π—‡π—…,π—Œβ’(c)βˆ˜π—‚π—‡π—‹,π–Ίπ—‰π—Œβ’(c)βˆ˜π—€π—…π—Žπ–Ύ)
=(Ξ»a.π—Œ(c)(𝗂𝗇𝗅(a)),Ξ»b.π—Œ(c)(𝗂𝗇𝗋(b)),Ξ»x.π–Ίπ—‰π—Œβ’(c)(π—€π—…π—Žπ–Ύ(x)))
=(Ξ»a.i(a),Ξ»b.j(b),Ξ»x.h(x))
≑(i,j,h)
=c.

On the other hand, if t:AβŠ”BCβ†’E, we want to prove that π—Œβ’(t∘cβŠ”)=t. For a:A, we have

π—Œβ’(t∘cβŠ”)⁒(𝗂𝗇𝗅⁒(a))=t⁒(𝗂𝗇𝗅⁒(a))

because the first component of t∘cβŠ” is tβˆ˜π—‚π—‡π—…. In the same way, for b:B we have

π—Œβ’(t∘cβŠ”)⁒(𝗂𝗇𝗋⁒(b))=t⁒(𝗂𝗇𝗋⁒(b))

and for x:C we have

π–Ίπ—‰π—Œβ’(t∘cβŠ”)⁒(π—€π—…π—Žπ–Ύβ’(x))=𝖺𝗉t⁒(π—€π—…π—Žπ–Ύβ’(x))

hence π—Œβ’(t∘cβŠ”)=t.

This proves that cβ†¦π—Œβ’(c) is a quasi-inversePlanetmathPlanetmath to t↦t∘cβŠ”, as desired. ∎

A number of standard homotopy-theoretic constructions can be expressed as (homotopy) pushouts.

  • β€’

    The pushout of the span πŸβ†Aβ†’πŸ is the suspension Σ⁒A (see Β§6.5 (http://planetmath.org/65suspensions)).

  • β€’

    The pushout of A←𝗉𝗋1AΓ—B→𝗉𝗋2B is called the join of A and B, written A*B.

  • β€’

    The pushout of πŸβ†A→𝑓B is the cone or cofiber of f.

  • β€’

    If A and B are equipped with basepoints a0:A and b0:B, then the pushout of A←a0πŸβ†’b0B is the wedge A∨B.

  • β€’

    If A and B are pointed as before, define f:A∨Bβ†’AΓ—B by f(𝗂𝗇𝗅(a)):≑(a,b0) and f(𝗂𝗇𝗋(b)):≑(a0,b), with f(π—€π—…π—Žπ–Ύ):=𝗋𝖾𝖿𝗅(a0,b0). Then the cone of f is called the smash product A∧B.

We will discuss pushouts further in http://planetmath.org/node/87580Chapter 7,http://planetmath.org/node/87582Chapter 8.

Remark 6.8.3.

As remarked in Β§3.7 (http://planetmath.org/37propositionaltruncation), the notations ∧ and ∨ for the smash product and wedge of pointed spaces are also used in logic for β€œand” and β€œor”, respectively. Since types in homotopy type theory can behave either like spaces or like propositionsPlanetmathPlanetmath, there is technically a potential for conflict β€” but since they rarely do both at once, context generally disambiguates. Furthermore, the smash product and wedge only apply to pointed spaces, while the only pointed mere proposition is βŠ€β‰‘1 β€” and we have 1∧1=1 and 1∨1=1 for either meaning of ∧ and ∨.

Remark 6.8.4.

Note that colimits do not in general preserve truncatedness. For instance, S0 and 1 are both sets, but the pushout of 1←S0β†’1 is S1, which is not a set. If we are interested in colimits in the categoryMathworldPlanetmath of n-types, therefore (and, in particular, in the category of sets), we need to β€œtruncate” the colimit somehow. We will return to this point in Β§6.9 (http://planetmath.org/69truncations),http://planetmath.org/node/87580Chapter 7,http://planetmath.org/node/87584Chapter 10.

Title 6.8 Pushouts
\metatable