Leanprover: Difference between revisions

From Noisebridge
Jump to navigation Jump to search
David415 (talk | contribs)
update lean theorem prover study page
David415 (talk | contribs)
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].


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/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/about/

https://lean-lang.org/

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?



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