1.5 KiB
1.5 KiB
The Lean Library
The Lean library is contained in the following modules and directories:
- general_notation : commonly shared notation
- logic : logical constructs and axioms
- data : concrete datatypes and type constructors
- algebra : algebraic structures
- hott : homotopy type theory
- tools : additional tools
Modules can be loaded individually, but they are also be loaded by importing the following packages:
- standard : constructive logic and datatypes
- classical : classical mathematics
- hott : homotopy type theory
Lean's default logical framework is a version of the Calculus of Constructions with:
- an impredicative, proof-irrelevant type
Propof propositions - univerve polymorphism
- a non-cumulative hierarchy of universes,
Type 1,Type 2, ... aboveProp - inductively defined types
The standard library does not rely on any axioms beyond this framework, and is
hence constructive. It includes theories of the natural numbers, integers,
lists, and so on.
The classical library imports the law of the excluded middle, choice functions,
and propositional extensionality. See logic/axioms for details.
The hott library is compatible with the standard library, but favors "proof
relevant" versions of the logical connectives, based on Type rather than
Prop. See hott for details.