Litcius/Paper detail

The Lean 4 Theorem Prover and Programming Language

Leonardo de Moura, Sebastian Ullrich

2021Lecture notes in computer science186 citationsDOIOpen Access PDF

Abstract

Abstract Lean 4 is a reimplementation of the Lean interactive theorem prover (ITP) in Lean itself. It addresses many shortcomings of the previous versions and contains many new features. Lean 4 is fully extensible: users can modify and extend the parser, elaborator, tactics, decision procedures, pretty printer, and code generator. The new system has a hygienic macro system custom-built for ITPs. It contains a new typeclass resolution procedure based on tabled resolution, addressing significant performance problems reported by the growing user base. Lean 4 is also an efficient functional programming language based on a novel programming paradigm called functional but in-place . Efficient code generation is crucial for Lean users because many write custom proof automation procedures in Lean itself.

Topics & Concepts

Computer scienceProgramming languageParsingAutomated theorem provingLean manufacturingCode generationCode (set theory)Resolution (logic)Software engineeringFunctional programmingGenerator (circuit theory)Operating systemPower (physics)Operations managementSet (abstract data type)Key (lock)EconomicsPhysicsQuantum mechanicsLogic, programming, and type systemsFormal Methods in VerificationSecurity and Verification in Computing
The Lean 4 Theorem Prover and Programming Language | Litcius