3.11 Contractibility

3.11 Contractibility

In Lemma 3.3.2 (

http://planetmath.org/33merepropositions#Thmprelem1

) we observed that a mere proposition which is inhabited must be

equivalent

to

𝟏

,
and it is not hard to see that the

converse

also holds.
A type with this

property

is called

contractible

.
Another equivalent

definition

of

contractibility

, which is also sometimes convenient, is the following.

Definition 3.11.1

.

A type

A

is

contractible

,
or a

singleton

,
if there is

a

:

A

, called the

center of

contraction

,
such that

a

=

x

for all

x

:

A

.
We denote the specified path

a

=

x

by

contr

x

.

In other words, the type

𝗂𝗌𝖢𝗈𝗇𝗍𝗋

⁢

(

A

)

is defined to be

𝗂𝗌𝖢𝗈𝗇𝗍𝗋

(

A

)

:

≡

∑

(

a

:

A

)

∏

(

x

:

A

)

(

a

=

x

)

.

Note that under the usual propositions-as-types reading, we can pronounce

𝗂𝗌𝖢𝗈𝗇𝗍𝗋

⁢

(

A

)

as “

A

contains exactly one

element

”, or more precisely “

A

contains an element, and every element of

A

is equal to that element”.

Remark 3.11.2

.

We can also pronounce

isContr

⁢

(

A

)

more topologically as “there is a point

a

:

A

such that for all

x

:

A

there exists a path from

a

to

x

”.
Note that to a classical ear, this sounds like a definition of

connectedness

rather than contractibility.
The point is that the meaning of “there exists” in this

sentence

is a

continuous

/natural one.
A more correct way to express connectedness would be

∑

(

a

:

A

)

∏

(

x

:

A

)

∥

a

=

x

∥

; see Lemma 7.5.11 (

http://planetmath.org/75connectedness#Thmprelem6

).

Lemma 3.11.3

.

For a type

A

, the following are

logically equivalent

.

1.

A

is contractible in the sense of Definition 3.11.1 (

http://planetmath.org/311contractibility#Thmpredefn1

).

2.

A

is a mere proposition, and there is a point

a

:

A

.

3.

A

is equivalent to

𝟏

.

Proof.

If

A

is contractible, then it certainly has a point

a

:

A

(the center of contraction), while for any

x

,

y

:

A

we have

x

=

a

=

y

; thus

A

is a mere proposition.
Conversely, if we have

a

:

A

and

A

is a mere proposition, then for any

x

:

A

we have

x

=

a

; thus

A

is contractible.
And we showed

2

⇒

3

in Lemma 3.3.2 (

http://planetmath.org/33merepropositions#Thmprelem1

), while the converse follows since

𝟏

easily has property

2

.
∎

Lemma 3.11.4

.

For any type

A

, the type

isContr

⁢

(

A

)

is a mere proposition.

Proof.

Suppose given

c

,

c

′

:

𝗂𝗌𝖢𝗈𝗇𝗍𝗋

⁢

(

A

)

.
We may assume

c

≡

(

a

,

p

)

and

c

′

≡

(

a

′

,

p

′

)

for

a

,

a

′

:

A

and

p

:

∏

(

x

:

A

)

(

a

=

x

)

and

p

′

:

∏

(

x

:

A

)

(

a

′

=

x

)

.
By the

characterization

of paths in

Σ

-types, to show

c

=

c

′

it suffices to exhibit

q

:

a

=

a

′

such that

q

*

(

p

)

=

p

′

.

We choose

q

:

≡

p

(

a

′

)

.
For the other equality, by function extensionality we must show that

(

q

*

(

p

)

)

(

x

)

=

p

′

(

x

)

for any

x

:

A

.
For this, it will suffice to show that for any

x

,

y

:

A

and

u

:

x

=

y

we have

u

=

p

⁢

(

x

)

-

1

⁢

\centerdot

⁢

p

⁢

(

y

)

, since then we would have

(

q

*

(

p

)

)

(

x

)

=

p

⁢

(

a

′

)

-

1

\centerdot

p

(

x

)

=

p

′

(

x

)

.
But now we can invoke path

induction

to assume that

x

≡

y

and

u

≡

𝗋𝖾𝖿𝗅

x

.
In this case our goal is to show that

𝗋𝖾𝖿𝗅

x

=

p

⁢

(

x

)

-

1

⁢

\centerdot

⁢

p

⁢

(

x

)

, which is just the

inversion

law for paths.
∎

Corollary 3.11.5

.

If

A

is contractible, then so is

isContr

⁢

(

A

)

.

Proof.

By Lemma 3.11.4 (

http://planetmath.org/311contractibility#Thmprelem2

) and Lemma 3.11.3 (

http://planetmath.org/311contractibility#Thmprelem1

)

2

.
∎

Like mere propositions, contractible types are preserved by many type constructors.
For

instance

, we have:

Lemma 3.11.6

.

If

P

:

A

→

U

is a type family such that each

P

⁢

(

a

)

is contractible, then

∏

(

x

:

A

)

P

⁢

(

x

)

is contractible.

Proof.

By Example 3.6.2 (

http://planetmath.org/36thelogicofmerepropositions#Thmpreeg2

),

∏

(

x

:

A

)

P

⁢

(

x

)

is a mere proposition since each

P

⁢

(

x

)

is.
But it also has an element, namely the

