Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit cc1f2c6

Browse files
committed
feat(docs/*) Starts addings links and stubs to docs
1 parent 55c2cfd commit cc1f2c6

File tree

9 files changed

+68
-33
lines changed

9 files changed

+68
-33
lines changed

README.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,15 @@
55
Lean standard library
66

77
Besides [Lean's general documentation](https://leanprover.github.io/documentation/), the documentation of mathlib consists of:
8-
* a description of [currently covered theories](docs/theories.md)
9-
* an explanation of [naming conventions](docs/naming.md) that is useful
8+
9+
- a description of [currently covered theories](docs/theories.md)
10+
- an explanation of [naming conventions](docs/naming.md) that is useful
1011
to find or contribute definitions and lemmas
11-
* a description of [tactics](docs/tactics.md) introduced in mathlib
12-
* a [style guide](docs/style.md) for contributors
13-
* a tentative list of [work in progress](docs/wip.md) to make sure
12+
- a description of [tactics](docs/tactics.md) introduced in mathlib
13+
- a [style guide](docs/style.md) for contributors
14+
- a tentative list of [work in progress](docs/wip.md) to make sure
1415
efforts are not duplicated without collaboration
15-
* a [guide](docs/elan.md) on installing Lean and mathlib with elan.
16+
- a [guide](docs/elan.md) on installing Lean and mathlib with elan.
1617

1718
This repository also contains [extra Lean documentation](docs/extras.md)
1819
not specific to mathlib.

docs/extras.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Extra Lean documentation
22

33
* The [conversion tactic mode](extras/conv.md)
4-
* Some [notes on simp](extras/simp.md)
4+
* The [simplifier](extras/simp.md)
55
* The [calc environment](extras/calc.md)
66
* The [congruence closure tactic](extras/cc.md)
7+
* [Well founded recursion](extras/well_founded_recursion.md)

docs/theories.md

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,24 @@
33
The core Lean library (imported automatically) and mathlib, the
44
mathematics library, between them know quite a lot of basic
55
undergraduate-level mathematical definitions. This page is an overview
6-
of the definitions and lemmas within these libraries that
6+
of the definitions and lemmas within these libraries that
77
mathematicians might be interested in.
88

9-
Note that there are many other things within these libraries which
10-
are not documented here (for example red black trees and so on); these
9+
Note that there are many other things within these libraries which
10+
are not documented here (for example red black trees and so on); these
1111
missing definitions and theorems may well be of interest to computer
1212
scientists.
1313

14-
* [Groups](theories/groups.md)
15-
* [Rings and fields](theories/rings_fields.md)
16-
* [Partial and total orders](theories/orders.md)
1714
* [Functions between types](theories/functions.md)
18-
* [Relations on types](theories/relations.md)
19-
* [Quotients and equivalence classes](theories/quotients.md)
15+
* [Relations on types, quotients](theories/relations.md)
16+
* [Partial and total orders, lattices](theories/orders.md)
2017
* [Sets and set like objects](theories/sets.md)
18+
* [Categories](theories/categories.md)
2119
* [The natural numbers](theories/naturals.md)
22-
* [The integers.](theories/integers.md)
20+
* [The integers](theories/integers.md)
21+
* [Groups](theories/groups.md)
22+
* [Rings and fields](theories/rings_fields.md)
23+
* [Linear algebra](theories/linear_algebra.md)
24+
* [Number theory](theories/number_theory.md)
25+
* [Topological, uniform and metric spaces](theories/topological_spaces.md)
26+
* [Measure theory](theories/measure.md)

docs/theories/linear_algebra.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Maths in Lean : Linear algebra
2+
3+
The definitions of modules and vector fields are in `algebra/module`.
4+
In `linear_algebra` are their products,
5+
sub-objects, quotients, and morphisms. There are also (unordered) bases
6+
and the definition of dimension of a vector space. But there is nothing specific to finite dimension and matrices yet.

docs/theories/measure.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Maths in Lean : Measure theory
2+
3+
In `analysis/measure_theory`, are measure spaces, measurable functions,
4+
outer measures, Lebesgue measure, but no integral yet.

docs/theories/number_theory.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Maths in Lean : number theory
2+
3+
In addition to the basic operations on `` and ``, there are
4+
things on diophantine sets in `number_theory/dioph`, and on Pell's
5+
equation in `number_theory/pell`. Those things are used to prove
6+
Matiyasevič's theorem, which states that the power function is
7+
Diophantine, forming the last and hardest piece of the MRDP theorem of
8+
the unsolvability of Hilbert's 10th problem (asking for algorithmic
9+
solution to all diophantine equations).
10+
11+
A set `S ⊆ ℕ^α` is diophantine if there exists a polynomial on
12+
`α ⊕ β` such that `v ∈ S` iff there exists `t : ℕ^β` with `p (v, t) = 0`.

docs/theories/polynomials.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Maths in Lean : polynomials
2+
3+
General purposes multivariate polynomials over rings are defined in
4+
`linear_algebra/mv_polynomial.lean`. Univariate polynomials get a special
5+
treatment in `data/polynomial`. Multivariate polynomial over ``
6+
get a special treatment with a view towards diophantine equations in
7+
`number_theory/dioph`.
8+
9+

docs/theories/quotients.md

Lines changed: 0 additions & 11 deletions
This file was deleted.

docs/theories/relations.md

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,29 @@ definitions of the basic relations on types such as `reflexive`,
55
`irreflexive`, `symmetric`, `anti_symmetric`, `transitive`,
66
`equivalence`, and `total` (i.e. for all `x` and `y`,
77
`x R y` or `y R x`).
8-
One key usage of equivalence relations is the construction of
9-
equivalence classes; this is well documented in
10-
[Theorem Proving In Lean](https://leanprover.github.io/theorem_proving_in_lean/).
118

129
### Examples.
1310

1411
```lean
1512
variable (X : Type*)
1613
1714
-- equality is symmetric
18-
example : symmetric (λ x y : X, x=y) :=
15+
example : symmetric (λ x y : X, x = y) :=
1916
λ x y, eq.symm
2017
2118
-- "less than" is transitive on the natural numbers.
22-
example : transitive (λ a b : nat, a<b) :=
23-
λ x y z : nat, lt_trans
19+
example : transitive (λ a b : , a < b) :=
20+
λ x y z : , lt_trans
2421
```
22+
23+
Transitivity of relations allows to use them in [calc environments](../extras/calc.md).
24+
25+
One key usage of equivalence relations is the construction of quotients.
26+
A type with an equivalence relation on it is called a `setoid` in Lean.
27+
Setoids are defined in `init/data/setoid.lean` and the quotient type
28+
corresponding to the equivalence classes of the equivalence relation is
29+
defined in `init/data/quot.lean` . The online document
30+
*Theorem Proving In Lean* has
31+
[quite a good section about setoids and quotients](https://leanprover.github.io/theorem_proving_in_lean/axioms_and_computation.html#quotients)
32+
33+
A nice mathematical example can be found in `linear_algebra/quotient_module`.

0 commit comments

Comments
 (0)