Agda
Agda copied to clipboard
Agda formalisation of the Introduction to Homotopy Type Theory
Agda
This repository contains an Agda formalisation of the Introduction to Homotopy Type Theory book by Egbert Rijke.
Discussion
Organisation
There is one file per section in the book, and the formalization follows the book in a linear fashion. As far as we can, we make sure that numbering in the book of definitions, lemmas, theorems, etc, corresponds to numbering in the formal development.
Naming conventions
- Most commonly, we use all lowercase names where words are separated by hyphens.
- Structure on the natural numbers has
ℕat the end of its name. For example, we havezero-ℕ,one-ℕ,succ-ℕ,add-ℕ,mul-ℕ. We only useℕonce at the end of a name. For instance, the fact that multiplication distributes from the left over addition is calledleft-distributive-mul-add-ℕ. Similar for structure on the integers, the finite sets, the rationals, and so on. - The identity type is called
Id, and we don't use infix notation for it. The only correct infix notation would be=, but this symbol is taken up by the core Agda program. - Capitalization is used at the end of a name if we want to specify the category in which we are working. For example
hom-Groupis the type of group homomorphisms between any two groups, andℤ-Groupis the objectℤseen as a group. - In the naming scheme, the conclusion comes first, followed by the assumptions. For example,
is-contr-map-is-equivis the theorem that concludes that a map is contractible if it is an equivalence. Another example,type-Groupis the underlying type of a group.