Leanprover: Difference between revisions
add a humble little page for the Lean theorem prover study meet |
update lean theorem prover study page |
||
| Line 1: | Line 1: | ||
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 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 [[gh:leanprover|GitHub]]. [[gh:leanprover/lean4|Lean 4 is the latest version]]. | |||
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]. | |||
The Lean FRO nonprofit was launched in August of 2023. Its mission is to tackle the challenges of scalability, usability, and proof automation in the Lean theorem prover. | |||
https://lean-lang.org/ | https://lean-lang.org/ | ||
| Line 6: | Line 27: | ||
'''''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 | * pair programming in Lean or Lean code review sessions | ||
| Line 18: | Line 42: | ||
* The Mechanics of Proof https://hrmacbeth.github.io/math2001/ | * The Mechanics of Proof https://hrmacbeth.github.io/math2001/ | ||
* functional programming in lean https://lean-lang.org/functional_programming_in_lean/ | * functional programming in lean https://lean-lang.org/functional_programming_in_lean/ | ||
* Category Theory For Programmers | * 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: | |||
https://leanprover.zulipchat.com/#narrow/stream/224796-Geographic-locality/topic/San.20Francisco.2C.20CA.2C.20USA | https://leanprover.zulipchat.com/#narrow/stream/224796-Geographic-locality/topic/San.20Francisco.2C.20CA.2C.20USA | ||
Revision as of 20:16, 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.
The Lean FRO nonprofit was launched in August of 2023. Its mission is to tackle the challenges of scalability, usability, and proof automation in the Lean theorem prover.
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: