6.9 Truncations

6.9 Truncations

In §3.7 (

http://planetmath.org/37propositionaltruncation

) we introduced the propositional

truncation

as a new type forming

operation

;
we now observe that it can be obtained as a special case of

higher inductive types

.
This reduces the problem of understanding truncations to the problem of understanding higher inductives, which at least are amenable to a systematic treatment.
It is also interesting because it provides our first example of a higher inductive type which is truly

recursive

, in that its constructors take inputs from the type being defined (as does the

successor

𝗌𝗎𝖼𝖼

:

ℕ

→

ℕ

).

Let

A

be a type; we define its propositional truncation

∥

A

∥

to be the higher inductive type

generated by

:

•

A

function

|

–

|

:

A

→

∥

A

∥

, and

•

For each

x

,

y

:

∥

A

∥

, a path

x

=

y

.

Note that the second constructor is by

definition

the assertion that

∥

A

∥

is a mere proposition.
Thus, the definition of

∥

A

∥

can be interpreted as saying that

∥

A

∥

is

freely generated

by a function

A

→

∥

A

∥

and the fact that it is a mere proposition.

The

recursion

principle for this higher inductive definition is easy to write down: it says that given any type

B

together with

•

A function

g

:

A

→

B

, and

•

For any

x

,

y

:

B

, a path

x

=

B

y

,

there exists a function

f

:

∥

A

∥

→

B

such that

•

f

(

|

a

|

)

≡

g

(

a

)

for all

a

:

A

, and

•

for any

x

,

y

:

∥

A

∥

, the function

𝖺𝗉

f

takes the specified path

x

=

y

in

∥

A

∥

to the specified path

f

⁢

(

x

)

=

f

⁢

(

y

)

in

B

(propositionally).

These are exactly the hypotheses that we stated in §3.7 (

http://planetmath.org/37propositionaltruncation

) for the recursion principle of propositional truncation — a function

A

→

B

such that

B

is a mere proposition — and the first part of the

conclusion

is exactly what we stated there as well.
The second part (the action of

𝖺𝗉

f

) was not mentioned previously, but it turns out to be

vacuous

in this case, because

B

is a mere proposition, so

any

two paths in it are automatically equal.

There is also an

induction

principle for

∥

A

∥

, which says that given any

B

:

∥

A

∥

→

𝒰

together with

•

a function

g

:

∏

(

a

:

A

)

B

(

|

a

|

)

, and

•

for any

x

,

y

:

∥

A

∥

and

u

:

B

⁢

(

x

)

and

v

:

B

⁢

(

y

)

, a dependent path

q

:

u

=

p

⁢

(

x

,

y

)

B

v

, where

p

⁢

(

x

,

y

)

is the path coming from the second constructor of

∥

A

∥

,

there exists

f

:

∏

(

x

:

∥

A

∥

)

B

⁢

(

x

)

such that

f

(

|

a

|

)

≡

a

for

a

:

A

, and also another computation rule.
However, because there can be at most one function between any two mere propositions (up to

homotopy

), this induction principle is not really useful (see also

http://planetmath.org/node/87806

Exercise 3.20).

We can, however, extend this idea to construct

similar

truncations landing in

n

-types, for any

n

.
For

instance

, we might define the

0-truncation

∥

A

∥

0

to be generated by

•

A function

|

–

|

0

:

A

→

∥

A

∥

0

, and

•

For each

x

,

y

:

∥

A

∥

0

and each

p

,

q

:

x

=

y

, a path

p

=

q

.

Then

∥

A

∥

0

would be freely generated by a function

A

→

∥

A

∥

0

together with the assertion that

∥

A

∥

0

is a set.
A natural induction principle for it would say that given

B

:

∥

A

∥

0

→

𝒰

together with

•

a function

g

:

∏

(

a

:

A

)

B

(

|

a

|

0

)

, and

•

for any

x

,

y

:

∥

A

∥

0

with

z

:

B

⁢

(

x

)

and

w

:

B

⁢

(

y

)

, and each

p

,

q

:

x

=

y

with

r

:

z

=

p

B

w

and

s

:

z

=

q

B

w

, a 2-path

v

:

p

=

u

⁢

(

x

,

y

,

p

,

q

)

B

q

, where

u

⁢

(

x

,

y

,

p

,

q

)

:

p

=

q

is obtained from the second constructor of

∥

A

∥

0

,

there exists

f

:

∏

(

x

:

∥

A

∥

0

)

B

⁢

(

x

)

such that

f

(

|

a

|

0

)

≡

g

(

a

)

for all

a

:

A

, and also

𝖺𝗉𝖽

f

2

(

u

(

x

,

y

,

p

,

q

)

)

is the 2-path specified above.
(As in the propositional case, the latter condition turns out to be uninteresting.)
From this, however, we can prove a more useful induction principle.

Lemma 6.9.1

.

Suppose given

B

:

∥

A

∥

0

→

U

together with

g

:

∏

(

a

:

A

)

B

(

|

a

|

0

)

, and assume that each

B

⁢

(

x

)

is a set.
Then there exists

f

:

∏

(

x

:

∥

A

∥

0

)

B

⁢

(

x

)

such that

f

(

|

a

|

0

)

≡

g

(

a

)

for all

a

:

A

.

Proof.

It suffices to construct, for any

x

,

y

,

z

,

w

,

p

,

q

,

r

,

s

as above, a 2-path

v

:

p

=

u

⁢

(

x

,

y

,

p

,

q

)

B

q

.
However, by the definition of dependent 2-paths, this is an ordinary 2-path in the fiber

B

⁢

(

y

)

.
Since

B

⁢

(

y

)

is a set, a 2-path exists between any two parallel paths.
∎

This implies the expected

universal property

.

Lemma 6.9.2

.

For any set

B

and any type

A

, composition with

|

–

|

0

:

A

→

∥

A

∥

0

determines an equivalence

(

∥

A

∥

0

→

B

)

≃

(

A

→

B

)

.

Proof.

The special case of Lemma 6.9.1 (

http://planetmath.org/69truncations#Thmprelem1

) when

B

is the

constant

family gives a map from right to left, which is a

right inverse

to the “compose with

|

–

|

0

” function from left to right.
To show that it is also a

left inverse

, let

h

:

∥

A

∥

0

→

B

, and define

h

′

:

∥

A

∥

0

→

B

by applying Lemma 6.9.1 (

http://planetmath.org/69truncations#Thmprelem1

) to the composite

a

↦

h

(

|

a

|

0

)

.
Thus,

h

′

(

|

a

|

0

)

=

h

(

|

a

|

0

)

.

However, since

B

is a set, for any

x

:

∥

A

∥

0

the type

h

⁢

(

x

)

=

h

′

⁢

(

x

)

is a mere proposition, and hence also a set.
Therefore, by Lemma 6.9.1 (

http://planetmath.org/69truncations#Thmprelem1

), the observation that

h

′

(

|

a

|

0

)

=

h

(

|

a

|

0

)

for any

a

:

A

implies

h

⁢

(

x

)

=

h

′

⁢

(

x

)

for any

x

:

∥

A

∥

0

, and hence

h

=

h

′

.
∎

For instance, this enables us to construct colimits of sets.
We have seen that if

A

←

𝑓

C

→

𝑔

B

is a span of sets, then the pushout

A

⊔

C

B

may no longer be a set.
(For instance, if

A

and

B

are

𝟏

and

C

is

𝟐

, then the pushout is

𝕊

1

.)
However, we can construct a pushout that is a set, and has the expected universal property with respect to other sets, by truncating.

Lemma 6.9.3

.

Let

A

←

𝑓

C

→

𝑔

B

be a span of sets.
Then for any set

E

, there is a

canonical

equivalence

(

∥

A

⊔

C

B

∥

0

→

E

)

≃

𝖼𝗈𝖼𝗈𝗇𝖾

𝒟

(

E

)

.

Proof.

Compose the equivalences in Lemma 6.8.2 (

http://planetmath.org/68pushouts#Thmprelem1

),Lemma 6.9.2 (

http://planetmath.org/69truncations#Thmprelem2

).
∎

We refer to

∥

A

⊔

C

B

∥

0

as the

set-pushout

of

f

and

g

, to distinguish it from the (homotopy) pushout

A

⊔

C

B

.
Alternatively, we could modify the definition of the pushout in §6.8 (

http://planetmath.org/68pushouts

) to include the

0

-truncation constructor directly, avoiding the need to truncate afterwards.
Similar remarks apply to any sort of colimit of sets; we will explore this further in

http://planetmath.org/node/87584

Chapter 10.

However, while the above definition of the 0-truncation works — it gives what we want, and is

consistent

— it has a couple of issues.
Firstly, it doesn’t fit so nicely into the general theory of higher inductive types.
In general, it is tricky to deal directly with constructors such as the second one we have given for

∥

A

∥

0

, whose

inputs

involve not only elements of the type being defined, but paths in it.

This can be gotten round fairly easily, however.
Recall in §5.1 (

http://planetmath.org/51introductiontoinductivetypes

) we mentioned that we can allow a constructor of an inductive type

W

to take “infinitely many

arguments

” of type

W

by having it take a single argument of type

ℕ

→

W

.
There is a general principle behind this: to model a constructor with funny-looking inputs, use an auxiliary inductive type (such as

ℕ

) to parametrize them, reducing the input to a

simple function

with inductive domain.

For the 0-truncation, we can consider the auxiliary

higher

inductive type

S

generated by two points

a

,

b

:

S

and two paths

p

,

q

:

a

=

b

.
Then the fishy-looking constructor of

∥

A

∥

0

can be replaced by the unobjectionable

•

For every

f

:

S

→

A

, a path

𝖺𝗉

f

⁢

(

p

)

=

𝖺𝗉

f

⁢

(

q

)

.

Since to give a map out of

S

is the same as to give two points and two parallel paths between them, this yields the same induction principle.

A more serious problem with our current definition of

0

-truncation, however, is that it doesn’t generalize very well.
If we want to describe a notion of definition of “

n

-truncation” into

n

-types uniformly for all

n

:

ℕ

, then this approach is unfeasible, since the second constructor would need a number of arguments that increases with

n

.
In §7.3 (

http://planetmath.org/73truncations

), therefore, we will use a different idea to construct these, based on the observation that the type

S

introduced above is

equivalent

to the circle

𝕊

1

.
This includes the 0-truncation as a special case, and

satisfies

generalized versions of Lemma 6.9.1 (

http://planetmath.org/69truncations#Thmprelem1

),Lemma 6.9.2 (

http://planetmath.org/69truncations#Thmprelem2

).

Title

6.9 Truncations

\metatable

Generated on Thu Feb 8 19:38:38 2018 by

LaTeXML