Skip to content

Commit 5459e64

Browse files
chore: prepare release snapshot (#342)
This prepares for the imminent snapshot.
1 parent 45a4b5b commit 5459e64

File tree

4 files changed

+17
-51
lines changed

4 files changed

+17
-51
lines changed

Manual.lean

Lines changed: 14 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -32,39 +32,27 @@ set_option maxRecDepth 300000
3232
tag := "lean-language-reference"
3333
%%%
3434

35-
3635
This is the _Lean Language Reference_, an in-progress reference work on Lean.
3736
It is intended to be a comprehensive, precise description of Lean: a reference work in which Lean users can look up detailed information, rather than a tutorial intended for new users.
38-
For other documentation, please refer to the [Lean documentation site](https://lean-lang.org/documentation/).
39-
40-
This reference manual is not yet complete, but there's enough information to provide value to users.
41-
The top priority is to add the missing information as quickly as possible while staying up to date with Lean development.
42-
As the rest of the text is written, regular snapshots will be released, tracking upstream changes.
43-
This snapshot covers Lean version {versionString}[].
44-
45-
Our prioritization of content is based on our best understanding of our users' needs.
46-
Please use the [issue tracker](https://github.com/leanprover/reference-manual/issues) to help us better understand what you need to know.
47-
In particular, please create or upvote issues for topics that are important to you.
48-
Your feedback is much appreciated!
49-
Once sufficient content is available, we will begin saving snapshots for each release of Lean and making them conveniently available.
50-
51-
API reference documentation is included from the Lean standard library source code.
52-
Due to technical limitations at the moment, the Lean terms and examples embedded in it do not render as nicely as we would like.
53-
In the near future, we will be working on removing these limitations.
54-
Additionally, we will be adding missing API reference documentation and revising and improving the existing API reference documentation.
37+
For other documentation, please refer to the [Lean documentation overview](https://lean-lang.org/documentation/).
38+
This manual covers Lean version {versionString}[].
5539

56-
**Release History**
40+
Lean is an *interactive theorem prover* based on dependent type theory, designed for use both in cutting-edge mathematics and in software verification.
41+
Lean's core type theory is expressive enough to capture very complicated mathematical objects, but simple enough to admit independent implementations, reducing the risk of bugs that affect soundness.
42+
The core type theory is implemented in a minimal {tech}[kernel] that does nothing other than check proof terms.
43+
This core theory and kernel are supported by advanced automation, realized in {ref "tactics"}[an expressive tactic language].
44+
Each tactic produces a term in the core type theory that is checked by the kernel, so bugs in tactics do not threaten the soundness of Lean as a whole.
45+
Along with many other parts of Lean, the tactic language is user-extensible, so it can be built up to meet the needs of a given formalization project.
46+
Tactics are written in Lean itself, and can be used immediately upon definition; rebuilding the prover or loading external modules is not required.
5747

58-
: 2025-02-03
48+
Lean is also a pure *functional programming language*, with features such as a run-time system based on reference counting that can efficiently work with packed array structures, multi-threading, and monadic {name}`IO`.
49+
As befits a programming language, Lean is primarily implemented in itself, including the language server, build tool, {tech}[elaborator], and tactic system.
50+
This very book is written in [Verso](https://github.com/leanprover/verso), a documentation authoring tool written in Lean.
5951

60-
This release updates the contents for Lean version 4.17.0-rc1.
61-
It adds descriptions of {ref "well-founded-recursion"}[well-founded recursion], the new {ref "partial-fixpoint"}[partial fixpoint] feature, {ref "quotients"}[quotient types], and {ref "lake"}[Lake], and {ref "structural-recursion"}[the description of structural recursion] has been greatly improved.
62-
Descriptions and API references for all fixed-width integer types, {name}`Int`, {name}`Fin`, {name}`Empty`, and {name}`Option` were also added.
63-
This release also includes a quick-jump box that can be used to quickly navigate to any documented topic.
52+
Familiarity with Lean's programming features is valuable even for users whose primary interest is in writing proofs, because Lean programs are used to implement new tactics and proof automation.
53+
Thus, this reference manual does not draw a barrier between the two aspects, but rather describes them together so they can shed light on one another
6454

65-
: 2024-12-16
6655

67-
This is the initial release of the reference manual.
6856

6957
{include 0 Manual.Intro}
7058

Manual/Intro.lean

Lines changed: 1 addition & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -23,33 +23,12 @@ tag := "introduction"
2323
The _Lean Language Reference_ is intended as a comprehensive, precise description of Lean.
2424
It is a reference work in which Lean users can look up detailed information, rather than a tutorial for new users.
2525
At the moment, this reference manual is a public preview.
26-
Many sections are still to be written.
2726
For tutorials and learning materials, please visit [the Lean documentation page](https://lean-lang.org/documentation/).
2827

2928
This document describes version {versionString}[] of Lean.
3029

31-
# Lean
32-
%%%
33-
tag := "what-is-lean"
34-
%%%
35-
36-
37-
Lean is an *interactive theorem prover* based on dependent type theory, designed for use both in cutting-edge mathematics and in software verification.
38-
Lean's core type theory is expressive enough to capture very complicated mathematical objects, but simple enough to admit independent implementations, reducing the risk of bugs that affect soundness.
39-
The core type theory is implemented in a minimal {tech}[kernel] that does nothing other than check proof terms.
40-
This core theory and kernel are supported by advanced automation, realized in {ref "tactics"}[an expressive tactic language].
41-
Each tactic produces a term in the core type theory that is checked by the kernel, so bugs in tactics do not threaten the soundness of Lean as a whole.
42-
Along with many other parts of Lean, the tactic language is user-extensible, so it can be built up to meet the needs of a given formalization project.
43-
Tactics are written in Lean itself, and can be used immediately upon definition; rebuilding the prover or loading external modules is not required.
44-
45-
Lean is also a pure *functional programming language*, with features such as a run-time system based on reference counting that can efficiently work with packed array structures, multi-threading, and monadic {name}`IO`.
46-
As befits a programming language, Lean is primarily implemented in itself, including the language server, build tool, {tech}[elaborator], and tactic system.
47-
This very book is written in [Verso](https://github.com/leanprover/verso), a documentation authoring tool written in Lean.
48-
49-
Familiarity with Lean's programming features is valuable even for users whose primary interest is in writing proofs, because Lean programs are used to implement new tactics and proof automation.
50-
Thus, this reference manual does not draw a barrier between the two aspects, but rather describes them together so they can shed light on one another.
5130

52-
## History
31+
# History
5332
%%%
5433
tag := "history-of-lean"
5534
%%%

Manual/Meta.lean

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -225,10 +225,9 @@ div.planned .label {
225225
</div>
226226
}}
227227

228-
229228
@[role_expander versionString]
230229
def versionString : RoleExpander
231-
| #[], #[] => do pure #[← ``(Verso.Doc.Inline.text $(quote Lean.versionString))]
230+
| #[], #[] => do pure #[← ``(Verso.Doc.Inline.code $(quote Lean.versionString))]
232231
| _, _ => throwError "Unexpected arguments"
233232

234233
inductive FFIDocType where

lake-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"type": "git",
66
"subDir": null,
77
"scope": "",
8-
"rev": "18253d526eb256effbf62f896994f5043024f15a",
8+
"rev": "c0fc0f66c175330ad6ebc03344480c4ace1eb0dd",
99
"name": "verso",
1010
"manifestFile": "lake-manifest.json",
1111
"inputRev": "main",

0 commit comments

Comments
 (0)