Ordinary inductive definitions generate points. They cannot present the circle, the type generated from one point 𝖻𝖺𝗌𝖾 and one specified loop 𝗅𝗈𝗈𝗉:𝖻𝖺𝗌𝖾=𝖻𝖺𝗌𝖾, because the second generator belongs to an identity type of the object being defined. A higher inductive type permits exactly such path generators, and its eliminator requires data not only at points but also over those paths. The resulting computation problem is two-dimensional: point data must respect every specified generating path.
We work in the intensional base of chapter 26–chapter 30 with univalence (definition 65.6). Point constructors compute judgmentally, whereas path-constructor equations are propositional. These rules extend the reduction signature, and no normalization theorem for that extension is proved here.
The rules below are not justified merely by adjoining constants to the univalent theory of chapter 65: their eliminators and computation laws require semantic structure. Lumsdaine and Shulman prove that the local universe splitting of every excellent model category has strictly stable pushouts, natural numbers, 𝑊-types, propositional truncations, and a torus; “excellent” means simplicial, combinatorial, right proper, simplicially locally cartesian closed, with all monomorphisms cofibrations and cofibrations stable under limits [LS20]. Their hypotheses include simplicial sets. The same paper explains how 0-truncations, and hence exact set quotients, may be constructed from pushouts and natural numbers in the presence of a universe [LS20].
This is an existence theorem for the displayed HIT structure, not a normalization theorem. Nor do we infer a model of the combined univalence-plus-HIT signature from two separate model constructions: that combination additionally requires a chosen univalent universe closed under the HIT operations. Consequently this chapter uses the rules as an explicit extension and records the available semantic validation without claiming a relative-consistency theorem for the whole extension.
An inductive type (chapter 28) is generated by point constructors: every element is built from the constructors, and a section of a family over the type is determined by its values on them. A higher inductive type admits, in addition, path constructors, which generate elements of its identity types. For a dependent suspension eliminator, the tempting meridian datum 𝑚(𝑎):𝑛=𝑠(𝑛:𝑃[𝖭/𝑥],𝑠:𝑃[𝖲/𝑥]) is not even a type: its endpoints inhabit different fibers. Transport along 𝗆𝖾𝗋𝗂𝖽(𝑎) changes 𝑛 into the fiber containing 𝑠, so the eliminator needs a dependent path, an identity after this transport into the target fiber. Equality between two path-constructor data then requires a dependent 2-path.
Let Γ,𝑥:𝐴⊢𝑃𝗍𝗒𝗉𝖾, let 𝑝:𝑎0=𝐴𝑎1, and let 𝑢:𝑃[𝑎0/𝑥], 𝑣:𝑃[𝑎1/𝑥].
The type of dependent paths from 𝑢 to 𝑣 over 𝑝 is the identity type obtained after transporting 𝑢 into the fiber of 𝑣: (𝑢=𝑥.𝑃𝑝𝑣):=(𝗍𝗋𝑥.𝑃𝑝(𝑢)=𝑃[𝑎1/𝑥]𝑣), with 𝗍𝗋 as in chapter 30. For every dependent function 𝑓:∏𝑥:𝐴𝑃, the operation 𝖺𝗉𝖽 of chapter 62 yields 𝖺𝗉𝖽𝑓(𝑝):𝑓(𝑎0)=𝑥.𝑃𝑝𝑓(𝑎1).
For 𝑟:𝑝=𝑞 (with 𝑝,𝑞:𝑎0=𝐴𝑎1) there is, by identity induction on 𝑟, a path 𝗍𝗋2𝑟(𝑢):𝗍𝗋𝑥.𝑃𝑝(𝑢)=𝑃[𝑎1/𝑥]𝗍𝗋𝑥.𝑃𝑞(𝑢) with 𝗍𝗋2𝗋𝖾𝖿𝗅𝑝(𝑢)≡𝗋𝖾𝖿𝗅. The type of dependent 2-paths over 𝑟 between ℎ:𝑢=𝑥.𝑃𝑝𝑣 and 𝑘:𝑢=𝑥.𝑃𝑞𝑣 is (ℎ=𝑥.𝑃𝑟𝑘):=(ℎ=𝗍𝗋2𝑟(𝑢)⋅𝑘).
When the ambient judgment determines both the family and its bound variable, we drop the binder and write 𝑢=𝑃𝑝𝑣.
Other definitions of 𝑢=𝑃𝑝𝑣 are possible — for instance 𝑢=𝑃[𝑎0/𝑥]𝗍𝗋𝑥.𝑃𝑝−1(𝑣). They are equivalent: path induction on 𝑝 reduces both types to 𝑢=𝑃[𝑎0/𝑥]𝑣 and the comparison map to the identity. The chosen form is the one produced by 𝖺𝗉𝖽, which is why we fix it.
Proof. For (i), identity induction on 𝑝 reduces the left side to 𝗍𝗋𝑧.𝑎=𝑧𝗋𝖾𝖿𝗅𝑎0(𝑞)≡𝑞 and the right side to 𝑞⋅𝗋𝖾𝖿𝗅𝑎0≡𝑞; hence 𝗋𝖾𝖿𝗅𝑞 closes the reflexivity case. For (iv), identity induction on 𝑝 defines 𝗍𝖼𝐵𝑝(𝑢) with reflexivity branch 𝗋𝖾𝖿𝗅𝑢. Identity induction proves (v)–(vii): at 𝑝≡𝗋𝖾𝖿𝗅 their two sides reduce, respectively, to 𝗋𝖾𝖿𝗅=𝗋𝖾𝖿𝗅⋅𝗋𝖾𝖿𝗅, 𝗋𝖾𝖿𝗅=𝗋𝖾𝖿𝗅, and 𝗋𝖾𝖿𝗅=𝗋𝖾𝖿𝗅; the first is a unit law and the other two are reflexivity. In (ii) and (iii), the reflexivity case reduces to 𝗋𝖾𝖿𝗅⋅𝑞=𝑞 after the judgmental right-unit computation, and the left-unit law of theorem 30.20 supplies that path. ◻
the computation rule for each point constructor is a judgmental equality, as for the inductive types of chapter 28;
the computation rule for each path constructor is propositional: the rules provide a term (written 𝛽 with appropriate subscripts) inhabiting an identity type that relates 𝖺𝗉𝖽 of the eliminator to the supplied datum.
The asymmetry in convention 68.4 is deliberate. The operations 𝖺𝗉 and 𝖺𝗉𝖽 are not primitive syntax: they are terms defined by identity induction (chapter 30, chapter 62). A judgmental equality whose statement mentions them would make the deductive system depend on definitions made inside it. Making the point-constructor rules judgmental is unproblematic and also makes the generic path-constructor equation well typed: when a point constructor 𝑐 has branch datum 𝑏 and the eliminator satisfies 𝑓(𝑐)≡𝑏, both the image of a path constructor at 𝑐 and its supplied path datum have endpoints at 𝑏, without a correcting path. Theories in which path constructors also compute judgmentally use a different signature with interval and Kan-composition operations [CCHM18, ABC^+21].
Generation is free generation. The path constructor 𝗅𝗈𝗈𝗉 of 𝕊1 is not the only element of 𝖻𝖺𝗌𝖾=𝕊1𝖻𝖺𝗌𝖾: the groupoid operations of theorem 30.20 produce 𝗅𝗈𝗈𝗉⋅𝗅𝗈𝗈𝗉, 𝗅𝗈𝗈𝗉−1, and so on. No equations between constructors can be imposed; a would-be axiom 𝑝=𝑞 is instead a new generator of dimension one higher.
A higher inductive definition equips the type with an induction principle; its identity types retain exactly the induction principle of definition 30.1 and gain no other. Consequently the identification of the paths of a higher inductive type — for example, that every element of 𝖻𝖺𝗌𝖾=𝕊1𝖻𝖺𝗌𝖾 is a power of 𝗅𝗈𝗈𝗉 — requires an independent encode–decode proof; it is not part of the definition.
★☆☆ Show that the three types 𝗍𝗋𝑥.𝑃𝑝(𝑢)=𝑣, 𝑢=𝗍𝗋𝑥.𝑃𝑝−1(𝑣), and the inductive family of “paths over 𝑝” generated by 𝗋𝖾𝖿𝗅 over 𝗋𝖾𝖿𝗅, are equivalent, by identity induction on 𝑝.
★★☆ Define concatenation of dependent paths: for ℎ:𝑢=𝑥.𝑃𝑝𝑣 and 𝑘:𝑣=𝑥.𝑃𝑞𝑤 construct ℎ⋅𝑘:𝑢=𝑥.𝑃𝑝⋅𝑞𝑤, and show that 𝖺𝗉𝖽𝑓 preserves concatenation up to a dependent 2-path.
★★☆ For 𝑓:𝐴→𝐵 and 𝑟:𝑝=𝑞 with 𝑝,𝑞:𝑎0=𝐴𝑎1, construct 𝖺𝗉2𝑓(𝑟):𝖺𝗉𝑓(𝑝)=𝖺𝗉𝑓(𝑞), and for dependent 𝑓 construct 𝖺𝗉𝖽2𝑓(𝑟):𝖺𝗉𝖽𝑓(𝑝)=𝑥.𝑃𝑟𝖺𝗉𝖽𝑓(𝑞) (definition 68.1). Compute both on 𝑟:=𝗋𝖾𝖿𝗅.
The circle 𝕊1 is the higher inductive type generated by one point and one loop at that point. Its rules follow the order of convention 27.1. Premises recoverable by convention 26.14 are omitted. In the elimination and computation rules, 𝑥.𝑃 binds 𝑥 in the motive, and 𝑓 abbreviates 𝜆𝑢.𝗂𝗇𝖽𝕊1(𝑥.𝑃;𝑏;ℓ;𝑢).
Γ𝖼𝗍𝗑
Γ⊢𝕊1𝗍𝗒𝗉𝖾
1-form
Γ𝖼𝗍𝗑
Γ⊢𝕊1:U0
1-form-
Γ𝖼𝗍𝗑
Γ⊢𝖻𝖺𝗌𝖾:𝕊1
1-intro_1
Γ𝖼𝗍𝗑
Γ⊢𝗅𝗈𝗈𝗉:𝖻𝖺𝗌𝖾=𝕊1𝖻𝖺𝗌𝖾
1-intro_2
Γ,𝑥:𝕊1⊢𝑃𝗍𝗒𝗉𝖾Γ⊢𝑏:𝑃[𝖻𝖺𝗌𝖾/𝑥]Γ⊢ℓ:𝑏=𝑥.𝑃𝗅𝗈𝗈𝗉𝑏Γ⊢𝑢:𝕊1
Γ⊢𝗂𝗇𝖽𝕊1(𝑥.𝑃;𝑏;ℓ;𝑢):𝑃[𝑢/𝑥]
1-elim
Γ,𝑥:𝕊1⊢𝑃𝗍𝗒𝗉𝖾Γ⊢𝑏:𝑃[𝖻𝖺𝗌𝖾/𝑥]Γ⊢ℓ:𝑏=𝑥.𝑃𝗅𝗈𝗈𝗉𝑏
Γ⊢𝗂𝗇𝖽𝕊1(𝑥.𝑃;𝑏;ℓ;𝖻𝖺𝗌𝖾)≡𝑏:𝑃[𝖻𝖺𝗌𝖾/𝑥]
1-comp_1
Γ,𝑥:𝕊1⊢𝑃𝗍𝗒𝗉𝖾Γ⊢𝑏:𝑃[𝖻𝖺𝗌𝖾/𝑥]Γ⊢ℓ:𝑏=𝑥.𝑃𝗅𝗈𝗈𝗉𝑏
Γ⊢𝛽𝕊1𝗅𝗈𝗈𝗉(𝑥.𝑃;𝑏;ℓ):𝖺𝗉𝖽𝑓(𝗅𝗈𝗈𝗉)=(𝑏=𝑥.𝑃𝗅𝗈𝗈𝗉𝑏)ℓ
1-comp_2
The conclusion of 𝕊1-comp2 is well typed: by 𝕊1-comp1, 𝑓(𝖻𝖺𝗌𝖾)≡𝑏, so 𝖺𝗉𝖽𝑓(𝗅𝗈𝗈𝗉):𝑏=𝑥.𝑃𝗅𝗈𝗈𝗉𝑏. As always, each rule is accompanied by congruence rules for judgmental equality in all arguments (definition 26.22).
The circle has the displayed code in U0, and lifting places it in every U𝑖. The parameterized rules used below have the following exact code levels (formation as a type follows by decoding): 𝐴:U𝑖⟹𝖲𝗎𝗌𝗉𝐴:U𝑖,𝐴,𝐵,𝐶:U𝑖,𝑓:𝐶→𝐴,𝑔:𝐶→𝐵⟹𝐴⊔𝐶𝐵:U𝑖,𝐴:U𝑖⟹‖𝐴‖:U𝑖,𝐴:U𝑖⟹‖𝐴‖0:U𝑖,𝐴:U𝑖,𝑅:𝐴→𝐴→U𝑗⟹𝐴/𝑅:Umax(𝑖,𝑗). These are primitive code-formation clauses of this chapter’s extended signature, not consequences of the ordinary universe rules (definition 29.1).
Proof of Construction 68.10 — Recursion for the circle
Construction. Apply 𝕊1-elim with the constant motive 𝑥.𝐴. The required loop datum is a dependent path 𝑎=𝑥.𝐴𝗅𝗈𝗈𝗉𝑎, and ℓ:=𝗍𝖼𝐴𝗅𝗈𝗈𝗉(𝑎)⋅𝑝 is one, by lemma 68.3(iv). Write 𝑔:=𝜆𝑢.𝗂𝗇𝖽𝕊1(𝑥.𝐴;𝑎;ℓ;𝑢); then 𝑔(𝖻𝖺𝗌𝖾)≡𝑎 by 𝕊1-comp1. Then 𝗍𝖼𝐴𝗅𝗈𝗈𝗉(𝑎)⋅𝖺𝗉𝑔(𝗅𝗈𝗈𝗉)𝑙𝑒𝑚𝑚𝑎68.3(𝑣)=𝖺𝗉𝖽𝑔(𝗅𝗈𝗈𝗉)𝕊1−𝑐𝑜𝑚𝑝2=ℓ≡𝗍𝖼𝐴𝗅𝗈𝗈𝗉(𝑎)⋅𝑝, and cancelling 𝗍𝖼𝐴𝗅𝗈𝗈𝗉(𝑎) on the left (theorem 30.20) gives 𝖺𝗉𝑔(𝗅𝗈𝗈𝗉)=𝑝. ◻
Every higher inductive type of this chapter has a non-dependent recursor, derived from its eliminator by the argument of construction 68.10: constant motive, loop data corrected by lemma 68.3(iv), computation rules recovered by lemma 68.3(v) and cancellation. We use these recursors freely, with judgmental computation on point constructors and propositional computation (𝖺𝗉 against the datum) on path constructors.
Proof. Suppose 𝑒:𝗅𝗈𝗈𝗉=𝗋𝖾𝖿𝗅𝖻𝖺𝗌𝖾. Let 𝐴 be a type, 𝑎:𝐴, and 𝑝:𝑎=𝐴𝑎; put 𝑔:=𝗋𝖾𝖼𝕊1(𝑎;𝑝). Then 𝑝=𝖺𝗉𝑔(𝗅𝗈𝗈𝗉)=𝖺𝗉𝑔(𝗋𝖾𝖿𝗅𝖻𝖺𝗌𝖾)≡𝗋𝖾𝖿𝗅𝑎, using construction 68.10, congruence of the function 𝖺𝗉𝑔:(𝖻𝖺𝗌𝖾=𝖻𝖺𝗌𝖾)→(𝑔𝖻𝖺𝗌𝖾=𝑔𝖻𝖺𝗌𝖾) applied to 𝑒, and the computation of 𝖺𝗉 on 𝗋𝖾𝖿𝗅 (chapter 30). Thus every loop in every type is trivial; for parallel 𝑝,𝑞:𝑥=𝐴𝑦 the loop 𝑝⋅𝑞−1 is then 𝗋𝖾𝖿𝗅, whence 𝑝=𝑞 by theorem 30.20. So every type is a set, contradicting theorem 65.22 in the presence of definition 65.6. Applying the first claim: were 𝕊1 a set, 𝗅𝗈𝗈𝗉=𝗋𝖾𝖿𝗅𝖻𝖺𝗌𝖾 would hold, which we have just refuted. ◻
Proof of Theorem 68.13 — Universal property of the circle
Proof. Define Ψ(𝑎,𝑝):=𝗋𝖾𝖼𝕊1(𝑎;𝑝); we show Ψ is a quasi-inverse of Φ, which suffices by chapter 62.
Φ∘Ψ∼id. For (𝑎,𝑝) we have Φ(Ψ(𝑎,𝑝))≡(𝑎,𝖺𝗉𝗋𝖾𝖼𝕊1(𝑎;𝑝)(𝗅𝗈𝗈𝗉)), the first component being judgmental by construction 68.10. By theorem 62.30 it suffices to give a path in the fiber over 𝗋𝖾𝖿𝗅𝑎, i.e. 𝖺𝗉𝗋𝖾𝖼𝕊1(𝑎;𝑝)(𝗅𝗈𝗈𝗉)=𝑝, which is the computation rule of construction 68.10.
Ψ∘Φ∼id. Let 𝑓:𝕊1→𝐴 and put 𝑔:=𝗋𝖾𝖼𝕊1(𝑓(𝖻𝖺𝗌𝖾);𝖺𝗉𝑓(𝗅𝗈𝗈𝗉)). By function extensionality (theorem 65.18) it suffices to show ∏𝑥:𝕊1𝑔(𝑥)=𝐴𝑓(𝑥), which we prove by 𝕊1-elim with motive 𝑥.𝑔(𝑥)=𝐴𝑓(𝑥). At 𝖻𝖺𝗌𝖾: 𝑔(𝖻𝖺𝗌𝖾)≡𝑓(𝖻𝖺𝗌𝖾), take 𝗋𝖾𝖿𝗅. Over 𝗅𝗈𝗈𝗉 we must give 𝗋𝖾𝖿𝗅=𝑥.𝑔(𝑥)=𝑓(𝑥)𝗅𝗈𝗈𝗉𝗋𝖾𝖿𝗅; by lemma 68.3(iii) its type is equivalent to 𝖺𝗉𝑔(𝗅𝗈𝗈𝗉)−1⋅𝗋𝖾𝖿𝗅⋅𝖺𝗉𝑓(𝗅𝗈𝗈𝗉)=𝗋𝖾𝖿𝗅, which by theorem 30.20 reduces to 𝖺𝗉𝑔(𝗅𝗈𝗈𝗉)=𝖺𝗉𝑓(𝗅𝗈𝗈𝗉) — the computation rule of construction 68.10. ◻
Fix universe levels 𝑖≤𝑗. An 𝑖-small circle algebra is a triple A=(𝐴,𝑎,𝑝) with 𝐴:U𝑖, 𝑎:𝐴, and 𝑝:𝑎=𝑎. For an 𝑖-small X=(𝑋,𝑥,𝑞) and a 𝑗-small A=(𝐴,𝑎,𝑝) put Alg𝕊1(X,A):=∑𝑓:𝑋→𝐴(𝑓(𝑥),𝖺𝗉𝑓(𝑞))=(𝑎,𝑝). The algebra X is 𝑗-homotopy-initial when Alg𝕊1(X,A) is contractible for every 𝑗-small circle algebra A. The quantification over such A is metatheoretic; this definition does not assert that the type of all 𝑗-small algebras itself lies in U𝑗.
For each fixed 𝑖≤𝑗 and each 𝑖-small circle algebra X, its dependent induction principle for 𝑗-small motives, with propositional computation on the loop, is equivalent to 𝑗-homotopy-initiality. In particular, (𝕊1,𝖻𝖺𝗌𝖾,𝗅𝗈𝗈𝗉) is 𝑗-homotopy-initial for every target level 𝑗 admitting the displayed eliminator.
Proof of Theorem 198.16 — Induction and homotopy-initiality
Proof. The equivalence is the circle specialization of Sojakova’s main theorem for 𝑊-suspension algebras [Soj14]. A 𝑊-suspension has point constructors indexed by a type 𝐶 and path constructors between specified endpoint maps 𝑓,𝑔:𝐵→𝐶; the circle is the instance with one point index and one loop index whose two endpoint maps are equal. The source works in univalent intensional type theory with Π-, Σ-, identity, and universe types; in particular it uses function extensionality, which is available here from univalence by theorem 65.18. It states, at every target universe not smaller than the carrier universe, an equivalence between dependent induction, recursion plus coherent uniqueness, and contractibility of every algebra-morphism type. Specialize its parameter types to one point generator and one loop generator; its algebra-morphism type is exactly definition 198.15. Thus the import has the same propositional loop-computation strength as 𝕊1-comp2 and assumes neither judgmental path computation nor a general HIT schema.
For the canonical circle, the comparison map Φ of theorem 68.13 is an equivalence. Its fiber over (𝑎,𝑝) is definitionally the type Alg𝕊1((𝕊1,𝖻𝖺𝗌𝖾,𝗅𝗈𝗈𝗉),(𝐴,𝑎,𝑝)). By definition 62.21 every such fiber is contractible, which proves the last claim locally. ◻
Theorem 68.13 identifies maps out of 𝕊1, not the paths inside it: computing Ω(𝕊1,𝖻𝖺𝗌𝖾) requires a separately constructed family over the circle and an encode–decode proof.
★★☆ (Uniqueness principle.) Let 𝑓,𝑔:𝕊1→𝐴, 𝑝:𝑓(𝖻𝖺𝗌𝖾)=𝐴𝑔(𝖻𝖺𝗌𝖾), and suppose 𝖺𝗉𝑓(𝗅𝗈𝗈𝗉)⋅𝑝=𝑝⋅𝖺𝗉𝑔(𝗅𝗈𝗈𝗉). Construct a homotopy 𝑓∼𝑔 by circle induction, using lemma 68.3(iii).
★★☆ Construct an element of ∏𝑥:𝕊1𝑥=𝕊1𝑥 distinct from 𝜆𝑥.𝗋𝖾𝖿𝗅𝑥. Hint: send 𝖻𝖺𝗌𝖾 to 𝗅𝗈𝗈𝗉; the datum over 𝗅𝗈𝗈𝗉 has type 𝗅𝗈𝗈𝗉−1⋅𝗅𝗈𝗈𝗉⋅𝗅𝗈𝗈𝗉=𝗅𝗈𝗈𝗉 by lemma 68.3(iii). Conclude via theorem 68.12.
Proof. We construct ℎ:∏𝑥:𝖨𝑥=𝖨1𝖨 by 𝖨-elim with motive 𝑥.𝑥=𝖨1𝖨: take 𝑏0:=𝗌𝖾𝗀 and 𝑏1:=𝗋𝖾𝖿𝗅1𝖨; the required datum 𝑠 has type 𝗍𝗋𝑥.𝑥=1𝖨𝗌𝖾𝗀(𝗌𝖾𝗀)=𝗋𝖾𝖿𝗅, which by lemma 68.3(ii) is equivalent to 𝗌𝖾𝗀−1⋅𝗌𝖾𝗀=𝗋𝖾𝖿𝗅 — the inverse law of theorem 30.20. Then 1𝖨 together with 𝜆𝑥.ℎ(𝑥)−1 exhibits contractibility. ◻
Proof of Theorem 68.17 — Function extensionality from the interval
Proof. For each 𝑥:𝐴 let ̃𝐻𝑥:=𝗋𝖾𝖼𝖨(𝑓(𝑥);𝑔(𝑥);𝐻(𝑥)):𝖨→𝐵 (remark 68.11), so that ̃𝐻𝑥(0𝖨)≡𝑓(𝑥) and ̃𝐻𝑥(1𝖨)≡𝑔(𝑥). Define 𝑘:=𝜆𝑖.𝜆𝑥.̃𝐻𝑥(𝑖):𝖨→(𝐴→𝐵). By the point computation rules and the 𝜂-rule of definition 27.2, 𝑘(0𝖨)≡𝑓 and 𝑘(1𝖨)≡𝑔. Hence 𝖺𝗉𝑘(𝗌𝖾𝗀):𝑓=𝐴→𝐵𝑔. ◻
By theorem 68.16 the interval is equivalent to 𝟏, yet theorem 68.17 is not provable from 𝟏: the proof uses the judgmental equalities 𝑘(0𝖨)≡𝑓 and 𝑘(1𝖨)≡𝑔, which the equivalence does not transport. The interval is thus a first instance of a phenomenon central to Part IV: judgmental structure carries information invisible to the identity type; the related base-theory function-extensionality boundary is recorded, without an exact transfer theorem, in remark 111.89.
★★☆ State and prove the universal property of the interval: for every type 𝐴, the map (𝖨→𝐴)→∑𝑥:𝐴∑𝑦:𝐴𝑥=𝐴𝑦 sending 𝑓 to (𝑓(0𝖨),(𝑓(1𝖨),𝖺𝗉𝑓(𝗌𝖾𝗀))) is an equivalence. Conclude theorem 68.16 again, using the contractibility of singletons (chapter 30).
★★☆ Strengthen theorem 68.17: show that the map 𝗁𝖺𝗉𝗉𝗅𝗒𝑓,𝑔 of chapter 30 is an equivalence for all 𝑓,𝑔, i.e. derive the full function extensionality axiom (as in theorem 65.18) from the interval. Hint: first show that the term produced by theorem 68.17 is a section of 𝗁𝖺𝗉𝗉𝗅𝗒 up to homotopy.
Proof. Define 𝑓:𝖲𝗎𝗌𝗉𝟐→𝕊1 by recursion (remark 68.11): 𝑓(𝖭):=𝖻𝖺𝗌𝖾, 𝑓(𝖲):=𝖻𝖺𝗌𝖾, 𝖺𝗉𝑓(𝗆𝖾𝗋𝗂𝖽(𝖿𝖿))=𝗅𝗈𝗈𝗉, 𝖺𝗉𝑓(𝗆𝖾𝗋𝗂𝖽(𝗍𝗍))=𝗋𝖾𝖿𝗅𝖻𝖺𝗌𝖾. The first guess for the return map would send 𝗅𝗈𝗈𝗉 to 𝗆𝖾𝗋𝗂𝖽(𝖿𝖿), but this is ill typed: 𝗆𝖾𝗋𝗂𝖽(𝖿𝖿):𝖭=𝖲 is not a loop at 𝖭. Closing the meridian with the inverse of a second one produces the required loop. Define 𝑔:𝕊1→𝖲𝗎𝗌𝗉𝟐 by 𝑔:=𝗋𝖾𝖼𝕊1(𝖭;𝗆𝖾𝗋𝗂𝖽(𝖿𝖿)⋅𝗆𝖾𝗋𝗂𝖽(𝗍𝗍)−1).
𝑔∘𝑓∼id. By Susp-elim with motive 𝑥.𝑔(𝑓(𝑥))=𝖲𝗎𝗌𝗉𝟐𝑥: at 𝖭 take 𝗋𝖾𝖿𝗅𝖭 (both sides are 𝖭 judgmentally); at 𝖲 take 𝗆𝖾𝗋𝗂𝖽(𝗍𝗍):𝖭=𝖲. Over 𝗆𝖾𝗋𝗂𝖽(𝑦) (𝑦:𝟐) the required dependent path reduces, by lemma 68.3(iii, vi, vii) and the groupoid laws, to 𝖺𝗉𝑔(𝖺𝗉𝑓(𝗆𝖾𝗋𝗂𝖽(𝑦)))−1⋅𝗆𝖾𝗋𝗂𝖽(𝑦)=𝗆𝖾𝗋𝗂𝖽(𝗍𝗍). By 𝟐-induction (definition 28.7): for 𝑦≡𝖿𝖿, 𝖺𝗉𝑔(𝖺𝗉𝑓(𝗆𝖾𝗋𝗂𝖽(𝖿𝖿)))=𝖺𝗉𝑔(𝗅𝗈𝗈𝗉)=𝗆𝖾𝗋𝗂𝖽(𝖿𝖿)⋅𝗆𝖾𝗋𝗂𝖽(𝗍𝗍)−1, and (𝗆𝖾𝗋𝗂𝖽(𝖿𝖿)⋅𝗆𝖾𝗋𝗂𝖽(𝗍𝗍)−1)−1⋅𝗆𝖾𝗋𝗂𝖽(𝖿𝖿)=𝗆𝖾𝗋𝗂𝖽(𝗍𝗍) by theorem 30.20; for 𝑦≡𝗍𝗍, 𝖺𝗉𝑔(𝖺𝗉𝑓(𝗆𝖾𝗋𝗂𝖽(𝗍𝗍)))=𝖺𝗉𝑔(𝗋𝖾𝖿𝗅)≡𝗋𝖾𝖿𝗅, and 𝗋𝖾𝖿𝗅−1⋅𝗆𝖾𝗋𝗂𝖽(𝗍𝗍)=𝗆𝖾𝗋𝗂𝖽(𝗍𝗍).
For the other composite, circle induction uses 𝗋𝖾𝖿𝗅𝖻𝖺𝗌𝖾 at the basepoint. Its loop coherence reduces, by lemma 68.3(iii), to the two recursor computations 𝖺𝗉𝑓(𝗆𝖾𝗋𝗂𝖽(𝖿𝖿))=𝗅𝗈𝗈𝗉 and 𝖺𝗉𝑓(𝗆𝖾𝗋𝗂𝖽(𝗍𝗍))=𝗋𝖾𝖿𝗅 followed by the right-unit and inverse laws. Thus 𝑓∘𝑔∼id. This complete calculation is also HoTT Book Lemma 6.5.1 [Uni13], at the same suspension and circle signature. The two homotopies exhibit a quasi-inverse, hence an equivalence by theorem 62.27. ◻
𝕊0:=𝟐 and 𝕊𝑛+1:=𝖲𝗎𝗌𝗉𝕊𝑛 for 𝑛:ℕ. By theorem 68.20 this agrees, in dimension one, with definition 68.8 up to equivalence, and we use the two interchangeably.
Use the pointed types and iterated loop spaces of definition 62.15, leaving basepoints implicit where possible. For pointed 𝐴, 𝐵, define Map∗(𝐴,𝐵):=∑𝑓:𝐴→𝐵𝑓(𝑎0)=𝐵𝑏0.𝕊0 is pointed at 𝗍𝗍, and 𝖲𝗎𝗌𝗉𝐴 at 𝖭.
Proof of Theorem 68.23 — Loop–suspension adjunction
Proof. Write a pointed map 𝐹:𝖲𝗎𝗌𝗉𝐴→𝐵 as (𝐹,𝑟), where 𝑟:𝐹(𝖭)=𝑏0, and put 𝑝𝑎:=𝖺𝗉𝐹(𝗆𝖾𝗋𝗂𝖽(𝑎)). Then Φ(𝐹,𝑟)(𝑎):=𝑟−1⋅𝑝𝑎⋅𝑝−1𝑎0⋅𝑟:𝑏0=𝑏0. At 𝑎0 the middle path is 𝑝𝑎0⋅𝑝−1𝑎0, so the inverse and unit laws give the required path Φ(𝐹,𝑟)(𝑎0)=𝗋𝖾𝖿𝗅𝑏0. Conversely, from a pointed loop map (𝑔,𝑠), with 𝑔:𝐴→(𝑏0=𝑏0) and 𝑠:𝑔(𝑎0)=𝗋𝖾𝖿𝗅𝑏0, suspension recursion gives Ψ(𝑔,𝑠)(𝖭)≡𝑏0,𝑞𝑞𝑢𝑎𝑑Ψ(𝑔,𝑠)(𝖲)≡𝑏0,𝑞𝑞𝑢𝑎𝑑𝖺𝗉Ψ(𝑔,𝑠)(𝗆𝖾𝗋𝗂𝖽(𝑎))=𝑔(𝑎), pointed by reflexivity.
It remains to prove both round trips, including the two basepoint components. Suspension recursion and uniqueness give the equivalence (𝖲𝗎𝗌𝗉𝐴→𝐵)≃∑𝑛:𝐵∑𝑧:𝐵∏𝑎:𝐴𝑛=𝑧. The forward map sends 𝐹 to (𝐹(𝖭),𝐹(𝖲),𝜆𝑎.𝖺𝗉𝐹(𝗆𝖾𝗋𝗂𝖽(𝑎))); the reverse map is suspension recursion. One composite computes on the two points and every meridian. For the other, function extensionality reduces equality of maps to suspension induction, whose point cases are reflexivity and whose meridian case is the recursor equation.
Including the path 𝑟:𝑛=𝑏0 and reassociating dependent sums gives Map∗(𝖲𝗎𝗌𝗉𝐴,𝐵)≃∑𝑛:𝐵∑𝑟:𝑛=𝑏0∑𝑧:𝐵∏𝑎:𝐴𝑛=𝑧≃∑𝑧:𝐵∏𝑎:𝐴𝑏0=𝑧. For the second equivalence, path induction on 𝑟 contracts the singleton ∑𝑛:𝐵𝑛=𝑏0; before contraction the path family is transported by 𝑝𝑎↦𝑟−1⋅𝑝𝑎. From (𝑧,𝑝) in the last type put 𝑞:=𝑝𝑎0,𝑔(𝑎):=𝑝𝑎⋅𝑞−1. The inverse and unit laws give 𝑔(𝑎0)=𝗋𝖾𝖿𝗅𝑏0, so (𝑔,𝑠) is a based map 𝐴→Ω𝐵. Conversely, (𝑔,𝑠) is sent to (𝑏0,𝜆𝑎.𝑔(𝑎)).
These last maps are inverse without an imported coherence theorem. Starting with (𝑧,𝑝), the first component of the round trip is connected to 𝑧 by 𝑞:𝑏0=𝑧; after transport along 𝑞, path associativity, the inverse law, and the unit law identify the transported factor (𝑝𝑎⋅𝑞−1)⋅𝑞 with 𝑝𝑎 for every 𝑎. Function extensionality and the dependent-pair path rule give the required equality. Starting with (𝑔,𝑠), path induction on 𝑠:𝑔(𝑎0)=𝗋𝖾𝖿𝗅 reduces the other composite to 𝑔(𝑎)⋅𝗋𝖾𝖿𝗅−1=𝑔(𝑎) and reflexivity in the basepoint component. Tracing the two reassociations recovers exactly the displayed Φ and Ψ. This is the local calculation summarized by HoTT Book Lemma 6.5.4 [Uni13]; it uses only Π-, Σ-, and identity types and the suspension recursor and uniqueness principle. ◻
Proof. Induction on 𝑛. For 𝑛≡0: Map∗(𝟐,𝐵)≃𝐵, since a based map out of 𝟐 pointed at 𝗍𝗍 is determined by its value at 𝖿𝖿 (definition 28.7). The step is theorem 68.23. ◻
Corollary 68.24 identifies maps out of a suspension; it does not construct the full suspension–loop adjunction or calculate higher homotopy groups of spheres.
★★☆ Reconstruct the circle-induction coherence used in theorem 68.20: compute 𝖺𝗉𝑓(𝖺𝗉𝑔(𝗅𝗈𝗈𝗉))=𝖺𝗉𝑓(𝗆𝖾𝗋𝗂𝖽(𝖿𝖿))⋅𝖺𝗉𝑓(𝗆𝖾𝗋𝗂𝖽(𝗍𝗍))−1=𝗅𝗈𝗈𝗉. Identify the two unit-law 2-paths that finish the induction datum.
Limits of types — products, pullbacks — are constructed from Σ and identity types; colimits beyond coproducts require identifying elements coming from different types, which is exactly what a path constructor provides. The pushout is the basic case.
Let Γ⊢𝐴𝗍𝗒𝗉𝖾, Γ⊢𝐵𝗍𝗒𝗉𝖾, Γ⊢𝐶𝗍𝗒𝗉𝖾 and Γ⊢𝑓:𝐶→𝐴, Γ⊢𝑔:𝐶→𝐵 (a span). The rules of the pushout 𝐴⊔𝐶𝐵 (the maps 𝑓, 𝑔 are suppressed in the notation); premises per convention 26.14, and 𝑒 abbreviates 𝜆𝑢.𝗂𝗇𝖽⊔(𝑥.𝑃;𝑑𝐴;𝑑𝐵;𝑑𝐶;𝑢). The injections 𝗂𝗇𝐴,𝗂𝗇𝐵 below are pushout constructors; 𝗂𝗇𝗅,𝗂𝗇𝗋 remain reserved for the coproducts of definition 28.17.
For 𝐶:=𝟎 there are no glue constructors, so the displayed eliminator is exactly coproduct elimination. Exchanging the two eliminators gives an equivalence with 𝐴+𝐵 under which 𝗂𝗇𝐴,𝗂𝗇𝐵 correspond to 𝗂𝗇𝗅,𝗂𝗇𝗋.
For a span 𝐴𝑓←𝐶𝑔→𝐵 and a type 𝐸, the type of cocones under the span with vertex 𝐸 is cocone(𝐸):=∑𝑖:𝐴→𝐸∑𝑗:𝐵→𝐸∏𝑐:𝐶𝑖(𝑓(𝑐))=𝐸𝑗(𝑔(𝑐)). The constructors form the cocone (𝗂𝗇𝐴,(𝗂𝗇𝐵,𝗀𝗅𝗎𝖾)):cocone(𝐴⊔𝐶𝐵).
For every type 𝐸 the map Φ:(𝐴⊔𝐶𝐵→𝐸)⟶cocone(𝐸),Φ(𝑡):=⟨𝑡∘𝗂𝗇𝐴,𝑡∘𝗂𝗇𝐵,𝜆𝑐.𝖺𝗉𝑡(𝗀𝗅𝗎𝖾(𝑐))⟩, is an equivalence. The displayed triple abbreviates the nested dependent pair used in definition 68.27.
Proof of Theorem 68.28 — Universal property of the pushout
Proof. Given a cocone (𝑖,𝑗,ℎ), the recursor (remark 68.11) yields Ψ(𝑖,𝑗,ℎ):𝐴⊔𝐶𝐵→𝐸 with Ψ(𝑖,𝑗,ℎ)(𝗂𝗇𝐴(𝑎))≡𝑖(𝑎), Ψ(𝑖,𝑗,ℎ)(𝗂𝗇𝐵(𝑏))≡𝑗(𝑏), and 𝖺𝗉Ψ(𝑖,𝑗,ℎ)(𝗀𝗅𝗎𝖾(𝑐))=ℎ(𝑐).
Φ∘Ψ∼id. The first two components of Φ(Ψ(𝑖,𝑗,ℎ)) are 𝜆𝑎.𝑖(𝑎) and 𝜆𝑏.𝑗(𝑏), i.e. 𝑖 and 𝑗 judgmentally by the 𝜂-rule (definition 27.2). For the third, the recursor’s computation rule gives 𝖺𝗉Ψ(𝑖,𝑗,ℎ)(𝗀𝗅𝗎𝖾(𝑐))=ℎ(𝑐) for each 𝑐, hence 𝜆𝑐.𝖺𝗉Ψ(𝑖,𝑗,ℎ)(𝗀𝗅𝗎𝖾(𝑐))=ℎ by function extensionality (theorem 65.18); the triple equality follows by theorem 62.30, because transport along each of the first two reflexivity components reduces to the identity.
Ψ∘Φ∼id. Let 𝑡:𝐴⊔𝐶𝐵→𝐸 and 𝑠:=Ψ(Φ(𝑡)). By function extensionality it suffices to prove ∏𝑥:𝐴⊔𝐶𝐵𝑠(𝑥)=𝐸𝑡(𝑥), by Po-elim with motive 𝑥.𝑠(𝑥)=𝐸𝑡(𝑥). On 𝗂𝗇𝐴(𝑎) and 𝗂𝗇𝐵(𝑏) both sides are judgmentally equal; take 𝗋𝖾𝖿𝗅. Over 𝗀𝗅𝗎𝖾(𝑐), by lemma 68.3(iii) and theorem 30.20 the datum reduces to 𝖺𝗉𝑠(𝗀𝗅𝗎𝖾(𝑐))=𝖺𝗉𝑡(𝗀𝗅𝗎𝖾(𝑐)), which is the computation rule of the recursor, since the glue-component of Φ(𝑡) is 𝜆𝑐.𝖺𝗉𝑡(𝗀𝗅𝗎𝖾(𝑐)). ◻
Let 𝐴, 𝐵 be types, 𝑎0:𝐴, 𝑏0:𝐵 where basepoints are required, and 𝑘:𝐴→𝐵.
Suspension. The pushout of 𝟏←𝐴→𝟏 is equivalent to 𝖲𝗎𝗌𝗉𝐴: the two unit points become north and south and each glue path becomes a meridian; the two induction principles prove the round trips.
Cofiber (mapping cone). The pushout of 𝟏←𝐴𝑘→𝐵 is the cofiber cof(𝑘); for 𝐵:=𝟏 one obtains the cone C𝐴. It is contractible: take the unit point as center, use the glue path to contract every 𝐴-point, and apply pushout induction.
Wedge. The pushout of 𝐴𝑎0⟵𝟏𝑏0⟶𝐵 is the wedge 𝐴∨𝐵.
Join. The pushout of 𝐴𝗉𝗋1←←←←←←←𝐴×𝐵𝗉𝗋2←←←←←←→𝐵 is the join 𝐴∗𝐵; e.g. 𝕊0∗𝕊0≃𝕊1 by Boolean case analysis on the two endpoint families: the join eliminator reduces to that of 𝖲𝗎𝗌𝗉𝕊0.
Each inherits a universal property from theorem 68.28 by specializing the span.
chapter 66 introduced the propositional truncation by rules (definition 66.33); higher inductive types reconstruct it, and its 0-dimensional analogue, as instances of a single mechanism.
The second constructor is recursive: its inputs range over the type being defined, as the inputs of 𝗌𝗎𝖼 range over ℕ (definition 28.21) — except that here they may also be paths.
Proof. (i) is the constructor 𝗌𝗊, read against the definition of 𝗂𝗌𝖯𝗋𝗈𝗉 in definition 66.2. For (ii), apply Tr-elim with the given 𝑃 and 𝑑; the datum 𝑒 requires, for 𝑢,𝑣,𝑤:𝑃(𝑢),𝑧:𝑃(𝑣), a dependent path 𝑤=𝑃𝗌𝗊(𝑢,𝑣)𝑧, i.e. an identification 𝗍𝗋𝑃𝗌𝗊(𝑢,𝑣)(𝑤)=𝑧 in 𝑃(𝑣) — which exists because 𝑃(𝑣) is a proposition. The computation rule is Tr-comp1. ◻
For a type 𝐴, the higher inductive type ‖𝐴‖0 is generated by
a point constructor |𝑎|0:‖𝐴‖0 for 𝑎:𝐴;
a 2-path constructor: for 𝑢,𝑣:‖𝐴‖0 and 𝑝,𝑞:𝑢=‖𝐴‖0𝑣, an identification 𝗌𝗊0(𝑝,𝑞):𝑝=𝑞.
Formation preserves the universe level of 𝐴, and the two introductions are |𝑎|0 and 𝗌𝗊0(𝑝,𝑞) with the endpoints stated above. The elimination and computation rules are given in remark 68.34, lemma 68.36.
This restricted eliminator is sufficient for every use below. A full higher-inductive eliminator would instead require endpoint-indexed dependent 2-path data over 𝗌𝗊0 and a propositional computation rule for that constructor. We do not leave that larger datum hidden behind a symbol or use it later.
Proof of Theorem 68.37 — Universal property of set truncation
Proof.Lemma 68.36 with the constant family 𝐵 gives the right-to-left map 𝑔↦ˆ𝑔, and ˆ𝑔(|𝑎|0)≡𝑔(𝑎) shows it is a section of precomposition (using 𝜂, definition 27.2). For the retraction, let 𝑡:‖𝐴‖0→𝐵 and set 𝑡′:=̂𝑡∘|⋅|0; the family 𝑥.𝑡′(𝑥)=𝐵𝑡(𝑥) is prop-valued (paths in the set 𝐵), hence set-valued, so lemma 68.36 applies: on points, 𝑡′(|𝑎|0)≡𝑡(|𝑎|0), take 𝗋𝖾𝖿𝗅. By function extensionality, 𝑡′=𝑡. ◻
The quotient of a set by a relation is the colimit that classical mathematics uses most; a higher inductive type constructs it directly, with the set-truncation constructor built in.
Let Γ⊢𝐴:U𝑘, let Γ⊢𝑅:𝐴→𝐴→U𝑖, and let Γ⊢ℎ:∏𝑎:𝐴∏𝑏:𝐴𝗂𝗌𝖯𝗋𝗈𝗉(𝑅𝑎𝑏) (𝑅 is a mere relation). The set quotient 𝐴/𝑅 is the higher inductive type generated by
a point constructor 𝗊:𝐴→𝐴/𝑅;
a path constructor: for 𝑎,𝑏:𝐴 and 𝑠:𝑅𝑎𝑏, a path 𝗋𝖾𝗅(𝑠):𝗊(𝑎)=𝐴/𝑅𝗊(𝑏);
the set-truncation constructor: for 𝑢,𝑣:𝐴/𝑅 and 𝑝,𝑞:𝑢=𝐴/𝑅𝑣, an identification 𝗌𝗊0(𝑝,𝑞):𝑝=𝑞.
As official elimination we display the induction principle for set-valued motives, on the same footing as Tr0-elim. Write 𝑒:=𝜆𝑢.𝗂𝗇𝖽𝐴/𝑅(𝑥.𝑃;𝑑;𝑑∼;𝑢). Put 𝑃𝑅(𝑎,𝑏):=𝗂𝗌𝖯𝗋𝗈𝗉(𝑅𝑎𝑏),𝖱𝖾𝗅(𝑅):=∏𝑎,𝑏:𝐴𝑃𝑅(𝑎,𝑏).
No computation rule for 𝗋𝖾𝗅 is displayed: the equality 𝖺𝗉𝖽𝑒(𝗋𝖾𝗅(𝑠))=𝑑∼(𝑎,𝑏,𝑠) is automatic, both sides being parallel dependent paths into the set 𝑃[𝗊(𝑏)/𝑥]. By the constructor 𝗌𝗊0, 𝐴/𝑅 is a set (lemma 68.35).
Proof of Lemma 68.39 — Surjectivity of the quotient map
Proof. By Q-elim: the motive is prop-valued (theorem 68.32(i)), hence set-valued; on points take |(𝑎,𝗋𝖾𝖿𝗅)|. For 𝑠:𝑅𝑎𝑏, both endpoints required by 𝑑∼(𝑎,𝑏,𝑠) inhabit the same propositional fiber; its proposition witness identifies them, exactly as in the construction in theorem 68.32(ii). ◻
Proof of Theorem 68.40 — Universal property of the set quotient
Proof. Given (𝑘,𝑐), Q-elim with constant motive 𝐵, points 𝑑:=𝑘, and datum 𝑑∼(𝑎,𝑏,𝑠):=𝗍𝖼𝐵𝗋𝖾𝗅(𝑠)(𝑘(𝑎))⋅𝑐(𝑎,𝑏,𝑠) (lemma 68.3(iv)) yields Ψ(𝑘,𝑐):𝐴/𝑅→𝐵 with Ψ(𝑘,𝑐)(𝗊(𝑎))≡𝑘(𝑎).
Φ∘Ψ∼id. The first component of Φ(Ψ(𝑘,𝑐)) is 𝑘 by Q-comp and 𝜂 (definition 27.2). The second components are elements of a proposition: each type 𝑘(𝑎)=𝐵𝑘(𝑏) is a proposition because 𝐵 is a set, and propositions are closed under Π by theorem 66.16. Hence the pair equality follows from theorem 62.30.
Ψ∘Φ∼id. For 𝑡:𝐴/𝑅→𝐵 put 𝑡′:=Ψ(Φ(𝑡)). The family 𝑥.𝑡′(𝑥)=𝐵𝑡(𝑥) is prop-valued, hence set-valued; by Q-elim it suffices to note 𝑡′(𝗊(𝑎))≡𝑡(𝗊(𝑎)), with the 𝑑∼ datum automatic as in lemma 68.39. Conclude by function extensionality (theorem 65.18). ◻
Proof. By the encode–decode method (theorem 62.35). Write PropU𝑖:=∑𝑋:U𝑖𝗂𝗌𝖯𝗋𝗈𝗉(𝑋). The naive target code0:𝐴/𝑅→𝐴/𝑅→U𝑖,code0(𝗊(𝑎),𝗊(𝑏)):=𝑅𝑎𝑏, cannot be defined by Q-elim: its constant motive U𝑖 is not set-valued. Restricting the codomain to propositions repairs precisely this premise. Full univalence, through proposition 65.28(ii), and theorem 66.25 show that PropU𝑖 is a set.
Codes. Define code:𝐴/𝑅→𝐴/𝑅→PropU𝑖 by two applications of Q-elim. Inner (fixing 𝑎:𝐴): the motive is constant at the set PropU𝑖; on points, code(𝗊(𝑎),𝗊(𝑏)):=(𝑅𝑎𝑏,ℎ𝑎𝑏); for 𝑠:𝑅𝑏𝑏′, the identification (𝑅𝑎𝑏,--)=(𝑅𝑎𝑏′,--) holds by propositional extensionality, since transitivity and symmetry give 𝑅𝑎𝑏↔𝑅𝑎𝑏′. Outer: the motive 𝑥.(𝐴/𝑅→PropU𝑖) is set-valued (functions into a set form a set by theorem 66.16); the datum for 𝑠:𝑅𝑎𝑎′ follows pointwise — by Q-elim with prop-valued motive — again from propositional extensionality and the equivalence-relation laws.
Encode. By Q-elim with prop-valued motive 𝑥.code(𝑥,𝑥) (on points, 𝜌), obtain 𝑐0:∏𝑥:𝐴/𝑅code(𝑥,𝑥); then encode𝑥,𝑦(𝑝):=𝗍𝗋code(𝑥,−)𝑝(𝑐0(𝑥)).
Decode. By two applications of Q-elim with prop-valued motive (𝑥=𝐴/𝑅𝑦 is a proposition, 𝐴/𝑅 being a set), it suffices to give decode𝗊(𝑎),𝗊(𝑏):=𝗋𝖾𝗅:𝑅𝑎𝑏→𝗊(𝑎)=𝐴/𝑅𝗊(𝑏).
Both code(𝑥,𝑦) and 𝑥=𝐴/𝑅𝑦 are propositions, and encode and decode are maps between them in both directions; two propositions that imply each other are equivalent (lemma 66.7(2)). Instantiating at 𝑥:=𝗊(𝑎), 𝑦:=𝗊(𝑏), where code(𝗊(𝑎),𝗊(𝑏))≡𝑅𝑎𝑏, gives the theorem. ◻
Proof. Write 𝐴𝑟:=∑𝑎:𝐴𝑟(𝑎)=𝐴𝑎 and 𝗊𝑟(𝑎):=(𝑟(𝑎),𝐼(𝑎)):𝐴𝑟. Since 𝐴 is a set, each fiber 𝑟(𝑎)=𝐴𝑎 is a proposition, so 𝐴𝑟 is a set and, by theorem 62.30, two elements of 𝐴𝑟 are equal as soon as their first components are; in particular 𝗊𝑟(𝑎)=(𝑎,𝑝) for every (𝑎,𝑝):𝐴𝑟.
Define 𝜑:𝐴/𝑅→𝐴𝑟 by Q-elim (constant set-valued motive 𝐴𝑟): on points 𝜑(𝗊(𝑎)):=𝗊𝑟(𝑎); for 𝑠:𝑅𝑎𝑏, 𝜀−1 gives 𝑟(𝑎)=𝑟(𝑏), hence 𝗊𝑟(𝑎)=𝗊𝑟(𝑏) by the first-component criterion. Define 𝜓:𝐴𝑟→𝐴/𝑅 by 𝜓(𝑎,𝑝):=𝗊(𝑎).
𝜓∘𝜑∼id: by Q-elim with prop-valued motive, on points we need 𝗊(𝑟(𝑎))=𝐴/𝑅𝗊(𝑎), which is 𝗋𝖾𝗅(𝜀(𝑟(𝑎),𝑎)(𝐼(𝑎))), since 𝐼(𝑎):𝑟(𝑟(𝑎))=𝑟(𝑎).
𝜑∘𝜓∼id: for (𝑎,𝑝), 𝜑(𝜓(𝑎,𝑝))≡𝗊𝑟(𝑎)=(𝑎,𝑝) by the first-component criterion. ◻
The recursor of definition 28.21 defines multiplication and order inside the type theory: 𝑚⋅𝟢≡𝟢,𝑚⋅𝗌𝗎𝖼(𝑘)≡𝑚⋅𝑘+𝑚,𝗆𝗈𝗇𝗎𝗌(𝑎,𝟢)≡𝑎,𝗆𝗈𝗇𝗎𝗌(𝟢,𝗌𝗎𝖼(𝑏))≡𝟢,𝗆𝗈𝗇𝗎𝗌(𝗌𝗎𝖼(𝑎),𝗌𝗎𝖼(𝑏))≡𝗆𝗈𝗇𝗎𝗌(𝑎,𝑏),𝑎≤𝑏:=∑𝑑:ℕ𝑎+𝑑=𝑏,𝑎<𝑏:=𝗌𝗎𝖼(𝑎)≤𝑏. The addition in these equations is construction 28.23. Simultaneous recursion on 𝑎,𝑏 defines 𝖼𝗆𝗉(𝑎,𝑏):(𝑎<𝑏)+(𝑎=𝑏)+(𝑏<𝑎) by the four clauses 𝑎𝑏𝖼𝗆𝗉(𝑎,𝑏)𝟢𝟢𝖾𝗊(𝗋𝖾𝖿𝗅)𝟢𝗌𝗎𝖼(𝑏)𝗅𝗍(𝟢<𝗌𝗎𝖼(𝑏))𝗌𝗎𝖼(𝑎)𝟢𝗀𝗍(𝟢<𝗌𝗎𝖼(𝑎))𝗌𝗎𝖼(𝑎)𝗌𝗎𝖼(𝑏)𝗆𝖺𝗉𝖲𝗎𝖼(𝖼𝗆𝗉(𝑎,𝑏)). Here 𝗆𝖺𝗉𝖲𝗎𝖼 maps the three alternatives using successor congruence and injectivity. The zero inequalities are obtained by induction on the nonzero argument. Thus 𝖼𝗆𝗉 is a decidable trichotomy in the object theory, not an external comparison oracle.
Proof of Lemma 198.47 — Internal arithmetic laws used by division
Proof. Associativity, commutativity, and cancellation follow by induction on the last addend; the successor case of cancellation reduces 𝗌𝗎𝖼(𝑎+𝑐)=𝗌𝗎𝖼(𝑏+𝑐) by successor injectivity before applying the induction hypothesis. Induction on 𝑛 proves the three multiplication equations. For distributivity, its successor clause is (𝑞+𝑞′)⋅𝑛+(𝑞+𝑞′)=(𝑞⋅𝑛+𝑞)+(𝑞′⋅𝑛+𝑞′), after reassociation and commutation; the clauses for 0⋅𝑛 and 𝗌𝗎𝖼(𝑑)⋅𝑛=𝑛+𝑑⋅𝑛 use the same calculation with 𝑞=0 and 𝑞=1, respectively.
If 𝑟<𝑛 is witnessed by 𝑡 with 𝗌𝗎𝖼(𝑟)+𝑡=𝑛, then the same 𝑡 witnesses 𝗌𝗎𝖼(𝑞⋅𝑛+𝑟)+𝑡=𝑞⋅𝑛+𝑛, which proves clause (3). Clause (2) rewrites (𝑞+𝗌𝗎𝖼(𝑑))⋅𝑛+𝑟′=(𝑞⋅𝑛+𝑛)+(𝑑⋅𝑛+𝑟′), so 𝑑⋅𝑛+𝑟′ witnesses clause (4). For clause (5), a witness 𝑡 of 𝑥<𝗌𝗎𝖼(𝑦) satisfies 𝗌𝗎𝖼(𝑥)+𝑡=𝗌𝗎𝖼(𝑦); the induction equation 𝗌𝗎𝖼(𝑥)+𝑡=𝗌𝗎𝖼(𝑥+𝑡) and successor injectivity give 𝑥+𝑡=𝑦, the required witness of 𝑥≤𝑦. If 𝑥<𝑦 and 𝑦≤𝑥 have witnesses 𝑡,𝑢, their equations give 𝗌𝗎𝖼(𝑥)+𝑡+𝑢=𝑥; induction on 𝑥 and successor disjointness rule this out. Finally, two witnesses 𝑑,𝑑′ of 𝑎≤𝑏 satisfy 𝑎+𝑑=𝑎+𝑑′ and hence 𝑑=𝑑′ by cancellation. Equality proofs in ℕ are propositions by theorem 62.39; the dependent-sum equality rule then makes 𝑎≤𝑏 a proposition. Since 𝑎<𝑏:=𝗌𝗎𝖼(𝑎)≤𝑏, this conclusion instantiated at 𝗌𝗎𝖼(𝑎) and 𝑏 makes 𝑎<𝑏 a proposition. ◻
Proof of Lemma 198.48 — Internal division with remainder
Proof. The witness 𝑒 gives 0<𝑛. Define 𝖽𝗂𝗏𝗋𝖾𝗆𝑛,𝑒 by primitive recursion on 𝑎. Induction on 𝑛 gives 𝑧𝑛:0⋅𝑛=0; together with the additive unit laws it gives 𝐸0:0=0⋅𝑛+0. At zero return (0,0,𝐸0,0<𝑛). Given (𝑞,𝑟,𝐸,ℎ) for 𝑎, inspect 𝖼𝗆𝗉(𝗌𝗎𝖼(𝑟),𝑛). The alternative 𝑛<𝗌𝗎𝖼(𝑟) gives 𝑛≤𝑟 by part (5) of lemma 198.47, contradicting ℎ:𝑟<𝑛 by part (6). The remaining clauses are 𝗌𝗎𝖼(𝑟)<𝑛:(𝑞,𝗌𝗎𝖼(𝑟),𝐸<,−),𝐸<:𝗌𝗎𝖼(𝑞⋅𝑛+𝑟)=𝑞⋅𝑛+𝗌𝗎𝖼(𝑟),𝗌𝗎𝖼(𝑟)=𝑛:(𝗌𝗎𝖼(𝑞),0,𝐸=,−),𝐸=:𝗌𝗎𝖼(𝑞⋅𝑛+𝑟)=𝑞⋅𝑛+𝑛=𝗌𝗎𝖼(𝑞)⋅𝑛+0. The dashes are the comparison proof and 0<𝑛, respectively; 𝐸< and 𝐸= are obtained by rewriting 𝐸 with the addition and multiplication equations of lemma 198.47. Hence every branch returns all four components of the dependent sum.
For uniqueness, apply trichotomy to 𝑄,𝑄′. If 𝑄=𝑄′, cancellation of 𝑄⋅𝑛 gives 𝑟=𝑟′. If 𝑄′=𝑄+𝗌𝗎𝖼(𝑑), the right side is at least 𝑄⋅𝑛+𝑛, because 𝑄′⋅𝑛+𝑟′=𝑄⋅𝑛+𝗌𝗎𝖼(𝑑)⋅𝑛+𝑟′, whereas 𝑟<𝑛 makes the left side 𝑄⋅𝑛+𝑟 strictly smaller than 𝑄⋅𝑛+𝑛; this contradicts the assumed equality. The case 𝑄=𝑄′+𝗌𝗎𝖼(𝑑) is symmetric. Parts (3) and (4) of lemma 198.47 give the two bounds, and part (6) gives the contradiction. Thus no external order fact is used. ◻
For 𝑛:ℕ and 𝑒:𝗌𝗎𝖼(𝟢)≤𝑛, put 𝑅𝑛(𝑎,𝑏):=‖∑𝑘:ℕ∑𝑙:ℕ𝑎+𝑘⋅𝑛=ℕ𝑏+𝑙⋅𝑛‖. There is a function rem𝑛:ℕ→ℕ with rem𝑛(𝑎)<𝑛, rem𝑛(rem𝑛(𝑎))=rem𝑛(𝑎), and rem𝑛(𝑎)=ℕrem𝑛(𝑏)≃𝑅𝑛(𝑎,𝑏), Moreover 𝑅𝑛 is a mere equivalence relation.
Proof of Lemma 198.49 — Division remainder and congruence
Proof.𝑅𝑛 is proposition-valued by truncation. Reflexivity uses 𝑘=𝑙=0, symmetry exchanges 𝑘,𝑙, and transitivity adds the two witnesses and cancels the common middle summand after reassociation.
Let (𝑞𝑎,𝑟𝑎,𝐸𝑎,ℎ𝑎):=𝖽𝗂𝗏𝗋𝖾𝗆𝑛,𝑒(𝑎) and define rem𝑛(𝑎):=𝑟𝑎. If 𝑎<𝑛, the left-zero and additive-unit paths give 𝐸′𝑎:𝑎=0⋅𝑛+𝑎. Thus (0,𝑎,𝐸′𝑎,𝑎<𝑛) is another division witness, so uniqueness in lemma 198.48 gives rem𝑛(𝑎)=𝑎. Applying this fact at 𝑎=rem𝑛(𝑏) proves idempotence.
If the remainders agree, the maintained equations give 𝑎+𝑞𝑏𝑛=𝑏+𝑞𝑎𝑛, hence a generator of 𝑅𝑛(𝑎,𝑏). Conversely eliminate the truncation into the proposition that the remainders agree. For a witness 𝑎+𝑘𝑛=𝑏+𝑙𝑛, substitute the two maintained decompositions and reassociate to (𝑞𝑎+𝑘)𝑛+𝑟𝑎=(𝑞𝑏+𝑙)𝑛+𝑟𝑏. The uniqueness clause of lemma 198.48, with quotients 𝑞𝑎+𝑘 and 𝑞𝑏+𝑙, gives 𝑟𝑎=𝑟𝑏. Thus the two implications are inverse because both sides are propositions, by lemma 66.7(2). ◻
Fix 𝑛:ℕ and 𝑒:𝗌𝗎𝖼(𝟢)≤𝑛, and let 𝑅𝑛 be the mere congruence relation of lemma 198.49. Put ℤ/𝑛:=ℕ/𝑅𝑛. By lemma 198.49, rem𝑛 is idempotent and (rem𝑛(𝑎)=ℕrem𝑛(𝑏))≃𝑅𝑛(𝑎,𝑏). Hence lemma 68.42 applies: ℤ/𝑛≃∑𝑎:ℕrem𝑛(𝑎)=ℕ𝑎, the set of canonical representatives 0,1,…,𝑛−1. Two consequences. First, ℤ/𝑛 has decidable equality: by theorem 68.41, (𝗊(𝑎)=ℤ/𝑛𝗊(𝑏))≃𝑅𝑛(𝑎,𝑏)≃(rem𝑛(𝑎)=ℕrem𝑛(𝑏)), and equality in ℕ is decidable (theorem 62.39). Second, ℤ/𝑛 is small: the quotient lives in the same universe as ℕ and 𝑅𝑛 (remark 68.9). By contrast, the naive encoding as a type of equivalence classes quantifies over a universe of predicates and therefore generally lands one universe higher; it is that universe quantification, not an impredicativity assumption made here, that causes the increase.
Construction. Apply Q-elim with motive constant at the set ℤ/𝑛→ℤ/𝑛 (functions into a set form a set by theorem 66.16). On points, define 𝗊(𝑎)⊕− by a second application of Q-elim (constant motive ℤ/𝑛): on points 𝗊(𝑎)⊕𝗊(𝑏):=𝗊(𝑎+𝑏); the 𝑑∼ datum requires 𝑅𝑛(𝑏,𝑏′)→𝗊(𝑎+𝑏)=𝗊(𝑎+𝑏′). Eliminate the truncation into this proposition: witnesses 𝑏+𝑘𝑛=𝑏′+𝑙𝑛 yield (𝑎+𝑏)+𝑘𝑛=(𝑎+𝑏′)+𝑙𝑛 by congruence and associativity, so 𝗋𝖾𝗅 yields 𝗋𝖾𝗅((𝑎+𝑏)+𝑘𝑛=(𝑎+𝑏′)+𝑙𝑛):𝗊(𝑎+𝑏)=𝗊(𝑎+𝑏′). The outer 𝑑∼ datum is an equality of functions; by function extensionality and Q-elim with prop-valued motive it reduces to 𝑅𝑛(𝑎,𝑎′)→𝗊(𝑎+𝑏)=𝗊(𝑎′+𝑏), again compatibility. The computation rule is Q-comp twice. ◻
★★☆ Let 𝑅 be a mere relation on 𝐴 and ¯𝑅 its reflexive–symmetric–transitive closure (define it as an inductive family, truncated). Show that the identity on generators induces an equivalence 𝐴/𝑅≃𝐴/¯𝑅.
★★☆ Instantiate lemma 198.48 at 𝑛=3. Trace the states (𝑞,𝑟) for inputs 0,…,7, mark the two successor steps that take the equality branch of 𝖼𝗆𝗉(𝗌𝗎𝖼(𝑟),3), and verify the decomposition equation and bound after each step. Then use bounded uniqueness to prove rem3(1)=rem3(5) is false and rem3(2)=rem3(8) is true.
★★★ Show that congruence modulo 𝑛 is compatible with addition, and that (ℤ/𝑛,⊕,𝗊(0)) is an abelian group, with inverses induced by 𝑎↦rem𝑛(𝗆𝗈𝗇𝗎𝗌(𝑛,rem𝑛(𝑎))).
A higher inductive signature lists point constructors and higher constructors whose boundaries are built from earlier generators. The torus is a checked two-dimensional instance.
The torus 𝑇2 is generated by a point 𝑏, two paths 𝑝,𝑞:𝑏=𝑇2𝑏, and a 2-path 𝑡:𝑝⋅𝑞=𝑞⋅𝑝. The source and target of the 2-path constructor are not constructors but composites of constructors — the general situation: a constructor of dimension 𝑛 has source and target built from the earlier generators by the path operations of theorem 30.20. Its induction principle requires the dependent 2-paths of definition 68.1(ii); concatenation of dependent paths is defined by double identity induction on their base paths. The square constructor asks for the resulting dependent 2-path over the commutativity cell. One can also prove 𝑇2≃𝕊1×𝕊1, a nontrivial exercise in the same apparatus.
This book does not adopt a general schema of higher inductive definitions. The circle, suspensions, set-quotients, and the truncations of chapter 66 are introduced by their own displayed rules, on the fixed pattern: point and path constructors (introduction), an eliminator whose premises assign to each constructor a datum over it (dependent paths in the appropriate dimension), judgmental computation on point constructors and propositional computation on path constructors (convention 68.4). A general syntactic schema playing the role that strict positivity plays for ordinary inductive types (remark 28.36) was, at the time of the foundational texts, and remains, a subject of research rather than a settled definition; the HoTT Book takes the same per-example approach [Uni13]. Semantically, classes of higher inductive types have been justified by cell monads with parameters in excellent model categories [LS20] and in cubical settings, where path constructors also compute judgmentally [CCHM18, ABC^+21].
★★☆ Using definition 68.1(ii) and exercise 68.2, state the induction principle of the torus of example 68.45 precisely, and derive its recursion principle: for every type 𝑋 with 𝑥0:𝑋, loops 𝑢,𝑣:𝑥0=𝑋𝑥0, and 𝑤:𝑢⋅𝑣=𝑣⋅𝑢, a map 𝑇2→𝑋 sending 𝑏,𝑝,𝑞,𝑡 to 𝑥0,𝑢,𝑣,𝑤, with a judgmental point equation and propositional equations for the three higher constructors.
★★☆ Define 𝕊2 by hub and spokes: a point 𝑏, a point ℎ, and for every 𝑥:𝕊1 a path 𝑠(𝑥):𝑐(𝑥)=ℎ, where 𝑐:=𝗋𝖾𝖼𝕊1(𝑏;𝗋𝖾𝖿𝗅𝑏). Write out the induction principle (only dependent 1-paths are needed) and compare with 𝖲𝗎𝗌𝗉𝕊1.
★★☆ Give the circle-algebra morphisms from 𝕊1 to itself determined by 𝗋𝖾𝖿𝗅 and by the generating loop. Use homotopy-initiality to determine the path between any two morphisms with equal loop data, including the required coherence component.
★★★Practical project.hit-boundary-checker Implement in Agda or Kappa a checker for point and path constructors of the circle, suspension, and pushout signatures. Use a finite grammar whose constructor arguments are variables, previously declared point terms, or identity types between such terms; the checker need not decide a general HIT schema. Maintain a context of declared point constructors and verify that each path boundary has its declared type after simultaneous substitution. Reject a suspension meridian whose north endpoint is replaced by south, and print the point and path data required by the corresponding recursor. Mutation test: skip one endpoint check and observe that the malformed signature enters the accepted set.
Higher inductive types emerged around 2011 from discussions of Bauer, Lumsdaine, Shulman, and Warren at the Oberwolfach meeting on homotopical type theory; the primary published exposition, which this chapter follows in substance, is Chapter 6 of the HoTT Book [Uni13] — the circle, interval, suspensions, cell complexes, hubs and spokes, pushouts, truncations, and quotients all appear there, and our convention 68.4 (judgmental computation for point constructors, propositional for path constructors) is the choice made there, for the reasons rehearsed in remark 68.5. Rijke’s textbook [Rij25] presents the circle through its dependent universal property and develops set quotients, the replacement axiom, and modular arithmetic in the style we adapt in §§ 68.2 and 68.7; the formulation of 𝕊1-elim by rules follows the formal appendix of [Uni13]. Quotient types long predate their higher-inductive formulation: they are present in NuPRL’s extensional theory, and Hofmann’s thesis [Hof95] analyzes quotients and their conservativity problems in intensional theories; observational type theory [AMS07] builds quotients in by definition of its equality. The effectiveness theorem (theorem 68.41) and the universe-raising equivalence-class construction it replaces go back, in the univalent setting, to Voevodsky’s Foundations library; our proof is the encode–decode argument of theorem 62.35. That path constructors may be made to compute judgmentally is a discovery of cubical type theory: [CCHM18] treats the circle and propositional truncation, [ABC^+21] the Cartesian variant, and Angiuli’s thesis [Ang19] the computational (meaning-theoretic) reading.