module HoTT whereThe HoTT Book?š
While the 1Lab has not been consciously designed as a project to formalise the HoTT book, in the course of our explorations into formalised univalent mathematics, we have formalised a considerable subset of the first part, and most of chapter 9. The vast majority of the 1Lab is material that was not covered in the HoTT book.
Part 1 Foundationsš
Chapter 2 Homotopy type theoryš
2.1 Types are higher groupoidsš
- Lemma 2.1.1: 
sym - Lemma 2.1.2: 
_ā_ - Lemma 2.1.4:
ā-idl,ā-idrā-invl,ā-invr- Definitional in cubical type theory
 ā-assoc
 - Theorem 2.1.6: 
Ī©āæāŗĀ²-is-abelian-group - Definition 2.1.7: 
Typeā - Definition 2.1.8: 
Ω⿠
2.2 Functions are functorsš
- Lemma 2.2.1: 
ap - Lemma 2.2.2:
ap-ā- Definitional in cubical type theory
 - Definitional in cubical type theory
 - Definitional in cubical type theory
 
 
2.3 Type families are fibrationsš
- Lemma 2.3.1: 
subst - Lemma 2.3.2: 
Ī£-pathp - Lemma 2.3.4: Our 
apis dependent by nature. - Lemma 2.3.5: 
transport-refl - Lemma 2.3.9: 
subst-ā - Lemma 2.3.10: Definitional in cubical type theory
 
2.4 Homotopies and equivalencesš
- Lemma 2.4.3: 
homotopy-natural - Lemma 2.4.4: 
homotopy-invert - Lemma 2.4.6: 
is-iso - Example 2.4.9: 
transportā»transport - Lemma 2.4.12: 
id-equiv,Equiv.inverse,_āe_ 
2.7 Cartesian product typesš
- Theorem 2.7.2: 
Ī£-pathp-iso - Theorem 2.7.3: Agda has definitional Ī· equality for records.
 
2.9 Ī -types and function extensionalityš
- Theorem 2.9.3: 
funext(no longer an axiom) - Lemma 2.9.6: 
funext-dep(no longer an axiom) 
2.10 Universes and univalenceš
- Lemma 2.10.1: 
pathāequiv - Theorem 2.10.3: 
univalenceua,uaβua-id-equiv,uaā,sym-ua
 
2.11 Identity typeš
- Theorem 2.11.1: 
is-equivāis-embedding - Lemma 2.11.2: 
subst-path-left,subst-path-right,transport-path - Theorem 2.11.5: 
commutesāsquare 
2.12 Coproductsš
- Theorem 2.12.5: 
āPath.CodeāPath 
Exercisesš
- Exercise 2.10: 
Ī£-assoc 
Chapter 3 Sets and Logicš
3.1 Sets and n-typesš
- Definition 3.1.1: 
is-set- Example 3.1.2: Definitional in cubical type theory.
 - Example 3.1.4: 
Nat-is-set - Example 3.1.5: 
Ć-is-hlevel(special case) - Example 3.1.6: 
Ī -is-hlevel(special case) 
 - Definition 3.1.7: 
is-groupoid - Lemma 3.1.8: 
is-hlevel-suc(special case) 
3.2 Propositions as types?š
- Theorem 3.2.2: 
¬DNEā - Corollary 3.2.7: 
¬LEMā 
3.3 Mere propositionsš
- Definition 3.3.1: 
is-prop - Lemma 3.3.3: 
prop-ext - Lemma 3.3.4: 
is-propāis-set - Lemma 3.3.5: 
is-prop-is-prop,is-hlevel-is-prop 
3.4 Classical vs.Ā intuitionistic logicš
- Definition 3.4.1: 
LEM - Definition 3.4.2: 
DNE - Definition 3.4.3:
DecDiscrete
 
