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
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:
- (i):
Dec - (iii):
Discrete
- (i):
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.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
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
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
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
8.2 Connectedness of suspensions🔗
- Theorem 8.2.1:
Susp-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:
- (i):
extensionality - (ii):
empty-set - (iii):
pairing - (iv):
zero∈ℕ,suc∈ℕ - (v):
union - (vii):
∈-induction - (viii):
replacement - (ix):
separation
- (i):
We use a slightly different definition of univalence for categories. It is shown equivalent to the usual formulation by
equiv-path→identity-system↩︎