SPB Git
4.9 KB · 50 lines json
1{2  "slug": "lean-theorem-prover",3  "name": "Lean",4  "aliases": ["Lean 4", "Lean theorem prover", "Lean prover"],5  "vendor": { "name": "Lean FRO", "slug": "lean-fro", "website": "https://lean-lang.org" },6  "homepage_url": "https://lean-lang.org/",7  "docs_url": "https://lean-lang.org/learn/",8  "repo_url": "https://github.com/leanprover/lean4",9  "license_url": "https://github.com/leanprover/lean4/blob/master/LICENSE",10  "product_type": "language",11  "product_status": "active",12  "summary": "Open-source functional programming language and interactive theorem prover with dependent types, the Mathlib mathematics library and VS Code tooling, stewarded by the Lean FRO",13  "description": "Lean is an open-source programming language and proof assistant whose dependent type system lets users state mathematical theorems or software specifications and check proofs mechanically. Lean 4, released under the Apache 2.0 license, compiles to native code and is developed with support from the Lean Focused Research Organization (Lean FRO), which funds core development, documentation and community infrastructure. The community-maintained Mathlib library formalizes a large body of undergraduate and research mathematics across algebra, analysis, topology, probability and computer science, and tools such as Loogle (search), Verso (documentation) and the VS Code extension with live goal display make interactive proving practical.\n\nLean is used by mathematicians formalizing results, by computer scientists verifying programs and increasingly as a target for AI systems that generate machine-checkable proofs. It runs on Linux, macOS and Windows and is installed through the elan toolchain manager, with Lake as the build system. The learning curve is steep, Mathlib's conventions take time to absorb, and formalization of a new result typically takes much longer than the informal proof, so it suits projects where machine-checked certainty is worth the cost.",14  "capabilities": ["Dependent type theory for theorems and specifications", "Interactive proving with live goal display in VS Code", "Mathlib library of formalized mathematics", "Compilation of Lean programs to native code", "Lake build system and elan toolchain manager", "Metaprogramming and tactic framework", "Search (Loogle) and documentation (Verso) tooling"],15  "workflows": ["Formalizing a theorem against Mathlib", "Verifying properties of an algorithm", "Checking AI-generated proofs mechanically"],16  "advantages": ["Apache-2.0 open source with dedicated FRO support", "Largest active formal mathematics library", "Serves as both language and prover"],17  "limitations": ["Steep learning curve", "Formalization is slow relative to informal proof", "Smaller general-purpose software ecosystem than mainstream languages"],18  "prerequisites": ["elan toolchain installer", "VS Code with the Lean 4 extension (recommended)"],19  "audiences": ["Mathematicians formalizing results", "Researchers in verification and AI for math", "Students of type theory"],20  "alternatives": ["sympy", "mathematica", "rust", "julia"],21  "comparison_notes": "SymPy and Mathematica compute with symbolic expressions but do not produce machine-checked proofs; Coq, Isabelle and Agda (not recorded) are the closest proof-assistant peers. Rust and Julia are general-purpose languages without dependent types.",22  "categories": [{ "slug": "math-stats-tools", "primary": true }, { "slug": "programming-languages" }],23  "tags": ["theorem-proving", "formal-methods", "open-source", "functional-programming"],24  "use_cases": ["write-papers"],25  "operating_systems": ["macos", "linux", "windows"],26  "execution_modes": ["local"],27  "interfaces": ["cli", "ide-extension", "web"],28  "deployment_models": ["desktop"],29  "integrations": ["VS Code", "Mathlib", "Lake", "elan", "Loogle"],30  "data_formats": ["Lean source (.lean)", "Lake manifests"],31  "languages": ["Lean", "C++ (runtime)"],32  "source_model": "open-source",33  "license_spdx": "Apache-2.0",34  "pricing_model": ["free", "open-source"],35  "self_hostable": true,36  "sources": [37    { "url": "https://lean-lang.org/", "type": "official_site", "title": "Lean Programming Language", "supports": ["name", "summary", "vendor", "capabilities"], "checked_at": "2026-11-02" },38    { "url": "https://github.com/leanprover/lean4", "type": "repository", "title": "leanprover/lean4", "supports": ["repo_url", "docs_url"], "checked_at": "2026-11-02" },39    { "url": "https://github.com/leanprover/lean4/blob/master/LICENSE", "type": "license_page", "title": "lean4 LICENSE", "supports": ["license_spdx", "source_model"], "checked_at": "2026-11-02" },40    { "url": "https://github.com/leanprover-community/mathlib4", "type": "repository", "title": "leanprover-community/mathlib4", "supports": ["capabilities"], "checked_at": "2026-11-02" }41  ],42  "confidence": "high",43  "discovery_method": "editorial-research",44  "depth": "standard",45  "editorial_status": "reviewed",46  "visibility": "public",47  "featured": false,48  "author": "batch-E"49}50
Files · laptop-initial-20261102
Menu

Theme