3.5 Subsets and propositional resizingš
- Lemma 3.5.1: 
Ī£-prop-path - Axiom 3.5.5: 
Ī©,ā”. 
3.7 Propositional truncationš
The type itself is defined as a higher-inductive type ā„_ā„. We also
define ā as a shorthand for the
truncation of Σ.
3.8 The axiom of choiceš
- Definition 3.8.3: 
Axiom-of-choice 
3.9 The principle of unique choiceš
- Lemma 3.9.1: 
is-propāequivā„-ā„ - Corollary 3.9.2: Implicit in e.g.Ā 
ā„-ā„-univ,ā„-ā„-proj 
3.11 Contractibilityš
- Definition 3.11.1: 
is-contr - Definition 3.11.4: 
is-contr-is-prop - Definition 3.11.7: 
retractāis-contr - Definition 3.11.8: 
Singleton-is-contr - Lemma 3.11.9: 
Ī£-contract,Ī£-contr-eqv 
Exercisesš
- Exercise 3.1: 
equivāis-hlevel - Exercise 3.2: 
ā-is-hlevel - Exercise 3.3: 
Ī£-is-hlevel - Exercise 3.5: 
is-contr-if-inhabitedāis-prop,is-propāāis-contr - Exercise 3.6: 
H-Level-Dec - Exercise 3.7: 
disjoint-ā-is-prop - Exercise 3.11: 
¬global-choice - Exercise 3.17: 
ā„-ā„-elim - Exercise 3.18: 
LEMāDNE - Exercise 3.19: 
ā-well-ordered - Exercise 3.20: 
Ī£-contr-eqv - Exercise 3.21: 
is-propāequivā„-ā„ - Exercise 3.22: 
Finite-choice 
Chapter 4 Equivalencesš
4.2 Half adjoint equivalencesš
- Definition 4.2.1: 
is-half-adjoint-equiv - Definition 4.2.3: 
is-isoāis-half-adjoint-equiv - Definition 4.2.4: 
fibre - Lemma 4.2.5: 
fibre-paths - Theorem 4.2.6: 
is-half-adjoint-equivāis-equiv - Definition 4.2.7: 
linv,rinv - Lemma 4.2.8: 
is-equivāpre-is-equiv,is-equivāpost-is-equiv - Lemma 4.2.9: 
is-isoāis-contr-linv,is-isoāis-contr-rinv 
4.3 Bi-invertible mapsš
- Definition 4.3.1: 
is-biinv - Theorem 4.3.2: 
is-biinv-is-prop 
4.4 Contractible fibresš
This is our ādefaultā definition of equivalence, but we generally use it through the interface of half-adjoint equivalences.
- Definition 4.4.1: 
is-equiv - Theorem 4.4.3: 
is-equivāis-half-adjoint-equiv - Lemma 4.4.4: 
is-equiv-is-prop 
4.6 Surjections and embeddingsš
- Definition 4.6.1:
is-surjectiveis-embedding,embeddingācancellable
 - Definition 4.6.2: 
injective - Theorem 4.6.3: 
is-equivāis-surjective,is-equivāis-embedding,embedding-surjectiveāis-equiv 
4.8 The object classifierš
- Lemma 4.8.1: 
Fibre-equiv - Lemma 4.8.2: 
Total-equiv - Theorem 4.8.3: 
Map-classifier 
Chapter 5 Inductionš
5.3 W-typesš
- W-types: 
W 
5.4 Inductive types are initial algebrasš
- Theorem 5.4.7: 
W-initial 
Chapter 6 Higher inductive typesš
6.2 Induction principles and dependent pathsš
- Remark 6.2.3: 
to-pathp,from-pathp - Induction principle for : by pattern matching.
 - Lemma 6.2.5: 
S¹-rec - Lemma 6.2.9: 
Ī©āæāSāæ-mapforn = 1 
6.3 The intervalš
This is the higher inductive type [0,1], not the interval type I.
- Lemma 6.3.1: 
interval-contractible 
6.4 Circles and spheresš
- Lemma 6.4.1: 
reflā loop - Lemma 6.4.2: 
always-loop - Lemma 6.4.4: 
ap-square 
6.5 Suspensionsš
- The suspension: 
Susp - Lemma 6.5.1: 
SuspSā°ā”S¹ - Definition 6.5.2: 
Sāæā»Ā¹ - Lemma 6.5.4: 
Ī£-mapāāmapā-Ī© 
6.6 Cell complexesš
- The torus: 
T². 
6.9 Truncationsš
- Lemma 6.9.1: 
ā„-ā„ā-elim 
6.10 Quotientsš
We define the quotient _/_
in terms of coequalisers Coeq.
- Lemma 6.10.3: 
Coeq-univ. 
6.11 Algebraš
- Definition 6.11.1: 
Monoid-on,Group-on - Definition 6.11.4: 
Ļāāā - Lemma 6.11.5: 
Monoid.Freeā£Forget - Lemma 6.11.6: 
Group.make-free-group 
Exercisesš
- Exercise 6.3: 
T²āS¹ĆS¹ 
Chapter 7 Homotopy n-typesš
7.1 Definition of n-typesš
- Definition 7.1.1: 
is-hlevel - Theorem 7.1.4: 
retractāis-hlevel - Corollary 7.1.5: 
equivāis-hlevel - Theorem 7.1.7: 
is-hlevel-suc - Theorem 7.1.8: 
Ī£-is-hlevel - Theorem 7.1.9: 
Ī -is-hlevel - Theorem 7.1.10: 
is-hlevel-is-prop - Theorem 7.1.11: 
n-Type-is-hlevel 
7.2 Uniqueness of identity proofs and Hedbergās theoremš
- Theorem 7.2.2: 
set-identity-system,identity-systemāhlevel - Theorem 7.2.5: 
Discreteāis-set - Theorem 7.2.6: 
Discrete-Nat - Theorem 7.2.7: 
hubs-and-spokesāhlevel,hlevelāhubs-and-spokes 
7.3 Truncationsš
- Lemma 7.3.1: 
n-Tr-is-hlevel - Lemma 7.3.2: 
n-Tr-elim - Theorem 7.3.12: 
n-Tr-path-equiv 
7.5 Connectednessš
- Definition 7.5.1: 
is-n-connected,is-n-connected-Tr - Lemma 7.5.7: 
relative-n-type-const - Corollary 7.5.9: 
is-n-connectedān-type-const,n-type-constāis-n-connected - Lemma 7.5.11: 
is-n-connected-point,point-is-n-connected 
Exercisesš
- Exercise 7.6: 
is-n-connectedāā„-ā„ 
Part 2 Mathematicsš
Chapter 8 Homotopy theoryš
The only non-trivial result worth mentioning from Chapter 8 is the fundamental group of the circle.
8.1 Ļā(S¹)š
- Definition 8.1.1: 
S¹Path.Cover - Definition 8.1.5: 
S¹Path.encode - Definition 8.1.6: 
S¹Path.decode - Lemma 8.1.7: 
S¹Path.encode-decode - Lemma 8.1.8: 
S¹Path.encode-loop⿠- Corollary 8.1.10: 
Ī©S¹āintegers - Corollary 8.1.11: 
ĻāS¹ā”ā¤,ĻāāāS¹ā”0 
8.2 Connectedness of suspensionsš
- Theorem 8.2.1: 
Susp-is-connected - Corollary 8.2.2: 
Sāæā»Ā¹-is-connected 
8.6 The Freudenthal suspension theoremš
- Lemma 8.6.1: 
relative-n-type-const-plus - Lemma 8.6.2: 
Wedge.elim 
Chapter 9 Category theoryš
Since a vast majority of the 1Labās mathematics consists of pure category theory, or mathematics done with a very categorical inclination, this is our most complete chapter.
9.1 Categories and Precategoriesš
- Definition 9.1.1: 
Precategory - Definition 9.1.2: 
is-invertible,_ā _ - Lemma 9.1.3: 
is-invertible-is-prop,ā -is-set - Lemma 9.1.4: 
pathāiso - Example 9.1.5: 
Sets - Definition 9.1.61: 
is-category - Example 9.1.7: 
Sets-is-category - Lemma 9.1.8: 
Univalent.Ob-is-groupoid - Lemma 9.1.9: 
Hom-transport(9.1.10),pathāto-sym(9.1.11),pathāto-ā(9.1.12/9.1.13) - Example 9.1.14: 
Poset - Example 9.1.15: 
is-gaunt - Example 9.1.16: 
Disc - Example 9.1.19: 
Rel 
9.2 Functors and Transformationsš
- Definition 9.2.1: 
Functor - Definition 9.2.2: 
_=>_- The paragraph immediately after 9.2.2 is 
Nat-pathandNat-is-set - The one after that is 
Functor-path. 
 - The paragraph immediately after 9.2.2 is 
 - Definition 9.2.3: 
