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 contrx.
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\centerdotp(y), since then we would have (q*(p))(x)=p(aβ²)-1\centerdotp(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\centerdotp(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 a0:A be the center of contraction. We claim that b0:β‘r(a0):B is a center of contraction for B. Let b:B; we need a path b=b0. But we have Ο΅b:r(s(b))=b and πΌππππs(b):s(b)=a0, so by composition
Ο΅b-1\centerdotr(πΌππππs(b)):b=r(a0)β‘b0.β |
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 and any , the type is contractible.
Proof.
We choose as center the point . Now suppose ; we must show . By the characterization of paths in -types, it suffices to exhibit such that . But we can take , in which case 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 be a type family.
-
1.
If each is contractible, then is equivalent to .
-
2.
If is contractible with center , then is equivalent to .
Proof.
In the situation of 1, we show that is an equivalence.
For quasi-inverse we define where is the center of .
The composite is obviously , whereas the opposite composite is homotopic to the identity
by using the contractions of each .
We leave the proof of 2 to the reader (see http://planetmath.org/node/87806Exercise 3.20). β
Another reason contractible types are interesting is that they extend the ladder of -types mentioned in Β§3.1 (http://planetmath.org/31setsandntypes) downwards one more step.
Lemma 3.11.10.
A type is a mere proposition if and only if for all , the type 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 is a mere proposition. But it is also inhabited (since 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 -types. They are the bottom rung of the ladder of -types, and will be the base case of the recursive definition of -types in http://planetmath.org/node/87580Chapter 7.
Title | 3.11 Contractibility |
---|---|
\metatable |