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š
_ = sym
_ = _ā_
_ = ā-idl
_ = ā-idr
_ = ā-invl
_ = ā-invr
_ = ā-assoc
_ = Ī©āæāŗĀ²-is-abelian
_ = Typeā
_ = Ī©āæ- 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 - Definition 2.1.7:
Typeā - Definition 2.1.8:
Ī©āæ
2.2: Functions are functorsš
_ = ap
_ = ap-ā- 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š
_ = subst
_ = Σ-pathp
_ = transport-refl
_ = subst-ā- 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š
_ = homotopy-natural
_ = homotopy-invert
_ = is-iso
_ = transportā»transport
_ = id-equiv
_ = Equiv.inverse
_ = _āe_- 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š
_ = Ī£-pathpā- Theorem 2.7.2:
Ī£-pathpā - Theorem 2.7.3: Agda has definitional Ī· equality for records.
2.9: Ī -types and function extensionalityš
_ = funext
_ = funext-dep- Theorem 2.9.3:
funext(no longer an axiom) - Lemma 2.9.6:
funext-dep(no longer an axiom)
2.10: Universes and univalenceš
_ = pathāequiv
_ = univalence
_ = ua
_ = uaβ
_ = ua-id-equiv
_ = ā-ua
_ = sym-ua- Lemma 2.10.1:
pathāequiv - Theorem 2.10.3:
univalenceua,uaβua-id-equiv,ā-ua,sym-ua
2.11: Identity typeš
_ = is-equivāis-embedding
_ = subst-path-left
_ = subst-path-right
_ = transport-path
_ = commutesāsquare- 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š
_ = āPath.CodeāPath- Theorem 2.12.5:
āPath.CodeāPath
Exercisesš
_ = Σ-assoc- Exercise 2.10:
Ī£-assoc
Chapter 3: Sets and Logicš
3.1: Sets and n-typesš
_ = is-set
_ = Nat-is-set
_ = Ć-is-hlevel
_ = Ī -is-hlevel
_ = is-groupoid
_ = is-hlevel-suc- 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?š
_ = ¬DNEā
_ = ¬LEMā- Theorem 3.2.2:
¬DNEā - Corollary 3.2.7:
¬LEMā
3.3: Mere propositionsš
_ = is-prop
_ = prop-ext
_ = is-propāis-set
_ = is-prop-is-prop
_ = is-hlevel-is-prop- 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š
_ = LEM
_ = DNE
_ = Dec
_ = Discrete- Definition 3.4.1:
LEM - Definition 3.4.2:
DNE - Definition 3.4.3:
Dec
Discrete
3.5: Subsets and propositional resizingš
_ = Σ-prop-path
_ = Ī©
_ = ā”- 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š
_ = Axiom-of-choice- Definition 3.8.3:
Axiom-of-choice
3.9: The principle of unique choiceš
_ = is-propāequivā„-ā„
_ = ā„-ā„-univ
_ = ā„-ā„-out- Lemma 3.9.1:
is-propāequivā„-ā„ - Corollary 3.9.2: Implicit in e.g.Ā
ā„-ā„-univ,ā„-ā„-out
3.11: Contractibilityš
_ = is-contr
_ = is-contr-is-prop
_ = retractāis-contr
_ = Singleton-contract
_ = Σ-contr-snd
_ = Σ-contr-fst- 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-contract - Lemma 3.11.9:
Ī£-contr-snd,Ī£-contr-fst
Exercisesš
_ = equivāis-hlevel
_ = ā-is-hlevel
_ = Σ-is-hlevel
_ = is-contr-if-inhabitedāis-prop
_ = is-propāāis-contr
_ = H-Level-Dec
_ = disjoint-ā-is-prop
_ = ¬global-choice
_ = ā„-ā„-elim
_ = LEMāDNE
_ = ā-well-ordered
_ = Σ-contr-fst
_ = is-propāequivā„-ā„
_ = Listingāchoice- 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-fst - Exercise 3.21:
is-propāequivā„-ā„ - Exercise 3.22:
Finite-choice
Chapter 4: Equivalencesš
4.2: Half adjoint equivalencesš
_ = is-half-adjoint-equiv
_ = is-isoāis-half-adjoint-equiv
_ = fibre
_ = fibre-paths
_ = is-half-adjoint-equivāis-equiv
_ = linv
_ = rinv
_ = is-equivāpre-is-equiv
_ = is-equivāpost-is-equiv
_ = is-isoāis-contr-linv
_ = is-isoāis-contr-rinv- 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š
_ = is-biinv
_ = is-biinv-is-prop- Definition 4.3.1:
is-biinv - Theorem 4.3.2:
is-biinv-is-prop
4.4: Contractible fibresš
_ = is-equiv
_ = is-equivāis-half-adjoint-equiv
_ = is-equiv-is-propThis 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š
_ = is-surjective
_ = is-embedding
_ = embeddingācancellable
_ = injective
_ = is-equivāis-surjective
_ = is-equivāis-embedding
_ = embedding-surjectiveāis-equiv- 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š
_ = Fibre-equiv
_ = Total-equiv
_ = Map-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- W-types:
W
5.4: Inductive types are initial algebrasš
_ = W-initial- Theorem 5.4.7:
W-initial
5.5: Homotopy-inductive typesš
_ = initialāinduction.elim- Theorem 5.5.5:
initialāinduction.elim
Chapter 6: Higher inductive typesš
6.2: Induction principles and dependent pathsš
_ = to-pathp
_ = from-pathp
_ = S¹-rec
_ = Ī©āæāSāæ-map- 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š
_ = [0,1]
_ = I
_ = interval-contractibleThis is the higher inductive type [0,1], not the interval type I.
- Lemma 6.3.1:
interval-contractible
6.4: Circles and spheresš
_ = reflā loop
_ = always-loop
_ = ap-square- Lemma 6.4.1:
reflā loop - Lemma 6.4.2:
always-loop - Lemma 6.4.4:
ap-square
6.5: Suspensionsš
_ = Susp
_ = SuspSā°āS¹
_ = Sāæā»Ā¹
_ = Ī£-mapāāmapā-Ī©- The suspension:
Susp - Lemma 6.5.1:
SuspSā°āS¹ - Definition 6.5.2:
Sāæā»Ā¹ - Lemma 6.5.4:
Ī£-mapāāmapā-Ī©
6.6: Cell complexesš
_ = T²- The torus:
T².
6.8: Pushoutsš
_ = Pushout
_ = Cocone
_ = Pushout-is-universal-cocone
_ = Suspāpushout- The pushout:
Pushout - Definition 6.8.1:
Cocone - Lemma 6.8.2:
Pushout-is-universal-cocone - Observation:
Suspāpushout
6.9: Truncationsš
_ = ā„-ā„ā-elim- Lemma 6.9.1:
ā„-ā„ā-elim
6.10: Quotientsš
_ = Coeq
_ = _/_
_ = Coeq-univWe define the quotient _/_
in terms of coequalisers Coeq.
- Lemma 6.10.3:
Coeq-univ.
6.11: Algebraš
_ = Monoid-on
_ = Group-on
_ = Ļāāā
_ = Monoid.Free-monoidā£Forget
_ = Group.make-free-group- Definition 6.11.1:
Monoid-on,Group-on - Definition 6.11.4:
Ļāāā - Lemma 6.11.5:
Monoid.Free-monoidā£Forget - Lemma 6.11.6:
Group.make-free-group
Exercisesš
_ = T²āS¹ĆS¹- Exercise 6.3:
T²āS¹ĆS¹
Chapter 7: Homotopy n-typesš
7.1: Definition of n-typesš
_ = is-hlevel
_ = retractāis-hlevel
_ = Ī -is-hlevel
_ = n-Type-is-hlevel- 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š
_ = set-identity-system
_ = identity-systemāhlevel
_ = Discreteāis-set
_ = Discrete-Nat
_ = hubs-and-spokesāhlevel
_ = hlevelāhubs-and-spokes- 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š
_ = n-Tr-is-hlevel
_ = n-Tr-elim
_ = n-Tr-path-equiv- 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š
_ = is-n-connected
_ = is-n-connected-Tr
_ = relative-n-type-const
_ = is-n-connectedān-type-const
_ = n-type-constāis-n-connected
_ = is-n-connected-point
_ = point-is-n-connected- 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š
_ = is-n-connectedāā„-ā„- 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¹)š
_ = Ī©S¹āInt
_ = ĻāS¹ā
ā¤
_ = ĻāāāS¹ā”0- Corollary 8.1.10:
Ī©S¹āInt - Corollary 8.1.11:
ĻāS¹ā ā¤,ĻāāāS¹ā”0
8.2: Connectedness of suspensionsš
_ = Susp-is-connected
_ = Sāæā»Ā¹-is-connected- Theorem 8.2.1:
Susp-is-connected - Corollary 8.2.2:
Sāæā»Ā¹-is-connected
8.6: The Freudenthal suspension theoremš
_ = relative-n-type-const-plus
_ = Wedge.elim
_ = suspend-is-n-connected
_ = freudenthal.code
_ = freudenthal-equivalence
_ = Sāæ-stability
_ = ĻāSāæāInt- Lemma 8.6.1:
relative-n-type-const-plus - Lemma 8.6.2:
Wedge.elim - Theorem 8.6.4:
suspend-is-n-connected - Definition 8.6.5:
freudenthal.code - Corollary 8.6.14:
freudenthal-equivalence - Corollary 8.6.15:
Sāæ-stability - Theorem 8.6.17:
ĻāSāæāInt
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š
_ = Precategory
_ = is-invertible
_ = _ā
_
_ = is-invertible-is-prop
_ = Cat[_,_]
_ = pathāiso
_ = is-category
_ = equiv-pathāidentity-system
_ = Univalent.Ob-is-groupoid
_ = Hom-transport
_ = pathāto-sym
_ = pathāto-ā
_ = Poset
_ = is-gaunt
_ = Disc
_ = Rel
_ = Sets
_ = Sets-is-category- Definition 9.1.1:
Precategory - Definition 9.1.2:
is-invertible,_ā _ - Lemma 9.1.3:
is-invertible-is-prop - 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š
_ = Functor
_ = _=>_
_ = Nat-is-set
_ = Functor-path
_ = invertibleāinvertibleāæ
_ = isoāæāiso
_ = Functor-is-category
_ = _Fā_
_ = _ā_
_ = _āø_
_ = Fā-assoc
_ = Prebicategory.pentagon
_ = Prebicategory.triangle
_ = Cat- Definition 9.2.1:
Functor - Definition 9.2.2:
_=>_- The paragraph immediately after 9.2.2 is
Nat-pathpandNat-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š
_ = _ā£_
_ = is-left-adjoint-is-prop- Lemma 9.3.1:
_ā£_ - Lemma 9.3.2:
is-left-adjoint-is-prop
9.4: Equivalencesš
_ = is-equivalence
_ = is-faithful
_ = is-full
_ = is-fully-faithful
_ = is-split-eso
_ = is-eso
_ = ff+split-esoāis-equivalence
_ = Essential-fibre-between-cats-is-prop
_ = ff+esoāis-equivalence
_ = is-precat-iso
_ = is-equivalenceāis-precat-iso
_ = is-precat-isoāis-equivalence
_ = Precategory-identity-system
_ = Category-identity-system- 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š
_ = _^op
_ = _Ćį¶_
_ = Curry
_ = Uncurry
_ = Hom[-,-]
_ = ć
_ = ć-is-fully-faithful
_ = Representation
_ = Representation-is-prop
_ = hom-isoāadjoints- Definition 9.5.1:
_^op - Definition 9.5.2:
_Ćį¶_ - Lemma 9.5.3:
Curry,Uncurry- The
Hom[-,-] - The Yoneda embedding:
ć
- The
- 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š
_ = Structured-objects-is-category
_ = is-category-total
_ = Thin-structure-over
_ = Displayed- 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š
_ = Rezk-completion-is-category
_ = weak-equivāpre-equiv
_ = weak-equivāpre-iso
_ = is-esoāprecompose-is-faithful
_ = eso-fullāpre-ff
_ = Rezk-completion
_ = complete-is-eso
_ = complete-is-ff
_ = complete- Lemma 9.9.1:
is-esoāprecompose-is-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š
_ = is-equivalence.Fā»Ā¹ā£F
_ = Total-space-is-eso
_ = slice-is-category
_ = Total-space-is-ff
_ = Prebicategory
_ = Total-space
_ = Slice- 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š
_ = Sets-is-complete
_ = Sets-is-cocomplete
_ = Sets-regular
_ = surjectiveāregular-epi
_ = epiāsurjective
_ = Sets-effective-congruences
_ = Congruence.is-effective
_ = Susp-prop-is-set
_ = Susp-prop-path
_ = ACāLEM- 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š
_ = V
_ = presentation
_ = Presentation.members
_ = extensionality
_ = empty-set
_ = pairing
_ = zeroāā
_ = sucāā
_ = union
_ = ā-induction
_ = replacement
_ = separation- Definition 10.5.1:
V - Lemma 10.5.6:
presentation - Definition 10.5.7:
Presentation.members - Theorem 10.5.8:
extensionality
empty-set
pairing
zeroāā,sucāā
union
ā-induction
replacement
separation
We use a slightly different definition of univalence for categories. It is shown equivalent to the usual formulation by
equiv-pathāidentity-systemā©ļø