Lean 4 is a programming language and theorem prover maintained at the leanprover/lean4 repository. The project serves dual purposes as both a functional programming language and a formal verification tool, enabling users to write proofs and verify mathematical theorems alongside executable code. The repository is written primarily in Lean itself and maintains an active homepage at lean-lang.org with comprehensive documentation covering installation, theorem proving tutorials, functional programming guides, language references, and release notes beginning from version 4.0.0-m3.
The project encompasses multiple interconnected domains including theorem proving, formal verification, proof assistance, functional programming with dependent types, logic, type theory, metaprogramming, and compiler development. This breadth reflects Lean 4's design as a unified system where mathematical reasoning and practical programming coexist within the same language framework.
Activity data reveals substantial ongoing development and maintenance.
This concentration of activity among experienced maintainers suggests a focused development approach while the substantial event counts indicate these individuals are deeply engaged in code review, issue management, and feature development.
Links to microsoft/vscode, rust-lang/rust, and microsoft/typescript indicate that developers working on Lean 4 also contribute to these significant ecosystems. These connections suggest cross-pollination of ideas and practices between the theorem proving domain and mainstream programming language development.
The project provides multiple entry points for users and contributors. The quickstart guide, theorem proving tutorial, and functional programming documentation serve different audiences depending on whether they approach Lean primarily as a verification tool or as a programming language. The external contribution guidelines and building-from-source documentation in doc/make/index.md establish clear pathways for community participation. Release notes starting from v4.0.0-m3 document the evolution of the language through its development phases.
Lean 4 represents a mature project with established infrastructure for both users seeking to learn theorem proving and functional programming, and developers interested in contributing to a sophisticated language implementation that bridges formal mathematics and practical computation.