The Lean Language Reference
1.
Introduction
2.
Elaboration and Compilation
3.
The Lean Language
4.
Terms
5.
Monads and
do
-Notation
6.
IO
7.
Tactic Proofs
8.
The Simplifier
9.
Basic Types
10.
Standard Library
11.
Notations and Macros
12.
Elan
13.
Lake and Reservoir
Index
The Lean Language Reference
1.
Introduction
1.1.
Lean
1.2.
Typographical Conventions
2.
Elaboration and Compilation
2.1.
Parsing
2.2.
Macro Expansion and Elaboration
2.3.
The Kernel
2.4.
Elaboration Results
2.5.
Initialization
3.
The Lean Language
3.1.
Files
3.2.
Types
3.3.
Module Structure
3.4.
Axioms
3.5.
Recursive Definitions
3.6.
Type Classes
4.
Terms
5.
Monads and
do
-Notation
6.
IO
7.
Tactic Proofs
7.1.
Running Tactics
7.2.
Reading Proof States
7.3.
The Tactic Language
7.4.
Options
7.5.
Tactic Reference
7.6.
Targeted Rewriting with
conv
7.7.
Custom Tactics
8.
The Simplifier
8.1.
Invoking the Simplifier
8.2.
Rewrite Rules
8.3.
Simp sets
8.4.
Simp Normal Forms
8.5.
Terminal vs Non-Terminal Positions
8.6.
Configuring Simplification
8.7.
Simplification vs Rewriting
9.
Basic Types
9.1.
Natural Numbers
9.2.
Integers
9.3.
Fixed-Precision Integer Types
9.4.
Floating-Point Numbers
9.5.
Characters
9.6.
Strings
9.7.
Linked Lists
9.8.
Arrays
9.9.
Lazy Computations
9.10.
Tasks and Threads
10.
Standard Library
10.1.
Optional Values
11.
Notations and Macros
11.1.
Notations
11.2.
Syntax Categories and Extensions
11.3.
Macros
11.4.
Elaborators
12.
Elan
13.
Lake and Reservoir
13.1.
Lake
13.2.
Reservoir
Index