Cat[_,_] - Lemma 9.2.4: If: 
invertibleāinvertibleāæ; Only if:isoāæāiso - Theorem 9.2.5: 
Functor-is-category - Theorem 9.2.6: 
_Fā_ - Definition 9.2.7: 
_ā_,_āø_ - Lemma 9.2.9: 
Fā-assoc - Lemma 9.2.10: See the definition of 
Prebicategory.pentagonforCat. - Lemma 9.2.11: See the definition of 
Prebicategory.triangleforCat. 
9.3 Adjunctionsš
- Lemma 9.3.1: 
_ā£_ - Lemma 9.3.2: 
is-left-adjoint-is-prop 
9.4 Equivalencesš
- Definition 9.4.1: 
is-equivalence - Definition 9.4.3: 
is-faithful,is-full,is-fully-faithful - Definition 9.4.4: 
is-split-eso - Lemma 9.4.5: 
ff+split-esoāis-equivalence - Definition 9.4.6: 
is-eso - Lemma 9.4.7: 
Essential-fibre-between-cats-is-prop,ff+esoāis-equivalence - Definition 9.4.8: 
is-precat-iso - Lemma 9.4.14: 
is-equivalenceāis-precat-iso,is-precat-isoāis-equivalence - Lemma 9.4.15: 
Precategory-identity-system - Theorem 9.4.16: 
Category-identity-system 
9.5 The Yoneda lemmaš
- Definition 9.5.1: 
_^op - Definition 9.5.2: 
_Ćį¶_ - Lemma 9.5.3: 
Curry,Uncurry- The
-functor:
Hom[-,-] - The Yoneda embedding: 
ć 
 - The
-functor:
 - Corollary 9.5.6: 
ć-is-fully-faithful - Corollary 9.5.7: As a corollary of 
Representation-is-prop - Definition 9.5.8: 
Representation - Theorem 9.5.9: 
Representation-is-prop - Lemma 9.5.10: Adjoints in terms of representability
 
9.6 Strict categoriesš
This chapter is mostly text.
- Definition 9.6.1: Strict precategories
 
9.7 Dagger categoriesš
We do not have a type of dagger-categories, but note that we do have the closely-related notion of allegory.
9.8 The structure identity principleš
- Definition 9.8.1: 
Thin-structure-over, generalised intoDisplayed - Theorem 9.8.2: 
Structured-objects-is-category, generalised intois-category-total 
9.9 The Rezk completionš
- Lemma 9.9.1: 
esoāpre-faithful - Lemma 9.9.2: 
eso-fullāpre-ff - Lemma 9.9.4: 
weak-equivāpre-equiv,weak-equivāpre-iso - Theorem 9.9.5: 
Rezk-completion,Rezk-completion-is-category,complete,complete-is-ff,complete-is-eso. 
Exercisesš
- Exercise 9.1: 
Slice,slice-is-category - Exercise 9.2: 
Total-space,Total-space-is-ff,Total-space-is-eso - Exercise 9.3: 
is-equivalence.Fā»Ā¹ā£F - Exercise 9.4: 
Prebicategory 
Chapter 10 Set theoryš
10.1 The category of setsš
- 10.1.1 Limits and colimits: 
Sets-is-complete,Sets-is-cocomplete - Theorem 10.1.5: 
Sets-regular,surjectiveāregular-epi,epiāsurjective - 10.1.3 Quotients: 
Sets-effective-congruences - Lemma 10.1.8: 
Congruence.is-effective - Lemma 10.1.13: 
Susp-prop-is-set,Susp-prop-path - Theorem 10.1.14: 
ACāLEM 
10.5 The cumulative hierarchyš
- Definition 10.5.1: 
V - Lemma 10.5.6: 
presentation - Definition 10.5.7: 
Presentation.members - Theorem 10.5.8:
extensionalityempty-setpairingzeroāā,sucāāunionā-inductionreplacementseparation
 
We use a slightly different definition of univalence for categories. It is shown equivalent to the usual formulation by
equiv-pathāidentity-systemā©ļø