7.3 Truncations


In §3.7 (http://planetmath.org/37propositionaltruncation) we introduced the propositional truncation, which makes the “best approximation” of a type that is a mere proposition, i.e. a (-1)-type. In §6.9 (http://planetmath.org/69truncations) we constructed this truncation as a higher inductive type, and gave one way to generalize it to a 0-truncation. We now explain a better generalizationPlanetmathPlanetmath of this, which truncates any type into an n-type for any n≥-2; in classical homotopy theory this would be called its nth Postnikov section.

The idea is to make use of (http://planetmath.org/72uniquenessofidentityproofsandhedbergstheorem# utoref), which states that A is an n-type just when Ωn+1⁢(A,a) is contractibleMathworldPlanetmath for all a:A, and Lemma 6.5.4 (http://planetmath.org/65suspensions#Thmprelem3), which implies that Ωn+1⁢(A,a)≃𝖬𝖺𝗉*⁢(𝕊n+1,(A,a)), where 𝕊n+1 is equipped with some basepoint which we may as well call 𝖻𝖺𝗌𝖾. However, contractibility of 𝖬𝖺𝗉*⁢(𝕊n+1,(A,a)) is something that we can ensure directly by giving path constructors.

We might first of all try to define ∥A∥n to be generated by a function |–|n:A→∥A∥n, together with for each r:𝕊n+1→∥A∥n and each x:𝕊n+1, a path sr⁢(x):r⁢(x)=r⁢(𝖻𝖺𝗌𝖾). But this does not quite work, for the same reason that Remark 6.7.1 (http://planetmath.org/67hubsandspokes#Thmprermk1) fails. Instead, we use the full “hub and spoke” construction as in §6.7 (http://planetmath.org/67hubsandspokes).

Thus, for n≥-1, we take ∥A∥n to be the higher inductive type generated by:

  • •

    a function |–|n:A→∥A∥n,

  • •

    for each r:𝕊n+1→∥A∥n, a hub point h(r):∥A∥n, and

  • •

    for each r:𝕊n+1→∥A∥n and each x:𝕊n+1, a spoke path sr⁢(x):r⁢(x)=h⁢(r).

The existence of these constructors is now enough to show:

Lemma 7.3.1.

∥A∥n is an n-type.

Proof.

By (http://planetmath.org/72uniquenessofidentityproofsandhedbergstheorem# utoref), it suffices to show that Ωn+1(∥A∥n,b) is contractible for all b:∥A∥n, which by Lemma 6.5.4 (http://planetmath.org/65suspensions#Thmprelem3) is equivalentMathworldPlanetmathPlanetmathPlanetmathPlanetmathPlanetmath to 𝖬𝖺𝗉*(𝕊n+1,(∥A∥n,b)). As center of contraction for the latter, we choose the function cb:𝕊n+1→∥A∥n which is constant at b, together with 𝗋𝖾𝖿𝗅b:cb⁢(𝖻𝖺𝗌𝖾)=b.

Now, an arbitrary element of 𝖬𝖺𝗉*(𝕊n+1,(∥A∥n,b)) consists of a map r:𝕊n+1→∥A∥n together with a path p:r⁢(𝖻𝖺𝗌𝖾)=b. By function extensionality, to show r=cb it suffices to give, for each x:𝕊n+1, a path r⁢(x)=cb⁢(x)≡b. We choose this to be the composite sr⁢(x)⁢\centerdot⁢sr⁢(𝖻𝖺𝗌𝖾)-1⁢\centerdot⁢p, where sr⁢(x) is the spoke at x.

Finally, we must show that when transported along this equality r=cb, the path p becomes 𝗋𝖾𝖿𝗅b. By transport in path types, this means we need

(sr⁢(𝖻𝖺𝗌𝖾)⁢\centerdot⁢sr⁢(𝖻𝖺𝗌𝖾)-1⁢\centerdot⁢p)-1⁢\centerdot⁢p=𝗋𝖾𝖿𝗅b.

But this is immediate from path operationsMathworldPlanetmath. ∎

(This construction fails for n=-2, but in that case we can simply define ∥A∥-2:≡𝟏 for all A. From now on we assume n≥-1.)

To show the desired universal propertyMathworldPlanetmath of the n-truncation, we need the inductionMathworldPlanetmath principle. We extract this from the constructors in the usual way; it says that given P:∥A∥n→𝒰 together with

  • •

    For each a:A, an element g(a):P(|a|n),

  • •

    For each r:𝕊n+1→∥A∥n and r′:∏(x:𝕊n+1)P⁢(r⁢(x)), an element h′⁢(r,r′):P⁢(h⁢(r)),

  • •

    For each r:𝕊n+1→∥A∥n and r′:∏(x:𝕊n+1)P⁢(r⁢(x)), and each x:𝕊n+1, a dependent path r′⁢(x)=sr⁢(x)Ph′⁢(r,r′),

there exists a sectionMathworldPlanetmathPlanetmathPlanetmathPlanetmathPlanetmathPlanetmathPlanetmath f:∏(x:∥A∥n)P⁢(x) with f(|a|n)≡g(a) for all a:A. To make this more useful, we reformulate it as follows.

Theorem 7.3.2.

For any type family P:∥A∥n→U such that each P⁢(x) is an n-type, and any function g:∏(a:A)P(|a|n), there exists a section f:∏(x:∥A∥n)P⁢(x) such that f(|a|n):≡g(a) for all a:A.

Proof.

It will suffice to construct the second and third data listed above, since g has exactly the type of the first datum. Given r:𝕊n+1→∥A∥n and r′:∏(x:𝕊n+1)P⁢(r⁢(x)), we have h(r):∥A∥n and sr:∏(x:𝕊n+1)(r(x)=h(r)). Define t:𝕊n+1→P⁢(h⁢(r)) by t(x):≡sr(x)*(r′(x)). Then since P⁢(h⁢(r)) is n-truncated, there exists a point u:P⁢(h⁢(r)) and a contraction v:∏(x:𝕊n+1)(t(x)=u). Define h′(r,r′):≡u, giving the second datum. Then (recalling the definition of dependent paths), v has exactly the type required of the third datum. ∎

In particular, if E is some n-type, we can consider the constant family of types equal to E for every point of A. Thus, every map f:A→E can be extended to a map 𝖾𝗑𝗍(f):∥A∥n→E defined by 𝖾𝗑𝗍(f)(|a|n):≡f(a); this is the recursion principle for ∥A∥n.

The induction principle also implies a uniqueness principle for functions of this form. Namely, if E is an n-type and g,g′:∥A∥n→E are such that g(|a|n)=g′(|a|n) for every a:A, then g⁢(x)=g′⁢(x) for all x:∥A∥n, since the type g⁢(x)=g′⁢(x) is an n-type. Thus, g=g′. This yields the following universal property.

Lemma 7.3.3 (Universal property of truncations).

Let n≥-2, A:U and B:n⁢-⁢Type. The following map is an equivalence:

{(∥A∥n→B)⟶(A→B)g⟼g∘|–|n
Proof.

Given that B is n-truncated, any f:A→B can be extended to a map 𝖾𝗑𝗍(f):∥A∥n→B. The map 𝖾𝗑𝗍⁢(f)∘|–|n is equal to f, because for every a:A we have 𝖾𝗑𝗍(f)(|a|n)=f(a) by definition. And the map 𝖾𝗑𝗍⁢(g∘|–|n) is equal to g, because they both send |a|n to g(|a|n). ∎

In categoricalPlanetmathPlanetmath languagePlanetmathPlanetmath, this says that the n-types form a reflective subcategory of the categoryMathworldPlanetmath of types. (To state this fully precisely, one ought to use the language of (∞,1)-categories.) In particular, this implies that the n-truncation is functorial: given f:A→B, applying the recursion principle to the composite A→𝑓B→∥B∥n yields a map ∥f∥n:∥A∥n→∥B∥n. By definition, we have a homotopyMathworldPlanetmath

𝗇𝖺𝗍nf:∏a:A∥f∥n(|a|n)=|f(a)|n, (7.3.4)

expressing naturality of the maps |–|n.

Uniqueness implies functoriality laws such as ∥g∘f∥n=∥g∥n∘∥f∥n and ∥𝗂𝖽A∥n=𝗂𝖽∥A∥n, with attendant coherence laws. We also have higher functoriality, for instance:

Lemma 7.3.5.

Given f,g:A→B and a homotopy h:f∼g, there is an induced homotopy ∥h∥n:∥f∥n∼∥g∥n such that the composite

\includegraphics⁢H⁢o⁢T⁢Tf⁢i⁢g7⁢.3.1.p⁢n⁢g (7.3.5)

is equal to ap|–|n⁢(h⁢(a)).

Proof.

First, we indeed have a homotopy with components 𝖺𝗉|–|n(h(a)):|f(a)|n=|g(a)|n. Composing on either sides with the paths |f(a)|n=∥f∥n(|a|n) and |g(a)|n=∥g∥n(|a|n), which arise from the definitions of ∥f∥n and ∥g∥n, we obtain a homotopy (∥f∥n∘|–|n)∼(∥g∥n∘|–|n), and hence an equality by function extensionality. But since (–∘|–|n) is an equivalence, there must be a path ∥f∥n=∥g∥n inducing it, and the coherence laws for function extensionality imply (7.3.5). ∎

The following observation about reflective subcategories is also standard.

Corollary 7.3.7.

A type A is an n-type if and only if |–|n:A→∥A∥n is an equivalence.

Proof.

“If” follows from closureMathworldPlanetmathPlanetmath of n-types under equivalence. On the other hand, if A is an n-type, we can define 𝖾𝗑𝗍(𝗂𝖽A):∥A∥n→A. Then we have 𝖾𝗑𝗍⁢(𝗂𝖽A)∘|–|n=𝗂𝖽A:A→A by definition. In order to prove that |–|n∘𝖾𝗑𝗍⁢(𝗂𝖽A)=𝗂𝖽∥A∥n, we only need to prove that |–|n∘𝖾𝗑𝗍⁢(𝗂𝖽A)∘|–|n=𝗂𝖽∥A∥n∘|–|n. This is again true:

\includegraphics

HoTT_fig_7.3.2.png

∎

The category of n-types also has some special properties not possessed by all reflective subcategories. For instance, the reflector ∥-∥n preserves finite productsPlanetmathPlanetmathPlanetmathPlanetmath.

Theorem 7.3.8.

For any types A and B, the induced map ∥A×B∥n→∥A∥n×∥B∥n is an equivalence.

Proof.

It suffices to show that ∥A∥n×∥B∥n has the same universal property as ∥A×B∥n. Thus, let C be an n-type; we have

(∥A∥n×∥B∥n→C) =(∥A∥n→(∥B∥n→C))
=(∥A∥n→(B→C))
=(A→(B→C))
=(A×B→C)

using the universal properties of ∥B∥n and ∥A∥n, along with the fact that B→C is an n-type since C is. It is straightforward to verify that this equivalence is given by composing with |–|n×|–|n, as needed. ∎

The following related fact about dependent sums is often useful.

Theorem 7.3.9.

Let P:A→U be a family of types. Then there is an equivalence

∥∑x:A∥P(x)∥n∥n≃∥∑x:AP(x)∥n.
Proof.

We use the induction principle of n-truncation several times to construct functions

φ :∥∑x:A∥P(x)∥n∥n→∥∑x:AP(x)∥n
ψ :∥∑x:AP(x)∥n→∥∑x:A∥P(x)∥n∥n

and homotopies H:φ∘ψ∼𝗂𝖽 and K:ψ∘φ∼𝗂𝖽 exhibiting them as quasi-inverses. We define φ by setting φ(|(x,|u|n)|n):≡|(x,u)|n. We define ψ by setting ψ(|(x,u)|n):≡|(x,|u|n)|n. Then we define H(|(x,u)|n):≡𝗋𝖾𝖿𝗅|(x,u)|n and K(|(x,|u|n)|n):≡𝗋𝖾𝖿𝗅|(x,|u|n)|n. ∎

Corollary 7.3.10.

If A is an n-type and P:A→U is any type family, then

∑a:A∥P(a)∥n≃∥∑a:AP(a)∥n
Proof.

If A is an n-type, then the left-hand type above is already an n-type, hence equivalent to its n-truncation; thus this follows from Theorem 7.3.9 (http://planetmath.org/73truncations#Thmprethm3). ∎

We can characterize the path spaces of a truncation using the same method that we used in §2.12 (http://planetmath.org/212coproducts),§2.13 (http://planetmath.org/213naturalnumbers) for coproductsMathworldPlanetmath and natural numbersMathworldPlanetmath (and which we will use in http://planetmath.org/node/87582Chapter 8 to calculate homotopy groupsMathworldPlanetmath). Unsurprisingly, the path spaces in the (n+1)-truncation of A are the n-truncations of the path spaces of A. Indeed, for any x,y:A there is a canonical map

f:∥x=Ay∥n→(|x|n+1=∥A∥n+1|y|n+1) (7.3.11)

defined by

f(|p|n):≡𝖺𝗉|–|n+1(p).

This definition uses the recursion principle for ∥–∥n, which is correct because ∥A∥n+1 is (n+1)-truncated, so that the codomain of f is n-truncated.

Theorem 7.3.12.

For any A and x,y:A and n≥-2, the map (7.3.11) is an equivalence; thus we have

∥x=Ay∥n≃(|x|n+1=∥A∥n+1|y|n+1).
Proof.

The proof is a simple application of the encode-decode method: As in previous situations, we cannot directly define a quasi-inverse to the map (7.3.11) because there is no way to induct on an equality between |x|n+1 and |y|n+1. Thus, instead we generalize its type, in order to have general elements of the type ∥A∥n+1 instead of |x|n+1 and |y|n+1. Define P:∥A∥n+1→∥A∥n+1→n-𝖳𝗒𝗉𝖾 by

P(|x|n+1,|y|n+1):≡∥x=Ay∥n

This definition is correct because ∥x=Ay∥n is n-truncated, and n⁢-⁢𝖳𝗒𝗉𝖾 is (n+1)-truncated by Theorem 7.1.11 (http://planetmath.org/71definitionofntypes#Thmprethm7). Now for every u,v:∥A∥n+1, there is a map

𝖾𝗇𝖼𝗈𝖽𝖾:P(u,v)→(u=∥A∥n+1v)

defined for u=|x|n+1 and v=|y|n+1 and p:x=y by

𝖾𝗇𝖼𝗈𝖽𝖾(|p|n):≡𝖺𝗉|¯|n+1(p).

Since the codomain of 𝖾𝗇𝖼𝗈𝖽𝖾 is n-truncated, it suffices to define it only for u and v of this form, and then it’s just the same definition as before. We also define a function

r:∏u:∥A∥n+1P⁢(u,u)

by induction on u, where r(|x|n+1):≡|𝗋𝖾𝖿𝗅x|n.

Now we can define an inverse map

𝖽𝖾𝖼𝗈𝖽𝖾:(u=∥A∥n+1v)→P(u,v)

by

𝖽𝖾𝖼𝗈𝖽𝖾(p):≡𝗍𝗋𝖺𝗇𝗌𝗉𝗈𝗋𝗍v↦P⁢(u,v)(p,r(u)).

To show that the composite

(u=∥A∥n+1v)→𝖽𝖾𝖼𝗈𝖽𝖾P(u,v)→𝖾𝗇𝖼𝗈𝖽𝖾(u=∥A∥n+1v)

is the identity function, by path induction it suffices to check it for 𝗋𝖾𝖿𝗅u:u=u, in which case what we need to know is that 𝖽𝖾𝖼𝗈𝖽𝖾⁢(r⁢(u))=𝗋𝖾𝖿𝗅u. But since this is an n-type, hence also an (n+1)-type, we may assume u≡|x|n+1, in which case it follows by definition of r and 𝖽𝖾𝖼𝗈𝖽𝖾. Finally, to show that

P(u,v)→𝖾𝗇𝖼𝗈𝖽𝖾(u=∥A∥n+1v)→𝖽𝖾𝖼𝗈𝖽𝖾P(u,v)

is the identity function, since this goal is again an n-type, we may assume that u=|x|n+1 and v=|y|n+1 and that we are considering |p|n:P(|x|n+1,|y|n+1) for some p:x=y. Then we have

𝖽𝖾𝖼𝗈𝖽𝖾(𝖾𝗇𝖼𝗈𝖽𝖾(|p|n)) =𝖽𝖾𝖼𝗈𝖽𝖾⁢(𝖺𝗉|¯|n+1⁢(p))
=𝗍𝗋𝖺𝗇𝗌𝗉𝗈𝗋𝗍v↦P(|x|n+1,v)(𝖺𝗉|¯|n+1(p),|𝗋𝖾𝖿𝗅x|n)
=𝗍𝗋𝖺𝗇𝗌𝗉𝗈𝗋𝗍v↦∥u=v∥n(p,|𝗋𝖾𝖿𝗅x|n)
=|𝗍𝗋𝖺𝗇𝗌𝗉𝗈𝗋𝗍v↦(u=v)(p,𝗋𝖾𝖿𝗅x)|n
=|p|n.

This completesPlanetmathPlanetmathPlanetmathPlanetmathPlanetmathPlanetmath the proof that 𝖾𝗇𝖼𝗈𝖽𝖾 and 𝖽𝖾𝖼𝗈𝖽𝖾 are quasi-inverses. The stated result is then the special case where u=|x|n+1 and v=|y|n+1. ∎

Corollary 7.3.13.

Let n≥-2 and (A,a) be a pointed type. Then

∥Ω(A,a)∥n=Ω(∥(A,a)∥n+1)
Proof.

This is a special case of the previous lemma where x=y=a. ∎

Corollary 7.3.14.

Let n≥-2 and k≥0 and (A,a) a pointed type. Then

∥Ωk(A,a)∥n=Ωk(∥(A,a)∥n+k).
Proof.

By induction on k, using the recursive definition of Ωk. ∎

We also observe that “truncations are cumulative”: if we truncate to an n-type and then to a k-type with k≤n, then we might as well have truncated directly to a k-type.

Lemma 7.3.15.

Let k,n≥-2 with k≤n and A:U. Then ∥∥A∥n∥k=∥A∥k.

Proof.

We define two maps f:∥∥A∥n∥k→∥A∥k and g:∥A∥k→∥∥A∥n∥k by

f(||a|n|k):≡|a|k  and  g(|a|k):≡||a|n|k.

The map f is well-defined because ∥A∥k is k-truncated and also n-truncated (because k≤n), and the map g is well-defined because ∥∥A∥n∥k is k-truncated.

The composition f∘g:∥A∥k→∥A∥k satisfies (f∘g)(|a|k)=|a|k, hence f∘g=𝗂𝖽∥A∥k. Similarly, we have (g∘f)(||a|n|k)=||a|n|k and hence g∘f=𝗂𝖽∥∥A∥n∥k. ∎

Title 7.3 Truncations
\metatable