Lectures onType Theory
ch:truncation-logic: ch:truncation-logic
appendix sectionsolutions

ch:truncation-logic: ch:truncation-logic

exercise 66.1.

For transport along reflexivity, path induction on p leaves trreflP(u)=u, the computation rule for tr. For composition, induct first on p and then on q; both sides reduce to u by the same rule. For ap, induct on p: apf(reflx)reflfx is its computation rule. The inverse and concatenation laws for ap then follow by one or two further path inductions, with every base case reflexivity.

exercise 66.2.

From a center a0:A and contraction a0=a, the constant map A1 and a0 are inverse up to homotopy. An equivalence with 1 transports its center and contraction to A. Finally, an inhabited proposition (a0,h) is contractible with center a0 and contraction h(a0,a); conversely every contractible type is a proposition by concatenating paths through its center.

exercise 66.3.

Let x0 be the center of X and set y0=r(x0). For y:Y, the contraction path x0=s(y) gives apr(x0=s(y)):y0=r(sy); concatenate with the retraction homotopy r(sy)=y. This contracts every y to y0, so Y is contractible.

exercise 66.4.

Take A=0. For any x,y:A there are no such endpoints, so Πx,y:AisContr(x=y) is inhabited by empty elimination; nevertheless A has no center and is not contractible. Extending the hierarchy below 2 would iterate a vacuous endpoint condition and add no new meaningful property, so contractibility is chosen as the base rather than defining a weaker “3-type.”

exercise 66.5.

Let (a0,c) contract A. The maps P(a0)ΣxP(x) and back are u(a0,u) and (x,v)trc(x)1Pv. The first round trip is transport along reflexivity. For the second, the base path is c(x):a0=x; its fiber component starts at trc(x)P(trc(x)1Pv) and ends at v. Thus inverse transport must occur first and forward transport second; functoriality and c(x)1c(x)=refl give the required fiber path.

exercise 66.6.

Regard A×B as the constant-family sum Σa:AB and apply closure of n-types under Σ. For n=0, the Σ-path theorem gives ((a,b)=(a,b))Σp:a=a(b=b). Since A and B are sets, both the base path type and every fiber path type are propositions; a Σ of a proposition with propositional fibers is a proposition.

exercise 66.7.

Coproduct encode–decode identifies same-summand paths with paths in A or B and mixed-summand paths with 0. For n0, these code types are (n1)-types, so every identity type of A+B is an (n1)-type and A+B is an n-type. At n=1 take A=B=1: both summands are propositions but 1+12 has two distinct points and is not a proposition.

exercise 66.8.

Let r:XY, s:YX, and ϵ:rsidY, with X a proposition. For y,y:Y, concatenate ϵy1, the path apr(h(sy,sy)) supplied by propositionality of X, and ϵy. This yields y=y, so Y is a proposition.

exercise 66.9.

The function type AB is a set because its pointwise identity types are propositions and function extensionality transfers that fact to paths of functions. Now AB=Σf:ABisEquiv(f). The base is a set and each isEquiv(f) is a proposition, so closure of sets under dependent sums makes AB a set.

exercise 66.10.

Define d by double recursion. Set d(0,0)=inl(refl); the cases (0,sucn) and (sucm,0) are negative because the path-code theorem maps such a path to 0. For successors, map a positive path by apsuc and map a negative witness k to pk(sucInjective(p)). The same path-code theorem supplies successor injectivity, so all four clauses are total.

exercise 66.11.

Fix x:X and use J on p:x=x with motive C(y,p):=q:x=y:p=q. At y=x,p=reflx, the branch is λq.h(reflx,q), where h is the hypothesis that each path type is a proposition. Thus J(C,,x,p)(q):p=q. The computation rule at p=refl is judgmental, and abstracting over x,p,q gives K.

exercise 66.13.

Propositional-truncation recursion defines f(|a|)=|f(a)|; the target is a proposition, so it supplies all path coherence. Identity and composition follow by function extensionality and truncation induction. The map A×BA×B uses the two projections. For the inverse, eliminate first from A and then from B into the proposition A×B, sending (a,b) to |(a,b)|. Truncation induction proves the round trips.

exercise 66.14.

Flatten A by truncation recursion extending the identity on A; its inverse is the constructor t|t|. Both composites agree by truncation induction into propositions. Similarly, the unique map 11 and || are inverse: one composite is judgmental and the other follows because 1 is a proposition.

exercise 66.15.

Dependent truncation elimination sends f:Πa:AQ(|a|) to f¯:Πt:AQ(t) with the specified constructor computation. Precomposition is one inverse by that computation. For the other, dependent function extensionality reduces equality of sections to pointwise equality, and every Q(t) is a proposition. Hence the precomposition map is an equivalence, with inverse dependent elimination.

