lean2/hott/hott.md

37 lines
2.1 KiB
Markdown
Raw Permalink Normal View History

The Lean Homotopy Type Theory Library
=====================================
The Lean Homotopy Type Theory library consists of the following directories:
* [init](init/init.md) : basic definitions and theorems. These are imported in each ".hlean" file by default, unless the `prelude` command is used.
* [types](types/types.md) : concrete datatypes and type constructors
* [algebra](algebra/algebra.md) : algebraic structures, group theory and category theory.
* [cubical](cubical/cubical.md) : cubical types (e.g. squares in a types, squareovers)
* [hit](hit/hit.md): higher inductive types. Some higher inductive types which are mostly relevant in homotopy theory are in the [homotopy](homotopy/homotopy.md) folder.
* [homotopy](homotopy/homotopy.md) : synthetic homotopy theory.
The following files don't fit in any of the subfolders:
* [prop_trunc](prop_trunc.hlean): in this file we prove that `is_trunc n A` is a mere proposition. We separate this from [types.trunc](types/trunc.hlean) to avoid circularity in imports.
* [eq2](eq2.hlean): coherence rules for the higher dimensional structure of equality
* [function](function.hlean): embeddings, (split) surjections, retractions
* [arity](arity.hlean) : equality theorems about functions with arity 2 or higher
* [choice](choice.hlean) : theorems about the axiom of choice.
* [logic](logic.hlean)
You can import the core part of the library by writing [`import core`](core.hlean)
2015-04-25 00:13:08 +00:00
See [book.md](book.md) for an overview of the sections of the [HoTT book](http://homotopytypetheory.org/book/) which have been covered.
Lean's homotopy type theory kernel is a version of Martin-Löf Type Theory with:
* universe polymorphism
2015-04-25 00:13:08 +00:00
* a non-cumulative hierarchy of universes, `Type 0`, `Type 1`, ...
* inductively defined types
* [Two HITs](init/hit.hlean): `n`-truncation and quotients.
Note that there is no proof-irrelevant or impredicative universe.
By default, the univalence axiom is declared on initialization.
See also the [standard library](../library/library.md). We [port](port.md) some files from the standard library to the HoTT library.