7.4 Colimits of n-types

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/87811

Exercise 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

.

\includegraphics

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

)

)

:

\includegraphics

HoTT_fig_7.4.2.png

We denote by

cocone

D

⁢

(

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

:

cocone

D

⁢

(

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

\includegraphics

HoTT_fig_7.4.3.png

be a span. We denote by

∥

D

∥

n

the following
span of

n

-types:

\includegraphics

HoTT_fig_7.4.4.png

Definition 7.4.7

.

Let

D

:

U

and

c

=

(

i

,

j

,

h

)

:

cocone

D

⁢

(

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

\includegraphics

⁢

H

⁢

o

⁢

T

⁢

T

f

⁢

i

⁢

g

7

⁢

.4.5

.

p

⁢

n

⁢

g

𝑎𝑛𝑑

\includegraphics

⁢

H

⁢

o

⁢

T

⁢

T

f

⁢

i

⁢

g

7

⁢

.4.6

.

p

⁢

n

⁢

g

be spans.
A

map of spans

D

→

D

′

consists of functions

α

:

A

→

A

′

,

β

:

B

→

B

′

, and

γ

:

C

→

C

′

and homotopies

ϕ

:

α

∘

f

∼

f

′

∘

γ

and

ψ

:

β

∘

g

∼

g

′

∘

γ

.

Thus, for any span

𝒟

, we have a map of spans

|

–

|

n

𝒟

:

𝒟

→

∥

𝒟

∥

n

consisting of

|

–

|

n

A

,

|

–

|

n

B

,

|

–

|

n

C

, and the naturality homotopies

𝗇𝖺𝗍

n

f

and

𝗇𝖺𝗍

n

g

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

D

any type, then we have

{

𝖼𝗈𝖼𝗈𝗇𝖾

𝒟

′

⁢

(

D

)

⟶

𝖼𝗈𝖼𝗈𝗇𝖾

𝒟

⁢

(

D

)

(

i

,

j

,

h

)

⟼

(

i

∘

α

,

j

∘

β

,

k

)

where

k

:

∏

(

z

:

C

)

i

⁢

(

α

⁢

(

f

⁢

(

z

)

)

)

=

j

⁢

(

β

⁢

(

g

⁢

(

z

)

)

)

is the composite

\includegraphics

⁢

H

⁢

o

⁢

T

⁢

T

f

⁢

i

⁢

g

7

⁢

.4.7

.

p

⁢

n

⁢

g

(7.4.9)

We denote this cocone by

(

i

,

j

,

h

)

∘

(

α

,

β

,

γ

,

ϕ

,

ψ

)

.
Moreover, this functorial action commutes with the other functoriality of cocones:

Lemma 7.4.10

.

Given

(

α

,

β

,

γ

,

ϕ

,

ψ

)

:

D

→

D

′

and

t

:

D

→

E

, the following diagram commutes:

\includegraphics

HoTT_fig_7.4.8.png

Proof.

Given

(

i

,

j

,

h

)

:

𝖼𝗈𝖼𝗈𝗇𝖾

𝒟

′

⁢

(

D

)

, note that both composites yield a cocone whose first two components are

t

∘

i

∘

α

and

t

∘

j

∘

β

.
Thus, it remains to verify that the homotopies agree.
For the top-right composite, the homotopy is (

7.4.9

) with

(

i

,

j

,

h

)

replaced by

(

t

∘

i

,

t

∘

j

,

𝖺𝗉

t

∘

h

)

:

\includegraphics

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

𝖺𝗉

t

applied to (

7.4.9

).
Since

𝖺𝗉

respects path-concatenation, this is equal to

\includegraphics

HoTT_fig_7.4.10.png

But

𝖺𝗉

t

∘

𝖺𝗉

i

=

𝖺𝗉

t

∘

i

and similarly for

j

, so these two homotopies are equal.
∎

Finally, note that since we defined

∥

c

∥

n

:

𝖼𝗈𝖼𝗈𝗇𝖾

∥

𝒟

∥

n

(

∥

D

∥

n

)

using Lemma 7.3.5 (

http://planetmath.org/73truncations#Thmprelem3

), the additional condition (7.3.6) (

http://planetmath.org/73truncations#S0.E2

) implies

|

–

|

n

D

∘

c

=

∥

c

∥

n

∘

|

–

|

n

𝒟

.

(7.4.11)

for any

c

:

𝖼𝗈𝖼𝗈𝗇𝖾

𝒟

⁢

(

D

)

.
Now we can prove our desired

theorem

.

Theorem 7.4.12

.

Let

D

be a span and

(

D

,

c

)

its pushout.
Then

(

∥

D

∥

n

,

∥

c

∥

n

)

is a pushout of

∥

D

∥

n

in

n

-types.

Proof.

Let

E

be an

n

-type, and consider the following diagram:

\includegraphics

HoTT_fig_7.4.11.png

The upper horizontal arrow is an equivalence since

E

is an

n

-type, while

–

∘

c

is an equivalence since

c

is a pushout cocone.
Thus, by the 2-out-of-3

property

, to show that

–

∘

∥

c

∥

n

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

t

:

∥

D

∥

n

→

E

; then

(

t

∘

∥

c

∥

n

)

∘

|

–

|

n

𝒟

=

t

∘

(

∥

c

∥

n

∘

|

–

|

n

𝒟

)

(by Lemma 7.4.10 (http://planetmath.org/74colimitsofntypeshmprelem2))

=

t

∘

(

|

–

|

n

D

∘

c

)

(by \eqref{eq:conetrunc})

=

(

t

∘

|

–

|

n

D

)

∘

c

.

(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

𝗁𝖺𝗉𝗉𝗅𝗒

:

ℓ

1

⁢

(

i

,

j

,

p

)

:

≡

(

i

,

j

,

𝗁𝖺𝗉𝗉𝗅𝗒

(

p

)

)

ℓ

2

⁢

(

i

,

j

,

p

)

:

≡

(

i

,

j

,

𝗁𝖺𝗉𝗉𝗅𝗒

(

p

)

)

and hence are equivalences by function extensionality.
The lowest horizontal arrow is defined by

(

i

,

j

,

p

)

↦

(

i

∘

|

–

|

n

A

,

j

∘

|

–

|

n

B

,

q

)

where

q

is the composite

i

∘

|

–

|

n

A

∘

f

=

i

∘

∥

f

∥

n

∘

|

–

|

n

C

(by $\mathsf{funext}({\lambda}z.\,\mathsf{ap}_{i}(\mathsf{nat}^{f}_{n}(z)))$)

=

j

∘

∥

g

∥

n

∘

|

–

|

n

C

(by $\mathsf{ap}_{\mathord{\hskip1.0pt\text{--}\hskip1.0pt}\circ|\mathord{\hskip1.0pt\text{--}\hskip1.0pt}|_{n}^{C}}(p)$)

=

j

∘

|

–

|

n

B

∘

g

.

(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

(

i

,

j

,

p

)

in the lower left corner and

z

:

C

, the path

𝗁𝖺𝗉𝗉𝗅𝗒

(

q

,

z

)

:

i

(

|

f

(

z

)

|

n

)

=

j

(

|

g

(

z

)

|

n

)

(with

q

as above)
is equal to the composite

i

(

|

f

(

z

)

|

n

)

=

i

(

∥

f

∥

n

(

|

z

|

n

)

)

(by $\mathsf{ap}_{i}(\mathsf{nat}^{f}_{n}(z))$)

=

j

(

∥

g

∥

n

(

|

z

|

n

)

)

(by $\mathsf{happly}(p,\mathopen{}\left|z\right|_{n}\mathclose{})$)

=

j

(

|

g

(

z

)

|

n

)

.

(by $\mathsf{ap}_{j}(\mathsf{nat}^{g}_{n}(z))$)

However, since

𝗁𝖺𝗉𝗉𝗅𝗒

is functorial, it suffices to check equality for the three component paths:

𝗁𝖺𝗉𝗉𝗅𝗒

(

𝖿𝗎𝗇𝖾𝗑𝗍

(

λ

z

.

𝖺𝗉

i

(

𝗇𝖺𝗍

n

f

(

z

)

)

)

,

z

)

=

𝖺𝗉

i

⁢

(

𝗇𝖺𝗍

n

f

⁢

(

z

)

)

𝗁𝖺𝗉𝗉𝗅𝗒

⁢

(

𝖺𝗉

–

∘

|

–

|

n

C

⁢

(

p

)

,

z

)

=

𝗁𝖺𝗉𝗉𝗅𝗒

(

p

,

|

z

|

n

)

𝗁𝖺𝗉𝗉𝗅𝗒

(

𝖿𝗎𝗇𝖾𝗑𝗍

(

λ

z

.

𝖺𝗉

j

(

𝗇𝖺𝗍

n

g

(

z

)

)

)

,

z

)

=

𝖺𝗉

j

⁢

(

𝗇𝖺𝗍

n

g

⁢

(

z

)

)

.

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

Generated on Thu Feb 8 19:39:25 2018 by

LaTeXML