Lean combines a formal language, elaborator, tactic framework, libraries and a small kernel. Definitions, executable programs and theorems can live in the same environment, allowing software properties and mathematical results to be stated and proved precisely.
Lean proofs ultimately produce proof terms that the kernel checks independently. Humans or automated systems can search for proof steps, but an accepted result must still satisfy the kernel's logical rules.
Acronyms and aliases
Lean variantLean theorem prover variant
General terms
Related terms
Frequently asked questions
Can Lean verify software as well as mathematics?
Yes. Lean can express programs and their properties in one language, allowing developers to prove that implementations satisfy formal specifications.
Why is Lean useful for artificial intelligence-generated code?
Artificial intelligence can generate implementations and proof attempts, while Lean's kernel independently checks whether the final proof term is valid.