function

sending each

x

:

A

to the center of contraction of

P

⁢

(

x

)

.
Thus by Lemma 3.11.3 (

http://planetmath.org/311contractibility#Thmprelem1

)

2

,

∏

(

x

:

A

)

P

⁢

(

x

)

is contractible.
∎

(In fact, the statement of Lemma 3.11.6 (

http://planetmath.org/311contractibility#Thmprelem3

) is equivalent to the function extensionality axiom.
See §4.9 (

http://planetmath.org/49univalenceimpliesfunctionextensionality

).)

Of course, if

A

is equivalent to

B

and

A

is contractible, then so is

B

.
More generally, it suffices for

B

to be a

retract

of

A

.
By definition, a

retraction

is a function

r

:

A

→

B

such that there exists a function

s

:

B

→

A

, called its

section

,
and a

homotopy

ϵ

:

∏

(

y

:

B

)

(

r

(

s

(

y

)

)

=

y

)

; then we say that

B

is a

retract

of

A

.

Lemma 3.11.7

.

If

B

is a retract of

A

, and

A

is contractible, then so is

B

.

Proof.

Let

a

0

:

A

be the center of contraction.
We claim that

b

0

:

≡

r

(

a

0

)

:

B

is a center of contraction for

B

.
Let

b

:

B

; we need a path

b

=

b

0

.
But we have

ϵ

b

:

r

⁢

(

s

⁢

(

b

)

)

=

b

and

𝖼𝗈𝗇𝗍𝗋

s

⁢

(

b

)

:

s

⁢

(

b

)

=

a

0

, so by composition

ϵ

b

-

1

\centerdot

r

(

𝖼𝗈𝗇𝗍𝗋

s

⁢

(

b

)

)

:

b

=

r

(

a

0

)

≡

b

0

.

∎

Contractible types may not seem very interesting, since they are all equivalent to

𝟏

.
One reason the notion is useful is that sometimes a

collection

of individually nontrivial data will collectively form a contractible type.
An important example is the space of paths with one free

endpoint

.
As we will see in §5.8 (

http://planetmath.org/58identitytypesandidentitysystems

), this fact essentially
encapsulates the based path induction principle for identity types.

Lemma 3.11.8

.

For any

A

and any

a

:

A

, the type

∑

(

x

:

A

)

(

a

=

x

)

is contractible.

Proof.

We choose as center the point

(

a

,

𝗋𝖾𝖿𝗅

a

)

.
Now suppose

(

x

,

p

)

:

∑

(

x

:

A

)

(

a

=

x

)

; we must show

(

a

,

𝗋𝖾𝖿𝗅

a

)

=

(

x

,

p

)

.
By the characterization of paths in

Σ

-types, it suffices to exhibit

q

:

a

=

x

such that

q

*

(

𝗋𝖾𝖿𝗅

a

)

=

p

.
But we can take

q

:

≡

p

, in which case

q

*

(

𝗋𝖾𝖿𝗅

a

)

=

p

follows from the characterization of transport in path types.
∎

When this happens, it can allow us to simplify a complicated construction up to

equivalence

, using the informal principle that contractible data can be freely ignored.
This principle consists of many lemmas, most of which we leave to the reader; the following is an example.

Lemma 3.11.9

.

Let

P

:

A

→

U

be a type family.

1.

If each

P

⁢

(

x

)

is contractible, then

∑

(

x

:

A

)

P

⁢

(

x

)

is equivalent to

A

.

2.

If

A

is contractible with center

a

, then

∑

(

x

:

A

)

P

⁢

(

x

)

is equivalent to

P

⁢

(

a

)

.

Proof.

In the situation of

1

, we show that

𝗉𝗋

1

:

∑

(

x

:

A

)

P

⁢

(

x

)

→

A

is an equivalence.
For

quasi-inverse

we define

g

(

x

)

:

≡

(

x

,

c

x

)

where

c

x

is the center of

P

⁢

(

x

)

.
The composite

𝗉𝗋

1

∘

g

is obviously

𝗂𝖽

A

, whereas the opposite composite is

homotopic

to the

identity

by using the contractions of each

P

⁢

(

x

)

.

We leave the proof of

2

to the reader (see

http://planetmath.org/node/87806

Exercise 3.20).
∎

Another reason contractible types are interesting is that they extend the ladder of

n

-types mentioned in §3.1 (

http://planetmath.org/31setsandntypes

) downwards one more step.

Lemma 3.11.10

.

A type

A

is a mere proposition if and only if for all

x

,

y

:

A

, the type

x

=

A

y

is contractible.

Proof.

For “if”, we simply observe that any contractible type is inhabited.
For “only if”, we observed in §3.3 (

http://planetmath.org/33merepropositions

) that every mere proposition is a set, so that each type

x

=

A

y

is a mere proposition.
But it is also inhabited (since

A

is a mere proposition), and hence by Lemma 3.11.3 (

http://planetmath.org/311contractibility#Thmprelem1

)

2

it is contractible.
∎

Thus, contractible types may also be called

(

-

2

)

-types

.
They are the bottom rung of the ladder of

n

-types, and will be the

base case

of the recursive definition of

n

-types in

http://planetmath.org/node/87580

Chapter 7.

Title

3.11 Contractibility

\metatable

Generated on Thu Feb 8 19:34:42 2018 by

LaTeXML