A path 𝑝 :𝑎 =𝑏 can be reversed, concatenated with a path 𝑞 :𝑏 =𝑐, and mapped by a function 𝑓 :𝐴 →𝐵. These operations satisfy the groupoid laws up to higher paths, and identity elimination computes each operation. Throughout the chapter the rules remain those of the intensional base through definition 30.1; univalence is not assumed.
Paths and the groupoid structure
We first fix the path notation and calculate its groupoid structure.
We write 𝑎 =𝐴𝑏 for the identity type 𝖨𝖽𝐴(𝑎,𝑏), omitting the subscript when it is determined; its elements are called paths from 𝑎 to 𝑏, and the path space from 𝑎 to 𝑏 is the identity type displayed as the object-level formula 𝑎 =𝑏. Judgmental equality remains ≡. Explicit metatheoretic equalities—for example, equalities of external natural-number indices or side-condition data—retain their ordinary meaning; the syntactic role therefore determines which reading of = is in force. Until univalence is introduced, every path constructed here is a term of the intensional identity type.
Type families are maps into a universe, 𝑃 :𝐴 →U (definition 29.1); we write 𝑃(𝑥) for the fiber over 𝑥 and 𝗍𝗋𝑃𝑝 :𝑃(𝑥) →𝑃(𝑦) for transport along 𝑝 :𝑥 =𝑦 (chapter 30). We call 𝐴 the base, ∑𝑥:𝐴𝑃(𝑥) the total space, and a dependent function 𝑓 :∏𝑥:𝐴𝑃(𝑥) a section of 𝑃.
Referenced from 3 locations
Let 𝑎,𝑏,𝑐,𝑑 :𝐴 and 𝑝 :𝑎 =𝑏, 𝑞 :𝑏 =𝑐, 𝑟 :𝑐 =𝑑. The operations of chapter 30 give 𝗋𝖾𝖿𝗅𝑎 :𝑎 =𝑎, 𝑝−1 :𝑏 =𝑎, and 𝑝 ⋅𝑞 :𝑎 =𝑐, subject to the laws of theorem 30.20:
𝑝 ⋅𝗋𝖾𝖿𝗅𝑏 ≡𝑝, and there is ℓ𝑝 :𝗋𝖾𝖿𝗅𝑎 ⋅𝑝 =𝑝 (the left unit law), whose construction computes: ℓ𝗋𝖾𝖿𝗅𝑎 ≡𝗋𝖾𝖿𝗅𝗋𝖾𝖿𝗅𝑎;
𝑝 ⋅𝑝−1 =𝗋𝖾𝖿𝗅𝑎 and 𝑝−1 ⋅𝑝 =𝗋𝖾𝖿𝗅𝑏;
(𝑝−1)−1 =𝑝;
𝛼𝑝,𝑞,𝑟 :(𝑝 ⋅𝑞) ⋅𝑟 =𝑝 ⋅(𝑞 ⋅𝑟).
All constructions compute on reflexivity: (𝗋𝖾𝖿𝗅𝑎)−1 ≡𝗋𝖾𝖿𝗅𝑎, 𝗍𝗋𝑃𝗋𝖾𝖿𝗅𝑎 ≡id𝑃(𝑎), and 𝖺𝗉𝑓(𝗋𝖾𝖿𝗅𝑎) ≡𝗋𝖾𝖿𝗅𝑓(𝑎).
Referenced from 8 locations
Proof of Proposition 62.2 — The groupoid structure, transcribed
Proof. Define 𝑝 ⋅𝑞 by identity induction on 𝑞, with 𝑝 ⋅𝗋𝖾𝖿𝗅𝑏 ≡𝑝. A second identity induction gives ℓ𝑝 :𝗋𝖾𝖿𝗅𝑎 ⋅𝑝 =𝑝 and computes ℓ𝗋𝖾𝖿𝗅𝑎 ≡𝗋𝖾𝖿𝗅𝗋𝖾𝖿𝗅𝑎. Identity induction likewise gives inversion and the inverse and associativity paths; these are the formulas of theorem 30.20(ii)–(iv) in the notation of convention 62.1. ◻
Laws (i)–(iv) are themselves paths, in path spaces of path spaces, and so support their own algebra. The basic operations one level up are whiskerings, which map a path between paths through concatenation on one chosen side.
Let 𝑝,𝑞 :𝑎 =𝑏 and 𝑟,𝑠 :𝑏 =𝑐, and let 𝛼 :𝑝 =𝑞, 𝛽 :𝑟 =𝑠. Define the right and left whiskerings 𝛼∗𝑟:=𝖺𝗉(−)⋅𝑟(𝛼):𝑝⋅𝑟=𝑞⋅𝑟,𝑞∗𝛽:=𝖺𝗉𝑞⋅(−)(𝛽):𝑞⋅𝑟=𝑞⋅𝑠, where ( −) ⋅𝑟:=𝜆𝑡. 𝑡 ⋅𝑟 and 𝑞 ⋅( −):=𝜆𝑡. 𝑞 ⋅𝑡. Both compute on reflexivity: 𝗋𝖾𝖿𝗅𝑝 ∗𝑟 ≡𝗋𝖾𝖿𝗅𝑝⋅𝑟 and 𝑞 ∗𝗋𝖾𝖿𝗅𝑟 ≡𝗋𝖾𝖿𝗅𝑞⋅𝑟. Since 𝑡 ⋅𝗋𝖾𝖿𝗅𝑏 ≡𝑡, the function ( −) ⋅𝗋𝖾𝖿𝗅𝑏 is judgmentally the identity, so moreover 𝛼 ∗𝗋𝖾𝖿𝗅𝑏 ≡𝖺𝗉id(𝛼). The two horizontal composites of 𝛼 and 𝛽 are 𝛼⋆𝛽:=(𝛼∗𝑟)⋅(𝑞∗𝛽),𝛼⋆′𝛽:=(𝑝∗𝛽)⋅(𝛼∗𝑠), both of type 𝑝 ⋅𝑟 =𝑞 ⋅𝑠.
Referenced from 7 locations
For all 𝑝,𝑞 :𝑎 =𝑏, 𝑟,𝑠 :𝑏 =𝑐, 𝛼 :𝑝 =𝑞, and 𝛽 :𝑟 =𝑠, we have 𝛼 ⋆𝛽 =𝛼 ⋆′𝛽.
Referenced from 5 locations
Proof of Lemma 62.4 — The horizontal composites agree
Proof. The endpoints 𝑝,𝑞 of 𝛼 and 𝑟,𝑠 of 𝛽 are generic variables, so identity induction (the path-induction discipline of chapter 30) applies twice: we may assume 𝛼 is 𝗋𝖾𝖿𝗅𝑝 and 𝛽 is 𝗋𝖾𝖿𝗅𝑟. All four whiskerings then compute to reflexivities, and since 𝑢 ⋅𝗋𝖾𝖿𝗅 ≡𝑢, 𝗋𝖾𝖿𝗅𝑝⋆𝗋𝖾𝖿𝗅𝑟𝑑𝑒𝑓𝑖𝑛𝑖𝑡𝑖𝑜𝑛𝑠𝑜𝑓⋆𝑎𝑛𝑑𝑤ℎ𝑖𝑠𝑘𝑒𝑟𝑖𝑛𝑔≡𝗋𝖾𝖿𝗅𝑝⋅𝑟⋅𝗋𝖾𝖿𝗅𝑝⋅𝑟𝑟𝑖𝑔ℎ𝑡−𝑢𝑛𝑖𝑡𝑐𝑜𝑚𝑝𝑢𝑡𝑎𝑡𝑖𝑜𝑛≡𝗋𝖾𝖿𝗅𝑝⋅𝑟𝑑𝑒𝑓𝑖𝑛𝑖𝑡𝑖𝑜𝑛𝑠𝑜𝑓⋆′𝑎𝑛𝑑𝑤ℎ𝑖𝑠𝑘𝑒𝑟𝑖𝑛𝑔≡𝗋𝖾𝖿𝗅𝑝⋆′𝗋𝖾𝖿𝗅𝑟, so 𝗋𝖾𝖿𝗅𝗋𝖾𝖿𝗅𝑝⋅𝑟 inhabits the instance. ◻
★☆☆ Let 𝑝 :𝑎 =𝑏. Show that if 𝑞 :𝑏 =𝑎 satisfies 𝑝 ⋅𝑞 =𝗋𝖾𝖿𝗅𝑎, then 𝑞 =𝑝−1: inverses are unique up to a path. Conclude that the laws of proposition 62.2(ii) determine 𝑝−1 among all 𝑞 :𝑏 =𝑎.
Referenced from 3 locations
Functorial actions and transport
Given 𝑝 :𝑥 =𝑦 and 𝑢 :𝑃(𝑥), the first local problem is to move 𝑢 into 𝑃(𝑦) without pretending that the two fibers are judgmentally equal. Transport performs that move; ordinary and dependent path action explain how functions and sections respect it.
Let 𝑝 :𝑥 =𝐴𝑦 and 𝑏 :𝐵, and write const𝑏:=𝜆𝑧. 𝑏 :𝐴 →𝐵. Then (i) 𝖺𝗉id𝐴(𝑝) =𝑝, and (ii) 𝖺𝗉const𝑏(𝑝) =𝗋𝖾𝖿𝗅𝑏.
Referenced from 6 locations
Proof of Lemma 62.6 — Identity and constant functions
Proof. By identity induction on 𝑝; in each case both sides compute to a reflexivity, so 𝗋𝖾𝖿𝗅𝗋𝖾𝖿𝗅 inhabits the required path. ◻
Let 𝑃 :𝐴 →U, let 𝑝 :𝑥 =𝐴𝑦 and 𝑞 :𝑦 =𝐴𝑧, and let 𝑢 :𝑃(𝑥).
𝗍𝗋𝑃𝑝⋅𝑞(𝑢) =𝗍𝗋𝑃𝑞(𝗍𝗋𝑃𝑝(𝑢));
for 𝑓 :𝐴′ →𝐴, 𝑝′ :𝑥′ =𝐴′𝑦′, and 𝑢 :𝑃(𝑓(𝑥′)), 𝗍𝗋𝑃∘𝑓𝑝′(𝑢) =𝗍𝗋𝑃𝖺𝗉𝑓(𝑝′)(𝑢);
for a family of maps ℎ :∏𝑥:𝐴𝑃(𝑥) →𝑄(𝑥), 𝗍𝗋𝑄𝑝(ℎ(𝑥)(𝑢)) =ℎ(𝑦)(𝗍𝗋𝑃𝑝(𝑢));
for 𝐵 :U and 𝑏 :𝐵, there is 𝗍𝗋𝖼𝗈𝗇𝗌𝗍𝑝(𝑏) :𝗍𝗋𝜆𝑧.𝐵𝑝(𝑏) =𝑏, computing to 𝗋𝖾𝖿𝗅𝑏 when 𝑝 is 𝗋𝖾𝖿𝗅𝑥.
Referenced from 3 locations
Proof of Lemma 62.7 — Transport is functorial in every argument
Proof. (i) By identity induction on 𝑞: for 𝑞 ≡𝗋𝖾𝖿𝗅𝑦 we have 𝑝 ⋅𝗋𝖾𝖿𝗅𝑦 ≡𝑝 and 𝗍𝗋𝑃𝗋𝖾𝖿𝗅𝑦 ≡id, so both sides are judgmentally 𝗍𝗋𝑃𝑝(𝑢), and 𝗋𝖾𝖿𝗅 concludes. (ii)–(iv) are as follows.
(ii) Identity induction on 𝑝′ reduces both sides to 𝑢: the left side uses the transport computation for the composite family, and the right side first uses 𝖺𝗉𝑓(𝗋𝖾𝖿𝗅) ≡𝗋𝖾𝖿𝗅 and then the same transport computation.
(iii) Identity induction on 𝑝 reduces the asserted path to ℎ(𝑥)(𝑢) =ℎ(𝑥)(𝑢), so reflexivity concludes.
(iv) Identity induction on 𝑝 reduces transport in the constant family to the identity. Define 𝗍𝗋𝖼𝗈𝗇𝗌𝗍𝗋𝖾𝖿𝗅𝑥(𝑏):=𝗋𝖾𝖿𝗅𝑏; its computation clause is therefore judgmental. ◻
Let 𝑎0 :𝐴, let 𝑓,𝑔 :𝐴 →𝐵, and let 𝑝 :𝑥 =𝐴𝑦.
For 𝑞 :𝑎0 =𝑥: 𝗍𝗋𝜆𝑧.(𝑎0=𝑧)𝑝(𝑞) =𝑞 ⋅𝑝;
for 𝑞 :𝑥 =𝑎0: 𝗍𝗋𝜆𝑧.(𝑧=𝑎0)𝑝(𝑞) =𝑝−1 ⋅𝑞;
for 𝑞 :𝑓(𝑥) =𝑔(𝑥): 𝗍𝗋𝜆𝑧.(𝑓(𝑧)=𝑔(𝑧))𝑝(𝑞) =𝖺𝗉𝑓(𝑝)−1 ⋅𝑞 ⋅𝖺𝗉𝑔(𝑝).
Referenced from 5 locations
Proof of Lemma 62.8 — Transport in path families
Proof. (i) By identity induction on 𝑝: the left side computes to 𝑞 and the right side to 𝑞 ⋅𝗋𝖾𝖿𝗅𝑥 ≡𝑞, so 𝗋𝖾𝖿𝗅𝑞 concludes. (iii) By identity induction on 𝑝: the left side computes to 𝑞, and the right side computes judgmentally as 𝖺𝗉𝑓(𝗋𝖾𝖿𝗅𝑥)−1⋅𝑞⋅𝖺𝗉𝑔(𝗋𝖾𝖿𝗅𝑥)≡(𝗋𝖾𝖿𝗅⋅𝑞)⋅𝗋𝖾𝖿𝗅≡𝗋𝖾𝖿𝗅⋅𝑞, so the inverse ℓ−1𝑞 of the left unit law concludes.
(ii) Identity induction on 𝑝 reduces the left side to 𝑞 and the right side to 𝗋𝖾𝖿𝗅−1𝑥 ⋅𝑞 ≡𝗋𝖾𝖿𝗅𝑥 ⋅𝑞. The inverse ℓ−1𝑞 :𝑞 =𝗋𝖾𝖿𝗅𝑥 ⋅𝑞 is the required path. ◻
Let 𝑃 :𝐴 →U, 𝑝 :𝑥 =𝐴𝑦, 𝑢 :𝑃(𝑥), 𝑣 :𝑃(𝑦). The type of paths from 𝑢 to 𝑣 over 𝑝 is (𝑢=𝑃𝑝𝑣):=(𝗍𝗋𝑃𝑝(𝑢)=𝑃(𝑦)𝑣). Thus 𝖺𝗉𝖽𝑓(𝑝) :𝑓(𝑥) =𝑃𝑝𝑓(𝑦) for every section 𝑓 :∏𝑥:𝐴𝑃(𝑥): a section carries each path of the base to a path lying over it. For non-dependent 𝑓 :𝐴 →𝐵 the two actions are related by 𝖺𝗉𝖽𝑓(𝑝) =𝗍𝗋𝖼𝗈𝗇𝗌𝗍𝑝(𝑓(𝑥)) ⋅𝖺𝗉𝑓(𝑝). Identity induction on 𝑝 proves the equation: both sides reduce to reflexivity after constant-family transport and the unit law.
Referenced from 4 locations
★★☆ Prove items (ii)–(iv) of lemma 62.7 and item (ii) of lemma 62.8, recording which side of each equation computes judgmentally. Deduce from lemma 62.8(iii) and lemma 62.6 that 𝗍𝗋𝜆𝑧.(𝑧=𝑧)𝑝(𝑞) =𝑝−1 ⋅𝑞 ⋅𝑝 for 𝑝 :𝑥 =𝑦 and 𝑞 :𝑥 =𝑥.
Referenced from 3 locations
★☆☆ Prove the comparison stated in definition 62.9: 𝖺𝗉𝖽𝑓(𝑝)=𝗍𝗋𝖼𝗈𝗇𝗌𝗍𝑝(𝑓(𝑥))⋅𝖺𝗉𝑓(𝑝) for 𝑓 :𝐴 →𝐵 and 𝑝 :𝑥 =𝐴𝑦.
Referenced from 3 locations
Homotopies and naturality
Between functions there are two comparisons: paths 𝑓 =𝑔, and pointwise families of paths. This section studies the second and proves its characteristic property, naturality; as an application we obtain the Eckmann–Hilton commutativity of the second loop space.
Let 𝑃 :𝐴 →U and 𝑓,𝑔 :∏𝑥:𝐴𝑃(𝑥). A homotopy from 𝑓 to 𝑔 is an element of (𝑓∼𝑔):=∏𝑥:𝐴𝑓(𝑥)=𝑃(𝑥)𝑔(𝑥).
Referenced from 2 locations
For each 𝑃 :𝐴 →U, the relation ∼ is reflexive, symmetric, and transitive: the types 𝑓 ∼𝑓, (𝑓 ∼𝑔) →(𝑔 ∼𝑓), and (𝑓 ∼𝑔) →(𝑔 ∼ℎ) →(𝑓 ∼ℎ) are inhabited.
Referenced from 2 locations
Proof of Lemma 62.12
Proof. The three witnesses are 𝗁𝗋𝖾𝖿𝗅(𝑓):=𝜆𝑥.𝗋𝖾𝖿𝗅𝑓(𝑥),by path reflexivity,𝗁𝗌𝗒𝗆(𝐻):=𝜆𝑥.𝐻(𝑥)−1,by path inversion,𝗁𝗍𝗋𝖺𝗇𝗌(𝐻,𝐾):=𝜆𝑥.𝐻(𝑥)⋅𝐾(𝑥),by path concatenation. Their codomains are respectively 𝑓 ∼𝑓, 𝑔 ∼𝑓, and 𝑓 ∼ℎ by proposition 62.2. ◻
Let 𝑓,𝑔 :𝐴 →𝐵, let 𝐻 :𝑓 ∼𝑔, and let 𝑝 :𝑥 =𝐴𝑦. Then 𝐻(𝑥)⋅𝖺𝗉𝑔(𝑝)=𝖺𝗉𝑓(𝑝)⋅𝐻(𝑦), that is, the square
Diagram commutes up to a path.
Referenced from 5 locations
Proof of Theorem 62.13 — Homotopies are natural
Proof. The endpoints of 𝑝 are generic, so identity induction applies: we may assume 𝑝 is 𝗋𝖾𝖿𝗅𝑥. Both 𝖺𝗉’s compute, and the goal becomes 𝐻(𝑥) ⋅𝗋𝖾𝖿𝗅𝑔(𝑥) =𝗋𝖾𝖿𝗅𝑓(𝑥) ⋅𝐻(𝑥). The left side is judgmentally 𝐻(𝑥); the right side is identified with 𝐻(𝑥) by the left unit law. Hence ℓ−1𝐻(𝑥) inhabits the instance. ◻
Let 𝑓 :𝐴 →𝐴 and 𝐻 :𝑓 ∼id𝐴. Then 𝐻(𝑓(𝑥)) =𝖺𝗉𝑓(𝐻(𝑥)) for every 𝑥 :𝐴.
Referenced from 3 locations
Proof of Corollary 62.14
Proof. Instantiate theorem 62.13 at the path 𝐻(𝑥) :𝑓(𝑥) =𝑥: 𝐻(𝑓(𝑥))⋅𝖺𝗉id(𝐻(𝑥))=𝖺𝗉𝑓(𝐻(𝑥))⋅𝐻(𝑥). By lemma 62.6(i) replace 𝖺𝗉id(𝐻(𝑥)) by 𝐻(𝑥) on the left; whiskering both sides on the right with 𝐻(𝑥)−1 and cancelling by the inverse and associativity laws of proposition 62.2 yields the claim. ◻
A pointed type is a pair (𝐴,𝑎) with 𝑎 :𝐴. Its loop space is the pointed type Ω(𝐴,𝑎):=((𝑎 =𝑎), 𝗋𝖾𝖿𝗅𝑎), and its iterated loop spaces are Ω𝑛+1(𝐴,𝑎):=Ω𝑛(Ω(𝐴,𝑎)), with Ω0(𝐴,𝑎):=(𝐴,𝑎). We write Ω2(𝐴,𝑎) also for the underlying type 𝗋𝖾𝖿𝗅𝑎 =𝗋𝖾𝖿𝗅𝑎.
Referenced from 4 locations
For 𝛼,𝛽 :Ω2(𝐴,𝑎): (i) 𝛼 ∗𝗋𝖾𝖿𝗅𝑎 =𝛼, and (ii) 𝗋𝖾𝖿𝗅𝑎 ∗𝛽 =𝛽.
Referenced from 3 locations
Proof of Lemma 62.16 — Whiskering by reflexivity, one level up
Proof. (i) By construction 62.3, 𝛼 ∗𝗋𝖾𝖿𝗅𝑎 ≡𝖺𝗉id(𝛼), and 𝖺𝗉id(𝛼) =𝛼 by lemma 62.6(i).
(ii) The left unit laws form a homotopy ℓ :(𝗋𝖾𝖿𝗅𝑎 ⋅( −)) ∼id on the type 𝑎 =𝑎. Naturality (theorem 62.13) at the path 𝛽 :𝗋𝖾𝖿𝗅𝑎 =𝗋𝖾𝖿𝗅𝑎 gives ℓ𝗋𝖾𝖿𝗅𝑎⋅𝖺𝗉id(𝛽)=𝖺𝗉𝗋𝖾𝖿𝗅𝑎⋅(−)(𝛽)⋅ℓ𝗋𝖾𝖿𝗅𝑎. Since ℓ𝗋𝖾𝖿𝗅𝑎 ≡𝗋𝖾𝖿𝗅𝗋𝖾𝖿𝗅𝑎 (proposition 62.2(i)) and 𝑢 ⋅𝗋𝖾𝖿𝗅 ≡𝑢, the right side is judgmentally 𝗋𝖾𝖿𝗅𝑎 ∗𝛽, so 𝗋𝖾𝖿𝗅𝑎∗𝛽𝑛𝑎𝑡𝑢𝑟𝑎𝑙𝑖𝑡𝑦=𝗋𝖾𝖿𝗅𝗋𝖾𝖿𝗅𝑎⋅𝖺𝗉id(𝛽)𝑙𝑒𝑓𝑡𝑢𝑛𝑖𝑡=𝖺𝗉id(𝛽)𝑙𝑒𝑚𝑚𝑎62.6(𝑖)=𝛽. ◻
For every type 𝐴, point 𝑎 :𝐴, and 𝛼,𝛽 :Ω2(𝐴,𝑎), 𝛼⋅𝛽=𝛽⋅𝛼.
Referenced from 6 locations
Proof of Theorem 62.17 — Eckmann–Hilton
Proof. Instantiate construction 62.3 at 𝑝 ≡𝑞 ≡𝑟 ≡𝑠 ≡𝗋𝖾𝖿𝗅𝑎; since 𝗋𝖾𝖿𝗅𝑎 ⋅𝗋𝖾𝖿𝗅𝑎 ≡𝗋𝖾𝖿𝗅𝑎, all four composites lie in Ω2(𝐴,𝑎), and by definition 𝛼⋆𝛽≡(𝛼∗𝗋𝖾𝖿𝗅𝑎)⋅(𝗋𝖾𝖿𝗅𝑎∗𝛽),𝛼⋆′𝛽≡(𝗋𝖾𝖿𝗅𝑎∗𝛽)⋅(𝛼∗𝗋𝖾𝖿𝗅𝑎). Let 𝑢1 :𝛼 ∗𝗋𝖾𝖿𝗅𝑎 =𝛼 and 𝑢2 :𝗋𝖾𝖿𝗅𝑎 ∗𝛽 =𝛽 be the paths of lemma 62.16. Their horizontal composites, one level up, give 𝑢1 ⋆𝑢2 :𝛼 ⋆𝛽 =𝛼 ⋅𝛽 and 𝑢2 ⋆𝑢1 :𝛼 ⋆′𝛽 =𝛽 ⋅𝛼. Composing with lemma 62.4, 𝛼⋅𝛽=𝛼⋆𝛽=𝛼⋆′𝛽=𝛽⋅𝛼. ◻
★☆☆ Show that homotopies compose with functions on both sides: from 𝐻 :𝑓 ∼𝑔 (with 𝑓,𝑔 :𝐴 →𝐵), ℎ :𝐵 →𝐶, and 𝑒 :𝐴′ →𝐴, construct ℎ ⋅𝐻 :ℎ ∘𝑓 ∼ℎ ∘𝑔 and 𝐻 ⋅𝑒 :𝑓 ∘𝑒 ∼𝑔 ∘𝑒.
Referenced from 3 locations
★★☆ (Dependent naturality.) Let 𝑃 :𝐴 →U, 𝑓,𝑔 :∏𝑥:𝐴𝑃(𝑥), 𝐻 :𝑓 ∼𝑔, and 𝑝 :𝑥 =𝐴𝑦. Show 𝖺𝗉𝗍𝗋𝑃𝑝(𝐻(𝑥)) ⋅𝖺𝗉𝖽𝑔(𝑝) =𝖺𝗉𝖽𝑓(𝑝) ⋅𝐻(𝑦).
Referenced from 3 locations
Equivalences
A map of spaces is an equivalence when each of its fibers is a single point up to deformation. This section makes that the definition — contractible fibers — and calibrates it against the naive notion of two-sided inverse.
The fiber of 𝑓 :𝐴 →𝐵 at 𝑏 :𝐵 is 𝖿𝗂𝖻𝑓(𝑏):=∑𝑎:𝐴𝑓(𝑎)=𝐵𝑏.
Referenced from 2 locations
A type 𝐴 is contractible if 𝗂𝗌𝖢𝗈𝗇𝗍𝗋(𝐴):=∑𝑐:𝐴∏𝑥:𝐴𝑐=𝐴𝑥 is inhabited; given (𝑐,𝐶) :𝗂𝗌𝖢𝗈𝗇𝗍𝗋(𝐴) we call 𝑐 the center and 𝐶 the contraction. (Note that 𝐶 is precisely a homotopy const𝑐 ∼id𝐴.)
Referenced from 3 locations
For every 𝑎 :𝐴, the types ∑𝑥:𝐴 𝑎 =𝐴𝑥 and ∑𝑥:𝐴 𝑥 =𝐴𝑎 are contractible, with centers (𝑎,𝗋𝖾𝖿𝗅𝑎).
Referenced from 5 locations
Proof of Lemma 62.20 — Singletons are contractible
Proof. For the first: by Σ-𝜂 (definition 27.9) it suffices to produce, for all 𝑥 :𝐴 and 𝑝 :𝑎 =𝑥, a path (𝑎,𝗋𝖾𝖿𝗅𝑎) =(𝑥,𝑝). The endpoint 𝑥 and the path 𝑝 are exactly the data of based path induction, a theorem of the base proved in theorem 30.26: it suffices to treat 𝑥 ≡𝑎, 𝑝 ≡𝗋𝖾𝖿𝗅𝑎, where 𝗋𝖾𝖿𝗅 concludes. The second is symmetric, using based induction from the right endpoint. Apply identity induction to generic 𝑥 :𝐴 and 𝑝 :𝑥 =𝑎 with motive (𝑎,𝗋𝖾𝖿𝗅𝑎) =(𝑥,𝑝); its reflexivity case is reflexivity. ◻
A map 𝑓 :𝐴 →𝐵 is an equivalence if all its fibers are contractible: 𝗂𝗌𝖤𝗊𝗎𝗂𝗏(𝑓):=∏𝑏:𝐵𝗂𝗌𝖢𝗈𝗇𝗍𝗋(𝖿𝗂𝖻𝑓(𝑏)),(𝐴≃𝐵):=∑𝑓:𝐴→𝐵𝗂𝗌𝖤𝗊𝗎𝗂𝗏(𝑓). We abuse notation by writing 𝑓 :𝐴 ≃𝐵 for an equivalence and 𝑓(𝑎) for the application of its underlying map.
Referenced from 11 locations
id𝐴 is an equivalence: its fiber at 𝑏 is ∑𝑥:𝐴𝑥 =𝑏, contractible by lemma 62.20. Consequently, for every 𝑃 :𝐴 →U and 𝑝 :𝑥 =𝐴𝑦, transport 𝗍𝗋𝑃𝑝 :𝑃(𝑥) →𝑃(𝑦) is an equivalence: the endpoints of 𝑝 are generic, so by identity induction we may assume 𝑝 is 𝗋𝖾𝖿𝗅𝑥, and 𝗍𝗋𝑃𝗋𝖾𝖿𝗅𝑥 ≡id𝑃(𝑥). In particular, identified types are equivalent.
Referenced from 2 locations
A quasi-inverse of 𝑓 :𝐴 →𝐵 is a triple (𝑔,𝜂,𝜀): 𝗊𝗂𝗇𝗏(𝑓):=∑𝑔:𝐵→𝐴(𝑔∘𝑓∼id𝐴)×(𝑓∘𝑔∼id𝐵).
Referenced from 3 locations
𝗂𝗌𝖤𝗊𝗎𝗂𝗏(𝑓) →𝗊𝗂𝗇𝗏(𝑓).
Referenced from 7 locations
Proof of Proposition 62.24 — Equivalences have quasi-inverses
Proof. Let 𝑒 :𝗂𝗌𝖤𝗊𝗎𝗂𝗏(𝑓); write (𝑐𝑏,𝐶𝑏):=𝑒(𝑏). Taking components of the centers defines 𝑔:=𝜆𝑏. 𝗉𝗋1(𝑐𝑏) :𝐵 →𝐴 and 𝜀:=𝜆𝑏. 𝗉𝗋2(𝑐𝑏) :𝑓 ∘𝑔 ∼id𝐵. For the other homotopy: for 𝑥 :𝐴 the pair (𝑥,𝗋𝖾𝖿𝗅𝑓(𝑥)) lies in 𝖿𝗂𝖻𝑓(𝑓(𝑥)), so the contraction gives 𝐶𝑓(𝑥)((𝑥,𝗋𝖾𝖿𝗅𝑓(𝑥))) :𝑐𝑓(𝑥) =(𝑥,𝗋𝖾𝖿𝗅𝑓(𝑥)), and we set 𝜂(𝑥):=𝖺𝗉𝗉𝗋1(𝐶𝑓(𝑥)((𝑥,𝗋𝖾𝖿𝗅𝑓(𝑥)))) :𝑔(𝑓(𝑥)) =𝑥. ◻
For calculations, the useful converse says that a quasi-inverse suffices to prove contractibility of every fiber. Choose the center of 𝖿𝗂𝖻𝑓(𝑏) to be (𝑔(𝑏),𝜀(𝑏)). At 𝑏 ≡𝑓(𝑥) the path constructor of construction 62.25 would need 𝜀(𝑓(𝑥))=𝖺𝗉𝑓(𝜂(𝑥))⋅𝗋𝖾𝖿𝗅𝑓(𝑥), The fields of 𝗊𝗂𝗇𝗏(𝑓) contain 𝑔,𝜂,𝜀, but no path of this type. Lemma 62.26 replaces 𝜀 by a homotopic choice together with the missing triangle path.
Let 𝑓 :𝐴 →𝐵, 𝑦 :𝐵, and (𝑥,𝑝),(𝑥′,𝑝′) :𝖿𝗂𝖻𝑓(𝑦). From 𝛼:𝑥=𝑥′and𝛽:𝑝=𝖺𝗉𝑓(𝛼)⋅𝑝′ we construct a path (𝑥,𝑝) =(𝑥′,𝑝′) in 𝖿𝗂𝖻𝑓(𝑦). By identity induction on 𝛼 (generalizing 𝑝, 𝑝′ into the motive) we may assume 𝛼 is 𝗋𝖾𝖿𝗅𝑥; then 𝛽 :𝑝 =𝗋𝖾𝖿𝗅𝑓(𝑥) ⋅𝑝′, so composing with the left unit law gives 𝛽 ⋅ℓ𝑝′ :𝑝 =𝑝′, and 𝖺𝗉𝜆𝑡.(𝑥,𝑡)(𝛽 ⋅ℓ𝑝′) is the required path.
Referenced from 6 locations
Let (𝑔,𝜂,𝜀) be a quasi-inverse of 𝑓 :𝐴 →𝐵. Then there are ˜𝜀:𝑓∘𝑔∼id𝐵and𝜏:∏𝑥:𝐴𝖺𝗉𝑓(𝜂(𝑥))=˜𝜀(𝑓(𝑥)).
Referenced from 9 locations
Proof of Lemma 62.26 — Coherent improvement
Proof. The original counit need not satisfy the triangle equation. Correct it at 𝑏 :𝐵 by ˜𝜀(𝑏):=𝜀(𝑓(𝑔(𝑏)))−1⋅(𝖺𝗉𝑓(𝜂(𝑔(𝑏)))⋅𝜀(𝑏)):𝑓(𝑔(𝑏))=𝑏. Two naturality equations determine the correction. First, corollary 62.14 applied to 𝜂 :𝑔 ∘𝑓 ∼id𝐴 gives 𝜂(𝑔(𝑓(𝑥)))=𝖺𝗉𝑔∘𝑓(𝜂(𝑥)).(1) Second, naturality of 𝜀 :𝑓 ∘𝑔 ∼id𝐵 at 𝖺𝗉𝑓(𝜂(𝑥)) :𝑓(𝑔(𝑓(𝑥))) =𝑓(𝑥) gives 𝜀(𝑓(𝑔(𝑓(𝑥))))⋅𝖺𝗉𝑓(𝜂(𝑥))=𝖺𝗉𝑓∘𝑔(𝖺𝗉𝑓(𝜂(𝑥)))⋅𝜀(𝑓(𝑥)).(2) Functoriality of path action, proved by identity induction on 𝜂(𝑥), identifies the first path on the right of (2) with 𝖺𝗉𝑓(𝖺𝗉𝑔∘𝑓(𝜂(𝑥))). Hence ˜𝜀(𝑓(𝑥))(1)=𝜀(𝑓(𝑔(𝑓(𝑥))))−1⋅(𝖺𝗉𝑓∘𝑔(𝖺𝗉𝑓(𝜂(𝑥)))⋅𝜀(𝑓(𝑥)))(2)=𝜀(𝑓(𝑔(𝑓(𝑥))))−1⋅(𝜀(𝑓(𝑔(𝑓(𝑥))))⋅𝖺𝗉𝑓(𝜂(𝑥)))𝑝𝑟𝑜𝑝𝑜𝑠𝑖𝑡𝑖𝑜𝑛62.2=𝖺𝗉𝑓(𝜂(𝑥)). Let 𝜏(𝑥) be the inverse of this path. Its type is exactly 𝖺𝗉𝑓(𝜂(𝑥)) =˜𝜀(𝑓(𝑥)). This calculation is the coherent improvement of HoTT Book Theorem 4.2.3 [Uni13]; only its provenance, not a proof premise, is imported. ◻
𝗊𝗂𝗇𝗏(𝑓) →𝗂𝗌𝖤𝗊𝗎𝗂𝗏(𝑓).
Referenced from 22 locations
Proof of Theorem 62.27 — Quasi-inverses suffice
Proof. Let (𝑔,𝜂,𝜀) be a quasi-inverse of 𝑓, improved by lemma 62.26 to (𝑔,𝜂,˜𝜀,𝜏). Fix 𝑏 :𝐵; we contract 𝖿𝗂𝖻𝑓(𝑏) onto the center (𝑔(𝑏),˜𝜀(𝑏)).
For the contraction, by Σ-𝜂 it suffices to produce, for all 𝑏 :𝐵, 𝑥 :𝐴, and 𝑝 :𝑓(𝑥) =𝑏, a path (𝑔(𝑏),˜𝜀(𝑏)) =(𝑥,𝑝). Since 𝑏 is generic, based path induction on (𝑏,𝑝) reduces this to the case 𝑏 ≡𝑓(𝑥), 𝑝 ≡𝗋𝖾𝖿𝗅𝑓(𝑥), i.e. to (𝑔(𝑓(𝑥)),˜𝜀(𝑓(𝑥)))=(𝑥,𝗋𝖾𝖿𝗅𝑓(𝑥)). Apply construction 62.25 with 𝛼:=𝜂(𝑥) and 𝛽:=𝜏(𝑥)−1:˜𝜀(𝑓(𝑥))=𝖺𝗉𝑓(𝜂(𝑥))≡𝖺𝗉𝑓(𝜂(𝑥))⋅𝗋𝖾𝖿𝗅𝑓(𝑥), the final judgmental equality being the right unit law. ◻
Identity maps are equivalences; if 𝑓 :𝐴 ≃𝐵 and 𝑔 :𝐵 ≃𝐶 then 𝑔 ∘𝑓 :𝐴 ≃𝐶; and every equivalence 𝑓 :𝐴 ≃𝐵 has an inverse equivalence ¯𝑓 :𝐵 ≃𝐴 with ¯𝑓 ∘𝑓 ∼id𝐴 and 𝑓 ∘¯𝑓 ∼id𝐵.
Referenced from 4 locations
Proof of Proposition 62.28 — Composition and inversion
Proof. By proposition 62.24 choose quasi-inverses (¯𝑓,𝜂𝑓,𝜀𝑓) and (¯𝑔,𝜂𝑔,𝜀𝑔). Then ¯𝑓 ∘¯𝑔 is a quasi-inverse of 𝑔 ∘𝑓: pointwise, ¯𝑓(¯𝑔(𝑔(𝑓(𝑥))))𝖺𝗉¯𝑓(𝜂𝑔(𝑓(𝑥)))←←←←←←←←←←←←←←←←←←←←←←←→¯𝑓(𝑓(𝑥))𝜂𝑓(𝑥)←←←←←←←←←←←→𝑥, and symmetrically for the other composite. Likewise 𝑓 itself is a quasi-inverse of ¯𝑓. Theorem 62.27 converts all three quasi-inverses into equivalences. ◻
Several other property-like definitions pass demands (a)–(c) and are equivalent to definition 62.21: bi-invertibility (a left and a right inverse, separately), half-adjoint equivalence (a quasi-inverse with the coherence 𝜏 — what lemma 62.26 really constructs), and path-splitness [Uni13]. The fiberwise definition is Voevodsky’s; under function extensionality, pointwise contractibility identifies every two witnesses, with no coherence data to manage. Categorically, the passage from 𝗊𝗂𝗇𝗏 to any of these notions is the passage from equivalences to adjoint equivalences in a higher category.
For 𝑞 :𝑏 =𝑐, the map ( −) ⋅𝑞 :(𝑎 =𝑏) →(𝑎 =𝑐) is an equivalence; for 𝑝 :𝑎 =𝑏, the map 𝑝 ⋅( −) :(𝑏 =𝑐) →(𝑎 =𝑐) is an equivalence.
Referenced from 4 locations
Proof of Lemma 189.30 — Concatenation by a fixed path is an equivalence
Proof. The quasi-inverse of ( −) ⋅𝑞 is ( −) ⋅𝑞−1. Associativity and the right inverse/unit laws of theorem 30.20 give both homotopies. The second map has 𝑝−1 ⋅( −) as quasi-inverse, with the left inverse/unit laws. Apply theorem 62.27 in both cases. ◻
★☆☆ Derive the right-handed based path induction used in lemma 62.20: for a family 𝐶 :∏𝑥:𝐴(𝑥 =𝑎) →U with 𝑐 :𝐶(𝑎)(𝗋𝖾𝖿𝗅𝑎), construct elements of 𝐶(𝑥)(𝑝) for all 𝑥,𝑝, computing to 𝑐 on (𝑎,𝗋𝖾𝖿𝗅𝑎).
Referenced from 3 locations
★☆☆ For 𝑃 :𝐴 →U, show 𝖿𝗂𝖻𝗉𝗋1(𝑎) ≃𝑃(𝑎) for every 𝑎 :𝐴, where 𝗉𝗋1 :∑𝑥:𝐴𝑃(𝑥) →𝐴.
Referenced from 3 locations
★☆☆ Reprove lemma 189.30 by identity induction and compare the resulting quasi-inverses with those obtained from the groupoid laws.
Referenced from 3 locations
★★☆ Symmetrize lemma 62.26: keep 𝜀 fixed, replace 𝜂 by a homotopic choice, and construct the triangle path 𝖺𝗉𝑔(𝜀(𝑦)) =˜𝜂(𝑔(𝑦)). Type every whiskering and compare the result with the displayed counit correction.
Referenced from 3 locations
★★☆ Show that if 𝑓 :𝐴 →𝐵, 𝑔 :𝐵 →𝐶, and any two of 𝑓, 𝑔, 𝑔 ∘𝑓 are equivalences, then so is the third.
Referenced from 3 locations
Path spaces of the negative formers
The path space of a dependent pair is controlled by its eliminator. This section carries out that calculation. The corresponding function-space statement requires function extensionality, while the unit case follows from its explicit contraction: if 𝐶(𝑢) : ⋆ =𝑢, then 𝐶(𝑢)−1 ⋅𝐶(𝑣) :𝑢 =𝑣 for any 𝑢,𝑣 :𝟏, so any two points of 𝟏 are connected. Proposition 62.32 proves the stronger path-space calculation.
Let 𝑃 :𝐴 →U and 𝑤,𝑤′ :∑𝑥:𝐴𝑃(𝑥). The map Φ𝑤,𝑤′:(𝑤=𝑤′)⟶∑𝑝:𝗉𝗋1(𝑤)=𝗉𝗋1(𝑤′)𝗍𝗋𝑃𝑝(𝗉𝗋2(𝑤))=𝗉𝗋2(𝑤′) defined by identity induction with Φ(𝗋𝖾𝖿𝗅𝑤):=(𝗋𝖾𝖿𝗅𝗉𝗋1(𝑤),𝗋𝖾𝖿𝗅𝗉𝗋2(𝑤)) is an equivalence: a path in the total space is exactly a path 𝑝 in the base together with a path over 𝑝 between the second components (definition 62.9).
Referenced from 34 locations
Proof of Theorem 62.30 — Paths in Σ -types
Proof. We exhibit a quasi-inverse and invoke theorem 62.27.
The map 𝗉𝖺𝗂𝗋=. Work with generic variables 𝑎,𝑏 :𝐴. For 𝑢 :𝑃(𝑎), 𝑣 :𝑃(𝑏), 𝑝 :𝑎 =𝑏, and 𝑞 :𝗍𝗋𝑃𝑝(𝑢) =𝑣, define 𝗉𝖺𝗂𝗋=(𝑝,𝑞) :(𝑎,𝑢) =(𝑏,𝑣) by identity induction on 𝑝, generalizing 𝑢,𝑣 into the motive: for 𝑝 ≡𝗋𝖾𝖿𝗅𝑎 we have 𝗍𝗋𝑃𝗋𝖾𝖿𝗅𝑎(𝑢) ≡𝑢, so 𝑞 :𝑢 =𝑣, and we set 𝗉𝖺𝗂𝗋=(𝗋𝖾𝖿𝗅𝑎,𝑞):=𝖺𝗉𝜆𝑡.(𝑎,𝑡)(𝑞). This computes: 𝗉𝖺𝗂𝗋=(𝗋𝖾𝖿𝗅𝑎,𝗋𝖾𝖿𝗅𝑢) ≡𝗋𝖾𝖿𝗅(𝑎,𝑢). For arbitrary 𝑤,𝑤′ the map Ψ𝑤,𝑤′(𝑝,𝑞):=𝗉𝖺𝗂𝗋=(𝑝,𝑞) has the required type, since 𝑤 ≡(𝗉𝗋1(𝑤),𝗉𝗋2(𝑤)) by Σ-𝜂 (definition 27.9).
Round trip on paths. For 𝑟 :𝑤 =𝑤′ we show Ψ(Φ(𝑟)) =𝑟 by identity induction on 𝑟: for 𝑟 ≡𝗋𝖾𝖿𝗅𝑤, Ψ(Φ(𝗋𝖾𝖿𝗅𝑤))≡𝗉𝖺𝗂𝗋=(𝗋𝖾𝖿𝗅𝗉𝗋1(𝑤),𝗋𝖾𝖿𝗅𝗉𝗋2(𝑤))≡𝗋𝖾𝖿𝗅(𝗉𝗋1(𝑤),𝗉𝗋2(𝑤))Σ−𝜂≡𝗋𝖾𝖿𝗅𝑤, so 𝗋𝖾𝖿𝗅 concludes.
Round trip on pairs. We prove, for all generic 𝑎,𝑏,𝑢,𝑣 at once: for all 𝑝 :𝑎 =𝑏 and 𝑞 :𝗍𝗋𝑃𝑝(𝑢) =𝑣, Φ(𝗉𝖺𝗂𝗋=(𝑝,𝑞)) =(𝑝,𝑞). By identity induction on 𝑝 (generalizing 𝑢,𝑣), then on 𝑞 :𝑢 =𝑣 (whose endpoints are now generic), both sides compute to (𝗋𝖾𝖿𝗅𝑎,𝗋𝖾𝖿𝗅𝑢), and 𝗋𝖾𝖿𝗅 concludes. Instantiating at 𝑎:=𝗉𝗋1(𝑤), 𝑢:=𝗉𝗋2(𝑤), etc., and applying Σ-𝜂 yields the claim for Φ𝑤,𝑤′ and Ψ𝑤,𝑤′. ◻
Let 𝑃,𝑄 :𝐴 →U and ℎ :∏𝑥:𝐴𝑃(𝑥) →𝑄(𝑥), and define 𝗍𝗈𝗍(ℎ):=𝜆𝑤.(𝗉𝗋1(𝑤),ℎ(𝗉𝗋1(𝑤))(𝗉𝗋2(𝑤))):∑𝑥:𝐴𝑃(𝑥)→∑𝑥:𝐴𝑄(𝑥). If ℎ(𝑥) has a quasi-inverse for every 𝑥 :𝐴, then 𝗍𝗈𝗍(ℎ) is an equivalence.
Referenced from 5 locations
Proof of Lemma 62.31 — Fibrewise equivalences totalize
Proof. Choose (𝑘(𝑥),𝜂𝑥,𝜀𝑥) with 𝑘(𝑥) :𝑄(𝑥) →𝑃(𝑥), 𝜂𝑥 :𝑘(𝑥) ∘ℎ(𝑥) ∼id, and 𝜀𝑥 :ℎ(𝑥) ∘𝑘(𝑥) ∼id. Then 𝗍𝗈𝗍(𝑘) is a quasi-inverse of 𝗍𝗈𝗍(ℎ): for 𝑤 with 𝑥:=𝗉𝗋1(𝑤), 𝑣:=𝗉𝗋2(𝑤), 𝗍𝗈𝗍(ℎ)(𝗍𝗈𝗍(𝑘)(𝑤))≡(𝑥,ℎ(𝑥)(𝑘(𝑥)(𝑣)))=(𝑥,𝑣)≡𝑤 via 𝗉𝖺𝗂𝗋=(𝗋𝖾𝖿𝗅𝑥,𝜀𝑥(𝑣)) (theorem 62.30), using 𝗍𝗋𝗋𝖾𝖿𝗅 ≡id; and symmetrically with 𝜂. Theorem 62.27 concludes. ◻
For all 𝑥,𝑦 :𝟏, (𝑥 =𝑦) ≃𝟏.
Referenced from 3 locations
Proof of Proposition 62.32 — Paths in the unit type
Proof. By the 𝜂-rule of 𝟏 (chapter 27), 𝑥 ≡ ⋆ ≡𝑦. Define 𝑒:=const⋆ :(𝑥 =𝑦) →𝟏 and 𝑑:=const𝗋𝖾𝖿𝗅⋆ :𝟏 →(𝑥 =𝑦). For 𝑢 :𝟏 we have 𝑒(𝑑(𝑢)) ≡ ⋆ ≡𝑢 by 𝜂, so 𝗋𝖾𝖿𝗅 inhabits 𝑒 ∘𝑑 ∼id. For 𝑝 :𝑥 =𝑦: the endpoints being generic variables of 𝟏, identity induction on 𝑝 reduces 𝑑(𝑒(𝑝)) =𝑝 to 𝑑( ⋆) ≡𝗋𝖾𝖿𝗅 =𝗋𝖾𝖿𝗅, and 𝗋𝖾𝖿𝗅 concludes. Theorem 62.27 finishes. ◻
For 𝑓,𝑔 :∏𝑥:𝐴𝑃(𝑥), identity induction defines 𝗁𝖺𝗉𝗉𝗅𝗒:(𝑓=𝑔)⟶(𝑓∼𝑔),𝗁𝖺𝗉𝗉𝗅𝗒(𝗋𝖾𝖿𝗅𝑓):=𝜆𝑥.𝗋𝖾𝖿𝗅𝑓(𝑥).
Referenced from 2 locations
★★☆ (Paths in fibers.) For 𝑓 :𝐴 →𝐵, 𝑦 :𝐵, and (𝑥,𝑝),(𝑥′,𝑝′) :𝖿𝗂𝖻𝑓(𝑦), show ((𝑥,𝑝)=(𝑥′,𝑝′))≃∑𝛼:𝑥=𝑥′𝑝=𝖺𝗉𝑓(𝛼)⋅𝑝′, Start with theorem 62.30. Rewrite transport using lemma 62.8(iii), with 𝑔:=const𝑦, and then lemma 62.6(ii). Finish with the concatenation equivalences of lemma 189.30 and lemma 62.31. Check that the inverse map agrees with construction 62.25.
Referenced from 3 locations
★☆☆ Construct, for 𝑢 :𝑃(𝑥) and 𝑝 :𝑥 =𝑦, the lifting 𝗅𝗂𝖿𝗍(𝑢,𝑝):=𝗉𝖺𝗂𝗋=(𝑝,𝗋𝖾𝖿𝗅) :(𝑥,𝑢) =(𝑦,𝗍𝗋𝑃𝑝(𝑢)), and show 𝖺𝗉𝗉𝗋1(𝗅𝗂𝖿𝗍(𝑢,𝑝)) =𝑝: every path of the base lifts to the total space, with prescribed starting point.
Referenced from 3 locations
Positive formers: the encode–decode method
A positive type is presented by constructors, and its path spaces are not read off from eliminations; they must be computed against a guess. Trying to apply path induction directly to 𝑝 :𝗂𝗇𝗅(𝑎0) =𝑥 cannot discover the path space: path induction reduces 𝑝 to reflexivity at 𝗂𝗇𝗅(𝑎0) but leaves the code at 𝗂𝗇𝗋(𝑏) undefined. A second incomplete attempt is to define only 𝑑0 :𝐶(𝑎0) →(𝑎0 =𝑎0); the desired round trip at a generic endpoint would contain the undefined expression 𝑑𝑥(𝑒𝑥(𝑝)). Thus decoding must be a dependent function 𝑑 :∏𝑥:𝐴𝐶(𝑥) →(𝑎0 =𝑥) before path induction can prove the round trip.
The coproduct already shows the successful pattern. Put 𝐶(𝗂𝗇𝗅𝑎):=(𝑎0=𝑎),𝐶(𝗂𝗇𝗋𝑏):=𝟎, take 𝑐0:=𝗋𝖾𝖿𝗅𝑎0, and define the decoder by coproduct induction: 𝑑(𝗂𝗇𝗅𝑎)(𝑞):=𝖺𝗉𝗂𝗇𝗅(𝑞), while 𝑑(𝗂𝗇𝗋𝑏)(𝑧):=𝗂𝗇𝖽𝟎(𝑧). At the two constructors the code–decode composite reduces respectively to path induction on 𝑞 and to 𝟎-elimination. This first calculation displays the data that the general statement packages.
The method below — guess a family of codes by recursion, compare it with the path family — is used throughout homotopy type theory, and we fix it as a theorem once and for all.
Let 𝐴 be a type and 𝑎0 :𝐴. Suppose given
a family 𝐶 :𝐴 →U (codes) and an element 𝑐0 :𝐶(𝑎0);
a function 𝑑 :∏𝑥:𝐴 𝐶(𝑥) →(𝑎0 =𝑥) (decoding),
and define the encoding 𝑒 :∏𝑥:𝐴 (𝑎0 =𝑥) →𝐶(𝑥) by 𝑒(𝑥)(𝑝):=𝗍𝗋𝐶𝑝(𝑐0). If
𝑑(𝑎0)(𝑐0) =𝗋𝖾𝖿𝗅𝑎0, and
𝑒(𝑥)(𝑑(𝑥)(𝑐)) =𝑐 for all 𝑥 :𝐴 and 𝑐 :𝐶(𝑥),
then 𝑒(𝑥) and 𝑑(𝑥) are mutually quasi-inverse for every 𝑥 :𝐴; in particular (𝑎0 =𝑥) ≃𝐶(𝑥) for all 𝑥 :𝐴.
Referenced from 10 locations
Proof of Theorem 62.35 — The encode–decode method
Proof. Hypothesis (ii) says 𝑒(𝑥) ∘𝑑(𝑥) ∼id. For the other composite we show 𝑑(𝑥)(𝑒(𝑥)(𝑝)) =𝑝 for all 𝑥 and 𝑝 :𝑎0 =𝑥 together: since 𝑥 is generic, based path induction reduces to 𝑥 ≡𝑎0, 𝑝 ≡𝗋𝖾𝖿𝗅𝑎0, where 𝑑(𝑎0)(𝑒(𝑎0)(𝗋𝖾𝖿𝗅𝑎0))≡𝑑(𝑎0)(𝗍𝗋𝐶𝗋𝖾𝖿𝗅(𝑐0))≡𝑑(𝑎0)(𝑐0)=𝗋𝖾𝖿𝗅𝑎0 by (i). Thus 𝑑(𝑥) is a quasi-inverse of 𝑒(𝑥), and theorem 62.27 concludes. ◻
Let 𝐴,𝐵 be types and 𝑎0 :𝐴. Define 𝐶 :𝐴 +𝐵 →U by the recursor (chapter 28): 𝐶(𝗂𝗇𝗅(𝑎)):=(𝑎0=𝑎),𝐶(𝗂𝗇𝗋(𝑏)):=𝟎. Then (𝗂𝗇𝗅(𝑎0) =𝑥) ≃𝐶(𝑥) for every 𝑥 :𝐴 +𝐵.
Referenced from 4 locations
Proof of Theorem 62.37 — Paths in coproducts
Proof. We verify the hypotheses of theorem 62.35 at the point 𝗂𝗇𝗅(𝑎0), with 𝑐0:=𝗋𝖾𝖿𝗅𝑎0 :𝐶(𝗂𝗇𝗅(𝑎0)) — well-typed since 𝐶(𝗂𝗇𝗅(𝑎0)) ≡(𝑎0 =𝑎0). Define 𝑑 by the induction principle of 𝐴 +𝐵: 𝑑(𝗂𝗇𝗅(𝑎))(𝑐):=𝖺𝗉𝗂𝗇𝗅(𝑐),𝑑(𝗂𝗇𝗋(𝑏))(𝑐):=𝗋𝖾𝖼𝟎(𝑐). (i): 𝑑(𝗂𝗇𝗅(𝑎0))(𝗋𝖾𝖿𝗅𝑎0) ≡𝖺𝗉𝗂𝗇𝗅(𝗋𝖾𝖿𝗅𝑎0) ≡𝗋𝖾𝖿𝗅𝗂𝗇𝗅(𝑎0), so 𝗋𝖾𝖿𝗅 suffices.
(ii): by induction on 𝑥. For 𝑥 ≡𝗂𝗇𝗅(𝑎) and 𝑐 :𝑎0 =𝑎, 𝑒(𝗂𝗇𝗅(𝑎))(𝖺𝗉𝗂𝗇𝗅(𝑐))≡𝗍𝗋𝐶𝖺𝗉𝗂𝗇𝗅(𝑐)(𝗋𝖾𝖿𝗅𝑎0)=𝗍𝗋𝐶∘𝗂𝗇𝗅𝑐(𝗋𝖾𝖿𝗅𝑎0)by lemma 62.7(ii)≡𝗍𝗋𝜆𝑧.(𝑎0=𝑧)𝑐(𝗋𝖾𝖿𝗅𝑎0)recursor computation=𝗋𝖾𝖿𝗅𝑎0⋅𝑐by lemma 62.8(i)=𝑐left unit law. For 𝑥 ≡𝗂𝗇𝗋(𝑏), 𝑐 :𝟎, and 𝗋𝖾𝖼𝟎(𝑐) proves anything. ◻
For all 𝑎,𝑎′ :𝐴 and 𝑏,𝑏′ :𝐵: (𝗂𝗇𝗅(𝑎)=𝗂𝗇𝗅(𝑎′))≃(𝑎=𝑎′),(𝗂𝗇𝗋(𝑏)=𝗂𝗇𝗋(𝑏′))≃(𝑏=𝑏′),(𝗂𝗇𝗅(𝑎)=𝗂𝗇𝗋(𝑏))≃𝟎. In particular 𝗂𝗇𝗅 and 𝗂𝗇𝗋 are injective up to paths, with disjoint images.
Referenced from 2 locations
Proof of Corollary 62.38
Proof. The first and third are instances of theorem 62.37 with 𝑎0:=𝑎, reading off 𝐶(𝗂𝗇𝗅(𝑎′)) ≡(𝑎 =𝑎′) and 𝐶(𝗂𝗇𝗋(𝑏)) ≡𝟎; the second is the symmetric computation with the roles of 𝐴 and 𝐵 exchanged. ◻
Define 𝐶 :ℕ →ℕ →U by double recursion (definition 28.21): 𝐶(𝟢,𝟢):=𝟏,𝐶(𝗌𝗎𝖼(𝑚),𝟢):=𝟎,𝐶(𝟢,𝗌𝗎𝖼(𝑛)):=𝟎,𝐶(𝗌𝗎𝖼(𝑚),𝗌𝗎𝖼(𝑛)):=𝐶(𝑚,𝑛), and 𝑟 :∏𝑛:ℕ𝐶(𝑛,𝑛) by 𝑟(𝟢):= ⋆, 𝑟(𝗌𝗎𝖼(𝑛)):=𝑟(𝑛). Then (𝑚=𝑛)≃𝐶(𝑚,𝑛)for all 𝑚,𝑛:ℕ.
Referenced from 15 locations
Proof of Theorem 62.39 — Paths in the natural numbers
Proof. Define 𝑑 :∏𝑚:ℕ∏𝑛:ℕ 𝐶(𝑚,𝑛) →(𝑚 =𝑛) by double induction: 𝑑(𝟢)(𝟢)(𝑐):=𝗋𝖾𝖿𝗅𝟢,𝑑(𝗌𝗎𝖼(𝑚))(𝟢)(𝑐):=𝗋𝖾𝖼𝟎(𝑐),𝑑(𝟢)(𝗌𝗎𝖼(𝑛))(𝑐):=𝗋𝖾𝖼𝟎(𝑐),𝑑(𝗌𝗎𝖼(𝑚))(𝗌𝗎𝖼(𝑛))(𝑐):=𝖺𝗉𝗌𝗎𝖼(𝑑(𝑚)(𝑛)(𝑐)). Fix 𝑚; we apply theorem 62.35 to the pointed family (𝐶(𝑚, −), 𝑟(𝑚)) over ℕ with decoding 𝑑(𝑚), so that 𝑒(𝑚)(𝑛)(𝑝) ≡𝗍𝗋𝐶(𝑚,−)𝑝(𝑟(𝑚)).
(i): 𝑑(𝑚)(𝑚)(𝑟(𝑚)) =𝗋𝖾𝖿𝗅𝑚, by induction on 𝑚. For 𝟢: 𝑑(𝟢)(𝟢)(𝑟(𝟢)) ≡𝗋𝖾𝖿𝗅𝟢. For 𝗌𝗎𝖼(𝑚): 𝑑(𝗌𝗎𝖼𝑚)(𝗌𝗎𝖼𝑚)(𝑟(𝗌𝗎𝖼𝑚)) ≡𝖺𝗉𝗌𝗎𝖼(𝑑(𝑚)(𝑚)(𝑟(𝑚))) =𝖺𝗉𝗌𝗎𝖼(𝗋𝖾𝖿𝗅𝑚) ≡𝗋𝖾𝖿𝗅𝗌𝗎𝖼(𝑚) by the inductive hypothesis and congruence.
(ii): 𝑒(𝑚)(𝑛)(𝑑(𝑚)(𝑛)(𝑐)) =𝑐 for all 𝑐 :𝐶(𝑚,𝑛), by double induction on 𝑚,𝑛. Case (𝟢,𝟢): both 𝑒(𝟢)(𝟢)(𝗋𝖾𝖿𝗅𝟢) ≡𝗍𝗋𝗋𝖾𝖿𝗅(𝑟(𝟢)) ≡ ⋆ and 𝑐 ≡ ⋆ by the 𝜂-rule of 𝟏, so 𝗋𝖾𝖿𝗅 concludes. Mixed cases: 𝑐 :𝟎, and 𝗋𝖾𝖼𝟎(𝑐) concludes. Case (𝗌𝗎𝖼(𝑚),𝗌𝗎𝖼(𝑛)), with 𝑐 :𝐶(𝑚,𝑛): put 𝑞:=𝑑(𝑚)(𝑛)(𝑐). Then 𝑒(𝗌𝗎𝖼𝑚)(𝗌𝗎𝖼𝑛)(𝖺𝗉𝗌𝗎𝖼(𝑞))≡𝗍𝗋𝐶(𝗌𝗎𝖼𝑚,−)𝖺𝗉𝗌𝗎𝖼(𝑞)(𝑟(𝑚))=𝗍𝗋𝐶(𝗌𝗎𝖼𝑚,𝗌𝗎𝖼(−))𝑞(𝑟(𝑚))lemma 62.7(ii)≡𝗍𝗋𝐶(𝑚,−)𝑞(𝑟(𝑚))recursor computation≡𝑒(𝑚)(𝑛)(𝑞)=𝑐inductive hypothesis, using 𝑟(𝗌𝗎𝖼𝑚) ≡𝑟(𝑚) in the first line and, in the third, that 𝐶(𝗌𝗎𝖼𝑚,𝗌𝗎𝖼𝑘) ≡𝐶(𝑚,𝑘) holds judgmentally for the generic variable 𝑘 by the computation rules of the recursor. ◻
For all 𝑚,𝑛 :ℕ: (i) (𝟢 =𝗌𝗎𝖼(𝑛)) ≃𝟎: zero is no successor; (ii) (𝗌𝗎𝖼(𝑚) =𝗌𝗎𝖼(𝑛)) ≃(𝑚 =𝑛): the successor is injective up to paths.
Referenced from 2 locations
Proof of Corollary 62.40
Proof. Instances of theorem 62.39, reading off 𝐶(𝟢,𝗌𝗎𝖼𝑛) ≡𝟎 and 𝐶(𝗌𝗎𝖼𝑚,𝗌𝗎𝖼𝑛) ≡𝐶(𝑚,𝑛) ≃(𝑚 =𝑛), the last equivalence being theorem 62.39 again, inverted. ◻
There is a term 𝖽𝖾𝖼ℕ:∏𝑚:ℕ∏𝑛:ℕ(𝑚=𝑛)+((𝑚=𝑛)→𝟎).
Referenced from 4 locations
Proof of Proposition 189.42 — Natural-number equality is decidable
Proof. For the codes 𝐶(𝑚,𝑛) of theorem 62.39, define 𝛿(𝑚,𝑛) :𝐶(𝑚,𝑛) +(𝐶(𝑚,𝑛) →𝟎) by double recursion: 𝛿(𝟢,𝟢):=𝗂𝗇𝗅(⋆),𝛿(𝗌𝗎𝖼(𝑚),𝟢):=𝗂𝗇𝗋(𝜆𝑧.𝑧),𝛿(𝟢,𝗌𝗎𝖼(𝑛)):=𝗂𝗇𝗋(𝜆𝑧.𝑧),𝛿(𝗌𝗎𝖼(𝑚),𝗌𝗎𝖼(𝑛)):=𝛿(𝑚,𝑛). Let 𝑒𝑚,𝑛 :(𝑚 =𝑛) ≃𝐶(𝑚,𝑛) be the equivalence of theorem 62.39, and let 𝑑𝑚,𝑛 :𝐶(𝑚,𝑛) →(𝑚 =𝑛) be its displayed inverse. If 𝛿(𝑚,𝑛) =𝗂𝗇𝗅(𝑐), return 𝗂𝗇𝗅(𝑑𝑚,𝑛(𝑐)). If 𝛿(𝑚,𝑛) =𝗂𝗇𝗋(ℎ), return 𝗂𝗇𝗋(𝜆𝑝. ℎ(𝑒𝑚,𝑛(𝑝))). Coproduct elimination gives 𝖽𝖾𝖼ℕ(𝑚,𝑛) in both cases. ◻
A type 𝑋 is a mere proposition when 𝗂𝗌𝖯𝗋𝗈𝗉(𝑋):=∏𝑥:𝑋∏𝑦:𝑋𝑥=𝑦 is inhabited. A type 𝑋 is a set when every identity type is a mere proposition, that is, when ∏𝑥:𝑋∏𝑦:𝑋𝗂𝗌𝖯𝗋𝗈𝗉(𝑥=𝑦) is inhabited. Only these two uniqueness levels are used in the natural-number calculation below.
Referenced from 3 locations
ℕ is a set: for every 𝑚,𝑛 :ℕ, the identity type 𝑚 =𝑛 is a mere proposition.
Referenced from 3 locations
Proof of Proposition 189.44 — Natural numbers are a set
Proof. By theorem 62.39, it suffices to prove that every code 𝐶(𝑚,𝑛) is a mere proposition. Double induction on 𝑚,𝑛 reduces this assertion to the two defining cases. The type 𝟏 is contractible, hence a proposition: its center is ⋆, and 𝟏-𝜂 identifies every inhabitant with the center. The type 𝟎 is a proposition because from 𝑧 :𝟎 its required path family is obtained by 𝟎-elimination.
Write 𝑒 :(𝑚 =𝑛) ≃𝐶(𝑚,𝑛) for theorem 62.39 and choose its quasi-inverse (𝑔,𝜂,𝜀) by proposition 62.24. If ℎ identifies every two elements of 𝐶(𝑚,𝑛), then for 𝑝,𝑞 :𝑚 =𝑛 the composite 𝜂(𝑝)−1⋅𝖺𝗉𝑔(ℎ(𝑒(𝑝),𝑒(𝑞)))⋅𝜂(𝑞):𝑝=𝑞 does the same for 𝑚 =𝑛. Thus each path type is a mere proposition. ◻
★★☆ Define codes 𝐶 :𝟐 →𝟐 →U by the recursor (definition 28.7) with 𝐶(𝗍𝗍,𝗍𝗍):=𝐶(𝖿𝖿,𝖿𝖿):=𝟏 and 𝐶(𝗍𝗍,𝖿𝖿):=𝐶(𝖿𝖿,𝗍𝗍):=𝟎, and prove (𝑥 =𝑦) ≃𝐶(𝑥,𝑦) for all 𝑥,𝑦 :𝟐. Conclude (𝗍𝗍 =𝖿𝖿) →𝟎 and compare with theorem 29.14.
Referenced from 3 locations
★★☆ Reconstruct the decision term of proposition 189.42 from theorem 62.39. In particular, give the four equations for the code decision and trace the positive and negative branches into an element of ∏𝑚:ℕ∏𝑛:ℕ(𝑚=𝑛)+((𝑚=𝑛)→𝟎): equality of natural numbers is decidable.
Referenced from 3 locations
★★☆ Show that under the hypotheses of theorem 62.35 the total space ∑𝑥:𝐴𝐶(𝑥) is contractible. Conversely, show that if ∑𝑥:𝐴𝐶(𝑥) is contractible and 𝑐0 :𝐶(𝑎0), then the conclusion of theorem 62.35 holds for the decoding defined by transport from the contraction — the fundamental theorem of identity types. (Use lemma 62.20, lemma 62.31.)
Referenced from 4 locations
Bibliographic notes
This chapter is the material of Chapter 2 of the HoTT Book [Uni13], redistributed into our rhythm; the name encode–decode and the systematic computation of path spaces former by former are from there, as is the type-theoretic Eckmann–Hilton argument. Our treatment of equivalences follows Rijke [Rij25]: the contractible-fiber definition (definition 62.21) is Voevodsky’s, and the route through coherently invertible maps in lemma 62.26, theorem 62.27, as well as the “fundamental theorem” packaging of exercise 62.15, are Rijke’s; the half-adjoint coherence itself is HoTT Book §4.2, echoing adjoint equivalences in higher category theory. That the identity type of Martin-Löf’s theory [ML84] endows each type with groupoid-like structure was first exploited semantically in the groupoid interpretation of Hofmann and Streicher [Hof95] (discharged in this book as theorem 54.34), the syntactic study of the laws beginning in Streicher’s habilitation [Str93]. The metatheoretic statement behind remark 62.5 — the tower of identity types of any type forms a weak 𝜔-groupoid — is due to Lumsdaine and, independently, van den Berg and Garner (2010–2011), confirming the homotopy-hypothesis reading of type theory. Angiuli and Gratzer [AG26] present the same circle of ideas with emphasis on what it demands of proof assistants.
Suggested first pass.
None of these problems is a prerequisite for a later chapter. Begin with exercise 189.16, then complete exercise 189.17.
★★☆ Reconstruct functoriality of transport, then calculate transport in a Σ-family along a composite path. Display the dependent second component and identify the whiskering needed for associativity.
Referenced from 4 locations
★★★ Practical project.path-groupoid-checker Implement in Agda or Kappa symbolic path expressions with unit, inverse, composition, 𝖺𝗉, and transport. Normalize by the proved groupoid laws while preserving endpoints. The checker must accept the two functoriality calculations and reject composition of mismatched endpoints; a mutation that omits reversal of endpoints under inverse must fail the rejection test.
Referenced from 5 locations