Leanprover: Difference between revisions
update lean theorem prover study page |
minor update to lean theorem prover page |
||
| Line 2: | Line 2: | ||
Lean is a functional programming language that makes it easy to write correct and maintainable code. You can also use Lean as an interactive theorem prover. Lean programming primarily involves defining types and functions. This allows your focus to remain on the problem domain and manipulating its data, rather than the details of programming. Lean has numerous features, including: | |||
Lean is a functional programming language that makes it easy to write correct and maintainable code. | |||
You can also use Lean as an interactive theorem prover. Lean programming primarily involves defining types and functions. | |||
This allows your focus to remain on the problem domain and manipulating its data, rather than the details of programming. Lean has numerous features, including: | |||
* Type inference | * Type inference | ||
| Line 20: | Line 25: | ||
For installing Lean 4, please see [https://lean-lang.org/download Download]. Information about the community of Lean users and the mathematical components library Mathlib can be found at the [https://leanprover-community.github.io/ Lean Community website]. | For installing Lean 4, please see [https://lean-lang.org/download Download]. Information about the community of Lean users and the mathematical components library Mathlib can be found at the [https://leanprover-community.github.io/ Lean Community website]. | ||
https://lean-lang.org/about/ | |||
https://lean-lang.org/ | https://lean-lang.org/ | ||
Revision as of 20:19, 27 August 2024
Lean 4 Theorem Prover study session is for people who are studying and learning how to use the Lean theorem prover and dependently typed functional programming language.
Lean is a functional programming language that makes it easy to write correct and maintainable code.
You can also use Lean as an interactive theorem prover. Lean programming primarily involves defining types and functions.
This allows your focus to remain on the problem domain and manipulating its data, rather than the details of programming. Lean has numerous features, including:
- Type inference
- First-class functions
- Powerful data types
- Pattern matching
- Type classes
- Extensible syntax
- Hygienic macros
- Dependent types
- Metaprogramming framework
- Multithreading
- Verification: you can prove properties of your functions using Lean itself
The Lean project was launched by Leonardo de Moura when he was at Microsoft Research in 2013. It is an open source project, hosted on GitHub. Lean 4 is the latest version.
For installing Lean 4, please see Download. Information about the community of Lean users and the mathematical components library Mathlib can be found at the Lean Community website.
https://lean-lang.org/documentation/
Watch this talk about Lean by Terry Tao! https://www.youtube.com/watch?v=AayZuuDDKP0
As a study group we are interested in these activities:
- pair programming in Lean or Lean code review sessions
- discussing Lean topics such as program verification, functional programming, category theory, type theory, monads, monoids etc.
- book discussion / review exercises
Which books are we interested in?
- The Mechanics of Proof https://hrmacbeth.github.io/math2001/
- functional programming in lean https://lean-lang.org/functional_programming_in_lean/
- Category Theory For Programmers https://bartoszmilewski.com/2014/10/28/category-theory-for-programmers-the-preface/
Questions? We hang out on the Lean community Zulip chat:
https://leanprover.zulipchat.com/
In the San Francisco geographical section: