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
Prop
of 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.