exercise 68.1.
Induct on 𝑝 :𝑥 =𝑦. Transport in either direction then computes to the identity, so the first two types both reduce to 𝑢 =𝑣. The inductively generated path-over family over reflexivity also has the single constructor 𝗋𝖾𝖿𝗅 :𝑢 =𝑢, hence is equivalent to ordinary identity by identity induction on its endpoint path. Transporting these equivalences along 𝑝 proves all three presentations equivalent.
exercise 68.2.
Induct on 𝑝 and 𝑞. In the reflexive case dependent paths are ordinary paths, so define ℎ ⋅𝑘 by ordinary concatenation; the resulting base is 𝗋𝖾𝖿𝗅 ⋅𝗋𝖾𝖿𝗅. For a dependent function 𝑓, double path induction on 𝑝,𝑞 reduces 𝖺𝗉𝖽𝑓(𝑝 ⋅𝑞) =𝖺𝗉𝖽𝑓(𝑝) ⋅𝖺𝗉𝖽𝑓(𝑞) to the unit laws for reflexivity. This supplies the required dependent 2-path.
exercise 68.3.
Define 𝖺𝗉2𝑓(𝑟) =𝖺𝗉𝖺𝗉𝑓(𝑟), viewing 𝖺𝗉𝑓 as a function between path types. Identity induction on 𝑟 gives 𝖺𝗉2𝑓(𝗋𝖾𝖿𝗅𝑝) ≡𝗋𝖾𝖿𝗅𝖺𝗉𝑓(𝑝). For dependent 𝑓, eliminate 𝑟 with motive 𝖺𝗉𝖽𝑓(𝑝) =𝑥.𝑃𝑟𝖺𝗉𝖽𝑓(𝑞) and reflexive branch the reflexive dependent path. Its computation at 𝑟 =𝗋𝖾𝖿𝗅 is judgmental.
exercise 68.4.
Use circle induction with motive 𝑥 ↦𝑓(𝑥) =𝑔(𝑥) and base value 𝑝. The path-algebra transport formula says that the required dependent path over 𝗅𝗈𝗈𝗉 is exactly an equality 𝖺𝗉𝑓(𝗅𝗈𝗈𝗉) ⋅𝑝 =𝑝 ⋅𝖺𝗉𝑔(𝗅𝗈𝗈𝗉), which is the supplied coherence. The eliminator therefore yields 𝐻 :Π𝑥𝑓(𝑥) =𝑔(𝑥) with 𝐻(𝖻𝖺𝗌𝖾) =𝑝.
exercise 68.5.
Circle induction into 𝑥 ↦𝑥 =𝑥 takes base value 𝗅𝗈𝗈𝗉. Transport of this value around 𝗅𝗈𝗈𝗉 is 𝗅𝗈𝗈𝗉−1 ⋅𝗅𝗈𝗈𝗉 ⋅𝗅𝗈𝗈𝗉, which equals 𝗅𝗈𝗈𝗉 by inverse and unit laws, providing the loop datum. Call the resulting section 𝐻. If 𝐻 =𝜆𝑥.𝗋𝖾𝖿𝗅𝑥, evaluation at 𝖻𝖺𝗌𝖾 gives 𝗅𝗈𝗈𝗉 =𝗋𝖾𝖿𝗅𝖻𝖺𝗌𝖾, contradicting loop nontriviality; hence the sections are distinct.
exercise 68.6.
First 𝖺𝗉𝑑𝑘(𝗅𝗈𝗈𝗉) =𝗅𝗈𝗈𝗉𝑘 by the circle recursor computation. Induct on 𝑚. The zero case uses preservation of reflexivity. For the successor, 𝖺𝗉𝑑𝑘(𝗅𝗈𝗈𝗉𝑚+1) =𝖺𝗉𝑑𝑘(𝗅𝗈𝗈𝗉𝑚) ⋅𝖺𝗉𝑑𝑘(𝗅𝗈𝗈𝗉) by functoriality; the induction hypothesis makes this 𝗅𝗈𝗈𝗉𝑘𝑚 ⋅𝗅𝗈𝗈𝗉𝑘 =𝗅𝗈𝗈𝗉𝑘(𝑚+1).
exercise 68.7.
Evaluation sends 𝑓 to (𝑓0,𝑓1,𝖺𝗉𝑓(𝗌𝖾𝗀)). The interval recursor sends (𝑥,𝑦,𝑝) back to the map with endpoint values 𝑥,𝑦 and segment image 𝑝. The recursor computations prove one composite. Interval induction, with its path coherence supplied by the segment computation, gives a homotopy from the other composite to 𝑓; function extensionality turns it into equality. Taking 𝐴 =𝖨 identifies its function space data with the singleton Σ𝑦(0 =𝑦), so the interval is contractible.
exercise 68.8.
The interval construction defines 𝑠 :(𝑓 ∼𝑔) →(𝑓 =𝑔). Its endpoint computation implies 𝗁𝖺𝗉𝗉𝗅𝗒(𝑠𝐻) =𝐻 by function extensionality applied pointwise to the interval path. Thus 𝑠 is a section of 𝗁𝖺𝗉𝗉𝗅𝗒. For 𝑝 :𝑓 =𝑔, identity induction reduces 𝑠(𝗁𝖺𝗉𝗉𝗅𝗒𝑝) =𝑝 to the reflexive path; the interval recursor computes to the constant line there. Hence 𝑠 is also a retraction and 𝗁𝖺𝗉𝗉𝗅𝗒 is an equivalence.
exercise 68.9.
For 𝐴 =𝟎 there are only the north and south point constructors and no meridians, exactly the coproduct 𝟏 +𝟏 ≃𝟐. For 𝐴 =𝟏 there is one meridian from north to south, exactly the interval signature. Exchanging the two eliminators in each case gives inverse maps with constructorwise round trips. Since the interval is contractible, so is 𝖲𝗎𝗌𝗉𝟏.
exercise 68.10.
Circle induction proves 𝑓𝑔 ≃id. At the base, 𝑓𝑔(𝖻𝖺𝗌𝖾) computes to 𝖻𝖺𝗌𝖾. For the loop coherence, 𝖺𝗉𝑔(𝗅𝗈𝗈𝗉) =𝗆𝖾𝗋𝗂𝖽(𝖿𝖿) ⋅𝗆𝖾𝗋𝗂𝖽(𝗍𝗍)−1; applying 𝑓 gives 𝗅𝗈𝗈𝗉 ⋅𝗋𝖾𝖿𝗅 =𝗅𝗈𝗈𝗉 because the two meridians are sent to 𝗅𝗈𝗈𝗉 and 𝗋𝖾𝖿𝗅 with the chosen orientation. This is precisely the datum required by circle induction. The other round trip is checked by suspension induction on north, south, and both meridians.
exercise 68.11.
Define 𝖲𝗎𝗌𝗉ℎ by sending north and south to themselves and 𝗆𝖾𝗋𝗂𝖽(𝑎) to 𝗆𝖾𝗋𝗂𝖽(ℎ𝑎). Suspension induction proves 𝖲𝗎𝗌𝗉(id) ≃id: both point components are reflexivity and the meridian coherence computes. The same induction proves 𝖲𝗎𝗌𝗉(𝑘ℎ) ≃𝖲𝗎𝗌𝗉𝑘 ∘𝖲𝗎𝗌𝗉ℎ, since both sides send each meridian to 𝗆𝖾𝗋𝗂𝖽(𝑘(ℎ𝑎)).
exercise 68.12.
With apex 𝟎, the pushout has point constructors 𝗂𝗇𝗅 :𝐴 →𝑃 and 𝗂𝗇𝗋 :𝐵 →𝑃 and no glue paths. Its eliminator therefore asks exactly for an 𝐴-branch and a 𝐵-branch, with the two coproduct computation rules. The pushout and coproduct recursors define maps in both directions; induction on their two constructors proves the composites equal to the identities.
exercise 68.13.
Let the cone point be the image of ∗ :𝟏. Pushout induction defines a path from it to every point: it is reflexivity on the unit summand and the glue path at 𝑎 on the 𝐴 summand. On the apex 𝐴, the required dependent coherence is the path-induction computation for glue. Thus this section contracts every point to the cone point, proving C𝐴 contractible.
exercise 68.14.
Send north and south to the two unit injections and send 𝗆𝖾𝗋𝗂𝖽(𝑎) to the pushout glue at 𝑎. Conversely send the two injections to north and south and every glue to 𝗆𝖾𝗋𝗂𝖽(𝑎). The point and path computation rules make both maps well typed. Suspension induction and pushout induction prove the respective composites on all constructors, so the maps form an equivalence.
exercise 68.15.
The join 𝐴 ∗𝐵 is the pushout of the two projections 𝐴 ←𝐴 ×𝐵 →𝐵. With 𝐴 =𝐵 =𝕊0 ≃𝟐, split on the first Boolean: the two cones glue along two points, yielding two distinguished points with two parallel connecting paths. One path may be contracted to a chosen meridian, leaving their composite as a single loop. Equivalently the join elimination principle reduces to that of 𝖲𝗎𝗌𝗉𝕊0, which is 𝕊1; exchanging eliminators gives the equivalence.
exercise 68.16.
If 𝑃 and 𝑄 have the same propositional-truncation specification, eliminate the constructor 𝐴 →𝑃 into the proposition 𝑄 to obtain 𝑓 :𝑃 →𝑄, and symmetrically obtain 𝑔 :𝑄 →𝑃. Both 𝑔𝑓 and id𝑃 agree on every generator and have propositional codomain, hence are equal by the uniqueness clause. The same holds for 𝑓𝑔, so 𝑃 ≃𝑄.
exercise 68.17.
Because 𝐴 is already a set, the set-truncation eliminator extends id𝐴 to 𝑟 :‖𝐴‖0 →𝐴 with 𝑟(|𝑎|0) =𝑎. Thus 𝑟 ∘| −|0 =id𝐴. Set-truncation induction into the set ‖𝐴‖0 proves | −|0 ∘𝑟 =id on generators; its path constructors are discharged by sethood. Hence the constructor is an equivalence.
exercise 68.18.
The HIT has 𝑎,𝑏 :𝑆 and 𝑝,𝑞 :𝑎 =𝑏. Map it to the circle by 𝑎,𝑏 ↦𝖻𝖺𝗌𝖾, 𝑝 ↦𝗋𝖾𝖿𝗅, and 𝑞 ↦𝗅𝗈𝗈𝗉. Map the circle back with base 𝑎 and loop 𝑝 ⋅𝑞−1 :𝑎 =𝑎 (or the inverse orientation matching the first map). HIT induction checks the two point and path constructors; circle induction checks base and loop. The groupoid laws reduce both composites to the identities, giving 𝑆 ≃𝕊1.
exercise 68.19.
The inclusion 𝑅 →¯𝑅 induces 𝐴/𝑅 →𝐴/¯𝑅. In the other direction, quotient induction interprets reflexivity by reflexivity, symmetry by path inverse, transitivity by path concatenation, and truncation because 𝐴/𝑅 is a set. Thus every generator of ¯𝑅 is already an identity in 𝐴/𝑅. Both maps fix the point constructor, and quotient induction plus sethood makes the two composites identities.
exercise 68.20.
For inputs 0,…,7, the states are (0,0),(0,1),(0,2),(1,0),(1,1),(1,2),(2,0),(2,1). The successor steps from inputs 2 and 5 satisfy 𝗌𝗎𝖼(𝑟) =3 and therefore take the equality branch; every other step takes the strict-inequality branch. Direct substitution gives 𝑎 =3𝑞 +𝑟 and 𝑟 <3 in every column. Bounded uniqueness gives rem3(1) =1 and rem3(5) =2, so the proposed equality is false; it also gives rem3(8) =2, hence rem3(2) =rem3(8).
exercise 68.21.
If 𝑎 ≡𝑎′ and 𝑏 ≡𝑏′ modulo 𝑛, their differences are multiples of 𝑛, so (𝑎 +𝑏) ≡(𝑎′ +𝑏′); quotient recursion therefore defines addition. Associativity, commutativity, and the zero laws descend from ℕ because the quotient is a set. The proposed representative 𝗆𝗈𝗇𝗎𝗌(𝑛,rem𝑛(𝑎)) has sum with 𝑎 congruent to zero (with the zero remainder case interpreted as zero), so it supplies inverses. Hence the quotient is an abelian group.
exercise 68.22.
The quotient constructor gives 𝑞 :𝐴 →𝐴/𝑅. Quotient recursion defines 𝑟 :𝐴/𝑅 →𝐴 by 𝑟(𝑞𝑎) =𝑎 and sends the path constructor associated to 𝑝 :𝑎 =𝑏 to 𝑝. Then 𝑟𝑞 =id𝐴 judgmentally. Quotient induction proves 𝑞𝑟 =id on point constructors, and the target is a set, so no higher coherence remains. Thus 𝑞 is an equivalence.
exercise 68.23.
For a family 𝑃 :𝑇2 →U, induction asks for 𝑝0 :𝑃(𝑏), dependent loops 𝑢′ :𝑝0 =𝑃𝑢𝑝0 and 𝑣′ :𝑝0 =𝑃𝑣𝑝0, and a dependent 2-path over 𝑤 :𝑢 ⋅𝑣 =𝑣 ⋅𝑢 comparing 𝑢′ ⋅𝑣′ with 𝑣′ ⋅𝑢′. For constant 𝑃 ≡𝑋, dependent paths reduce to ordinary paths, so data (𝑥0,𝑢,𝑣,𝑤) produce a recursor 𝑇2 →𝑋. Its point and two loop computations follow from the HIT rules; its square computation is the specified 𝑤 after the dependent-to-ordinary identifications.
exercise 68.24.
Induction asks for 𝑏′ :𝑃(𝑏), ℎ′ :𝑃(ℎ), and for every 𝑥 :𝕊1 a dependent path 𝑠′(𝑥) :𝑏′ =𝑃𝑠(𝑥)ℎ′; the constant map 𝑐 contributes no additional varying endpoint data. Recursion is the constant-family case: choose two points and a path between them for each 𝑥 :𝕊1. This is exactly the suspension eliminator for 𝖲𝗎𝗌𝗉𝕊1, with 𝑏,ℎ as its two poles and 𝑠(𝑥) as its meridian, so exchanging constructors gives the comparison equivalence.
exercise 198.25.
A circle-algebra morphism 𝐹 :𝕊1 →𝕊1 consists of a point 𝐹(𝖻𝖺𝗌𝖾) and a path witnessing preservation of 𝗅𝗈𝗈𝗉. The constant morphism has point 𝖻𝖺𝗌𝖾 and sends 𝗅𝗈𝗈𝗉 to 𝗋𝖾𝖿𝗅; the identity morphism has point 𝖻𝖺𝗌𝖾 and sends 𝗅𝗈𝗈𝗉 to 𝗅𝗈𝗈𝗉. If two morphisms 𝐹,𝐺 have equal loop data, a path between them is a homotopy ℎ :Π𝑥.𝐹𝑥 =𝐺𝑥 whose base component ℎ𝖻𝖺𝗌𝖾 satisfies 𝖺𝗉𝐹(𝗅𝗈𝗈𝗉) ⋅ℎ𝖻𝖺𝗌𝖾 =ℎ𝖻𝖺𝗌𝖾 ⋅𝖺𝗉𝐺(𝗅𝗈𝗈𝗉). Homotopy-initiality makes the type of such pairs contractible, so the given equality of loop data, whiskered with ℎ𝖻𝖺𝗌𝖾 =𝗋𝖾𝖿𝗅, determines the unique path of algebra morphisms.