exercise 66.16.

Suppose sA:AA were polymorphic. Naturality under equivalences, obtained by identity induction in the universe, says that for the Boolean swap e, e(s2(t))=s2(e(t)). Since 2 is a proposition, e is the identity. Thus s2(t) is fixed by swap. Boolean case analysis shows neither constructor is fixed, a contradiction. Therefore no such polymorphic family exists.

exercise 66.12.

For fixed x,y, a decision of x=y determines the usual weakly constant endomap of x=y: return the chosen positive proof, or eliminate a supplied path against the negative branch. The type asserting weak constancy is a proposition, so the merely given decision can be untruncated into such an endomap. The collapse lemma makes x=y a proposition. Since this holds for all x,y, X is a set.

exercise 66.17.

From a choice function c:ΠxP(x)P(x), map g:ΠxP(x) to xcx(gx) and then truncate the resulting section. Conversely, given ΠxP(x), eliminate it into the proposition ΠxP(x) and send f to x|f(x)|. Both composites are equal because their codomains are propositions. These maps establish the stated equivalence between the two choice formulations.

exercise 66.18.

LEM implies double-negation elimination: for propositional A, split on A+¬A; the positive branch returns its witness and the negative branch contradicts ¬¬A. Conversely apply the restricted principle to the proposition A+¬A and the constructively provable ¬¬(A+¬A). This yields A+¬A for every proposition A, which is LEM in its proposition-restricted form.

exercise 66.19.

For u,v:A+¬A, eliminate on both. Two positive cases agree because A is a proposition; two negative cases agree by function extensionality into 0; mixed cases are impossible because the negative witness applies to the positive one. Hence A+¬A is a proposition. A dependent product of propositions is a proposition, so ΠA:U(isProp(A)A+¬A) is a proposition.

exercise 66.20.

The constructor map P+QP+Q=PQ is one direction. Because P+Q is a proposition under the disjointness hypothesis—same-side paths use propositionality and mixed sides contradict ¬(P×Q)— truncation elimination supplies PQP+Q. The two composites are equal by propositionality, so the maps form an equivalence.

exercise 66.21.

Since Am is an m-type and hence an n-type for mn, the n-truncation eliminator extends the constructor AAm to a map AnAm. Applying m-truncation gives AnmAm. The inverse is induced by a||m(|a|n). Truncation induction and the uniqueness of maps into an m-type prove both composites equal to the identity.

exercise 66.22.

For f:AB, recursion into the n-type Bn defines fn(|a|n)=|f(a)|n; uniqueness proves the identity and composition laws. The projections define a map from (nA×B) to the product of truncations. The reverse map is obtained by eliminating successively from both truncations into the n-type (nA×B) and pairing representatives. Successive truncation inductions prove the two round trips.

exercise 66.23.

If A is connected, A is inhabited and each x=y is inhabited by the definition of 0-connectedness. In the other direction choose merely a0:A. For any x:A, the assumed a0=x shows that every two points have the same image in the set truncation; hence A0 is an inhabited proposition and therefore contractible. This is precisely connectedness.

exercise 66.24.

An equivalence is injective: if ex=ey, apply its inverse and the two section paths to obtain x=y. Case-analyze e(tt). If it is tt, injectivity excludes e(ff)=tt, so Boolean exhaustiveness forces e(ff)=ff and function extensionality gives e=id. If it is ff, the same argument forces the other value to be tt, giving e=enot. These cases are mutually exclusive by Boolean separation.

exercise 66.25.

A quasi-inverse supplies both factors by taking the same inverse. From a left inverse g and a right inverse h, naturality of the homotopies gives gh; replace one by the other to obtain a quasi-inverse. When f is an equivalence, each type Σg(gfid) and Σh(fhid) is contractible: its center is the inverse extracted from the contractible fibers, and inverse maps with the indicated law are unique. Their product is contractible, hence a proposition. If it is empty it is also a proposition, so biinv(f) is always a proposition.

exercise 66.26.

There is a canonical map qinv(f)isEquiv(f), hence by truncation elimination a map qinv(f)isEquiv(f) because the target is a proposition. Conversely, an equivalence has a chosen inverse extracted from its fiber centers, so it gives |q| in the truncated quasi-inverse type. Both types are propositions and the two maps preserve their inhabitants, hence they are inverse equivalences.

exercise 195.27.

Propositional-truncation elimination gives f¯:AP with f¯(|a|)f(a). If g is another factor, function extensionality reduces g=f¯ to pointwise equality, supplied by isProp(P). For f:AS with S a set, the set-truncation eliminator analogously gives f¯:A0S. Its only higher coherence compares the images of two parallel paths; the constructor sq0(p,q) supplies that comparison, and isSet(S) makes the required equality of paths unique.

Search the book

Type to search the local edition.