为 Lean 定理证明器提供基于大语言模型的证明自动化,包括策略建议、证明搜索和前提选择。
AxiomMath/Stacks
基于 Mathlib 的 Lean 4 形式化项目,将开源代数几何参考书 Stacks Project 转写为机器可验证的证明。
- Star
- 104
- Fork
- 23
- 未关闭 Issue
- 7
- 最近提交
- 14小时前
这是什么?
Stacks 是 Stacks Project 的 Lean 4 形式化版本。Stacks Project 是开源的代数几何参考著作,本项目基于 Mathlib 构建,目标是形式化其中所有可形式化的 tag。所有证明都由 Lean 内核检查,代码中不含 sorry 和 native_decide。
代码库分为两层:StacksCore 收录经过人工审阅、符合 Mathlib 命名与风格规范的形式化内容;StacksFrontier 收录由 AI 代理编写、等待审阅后再迁入核心层的内容。每个声明通过 @[stacks TAG] 属性标注对应的 tag,#stacks_tags 命令可列出所有已标注的声明。部分声明还关联了 Grothendieck 的 EGA 与 SGA 条目。
未形式化的例子、习题和注记可通过任务看板和蓝图式认领流程参与贡献。全库约 63,000 个模块,完整构建需要较长时间和较多内存。
核心功能
- 01基于 Mathlib 用 Lean 4 形式化 Stacks Project 的 tag。
- 02所有证明均由 Lean 内核检查,不含 sorry 和 native_decide。
- 03每个声明通过 @[stacks TAG] 标注对应 tag,可用 #stacks_tags 列出。
- 04将声明与 EGA、SGA 的编号条目关联。
- 05区分经人工审阅的 StacksCore 与待审阅的 AI 编写代码 StacksFrontier。
适用场景
- 查找某个 Stacks Project tag 对应的 Lean 形式化代码。
- 通过机器可验证的依赖关系学习代数几何证明。
- 为尚未形式化的例子和习题贡献代码。
- 在其他基于 Mathlib 的 Lean 项目中复用已验证的代数几何结果。
快速上手
- 1
获取 Mathlib 预编译文件
lake exe cache get - 2
构建库(耗时长,占用大量内存)
lake build
使用前须知
- 完整构建非常缓慢且占用大量内存,库包含约 63,000 个模块。
- 需要 Lean 4 和 Mathlib;Stacks 模块的预编译缓存目前仅为计划中。
- StacksFrontier 代码由 AI 编写,仍在审查中,可能尚未达到 Mathlib 标准。
- 其所形式化的 Stacks Project 采用 GFDL 许可,与代码的 Apache 2.0 许可不同。
标签
常见问题
- Stacks 是什么?
- 基于 Mathlib 的 Lean 4 形式化项目,将开源代数几何参考书 Stacks Project 转写为机器可验证的证明。 Stacks 是 Stacks Project 的 Lean 4 形式化版本。Stacks Project 是开源的代数几何参考著作,本项目基于 Mathlib 构建,目标是形式化其中所有可形式化的 tag。所有证明都由 Lean 内核检查,代码中不含 sorry 和 native_decide。
- Stacks 可以免费使用吗?用的什么许可证?
- Stacks 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- Stacks 还在维护吗?
- 活跃维护中。Stacks 最近一次提交是在 2026年11月6日。
- Stacks 适合用来做什么?
- 查找某个 Stacks Project tag 对应的 Lean 形式化代码。 通过机器可验证的依赖关系学习代数几何证明。 为尚未形式化的例子和习题贡献代码。 在其他基于 Mathlib 的 Lean 项目中复用已验证的代数几何结果。
- Stacks 怎么安装和运行?
- 获取 Mathlib 预编译文件: lake exe cache get 构建库(耗时长,占用大量内存): lake build
- 在哪里获取 Stacks?
- 源代码和安装说明在 GitHub 上:https://github.com/AxiomMath/Stacks
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
用 Lean 编写、经过形式化验证的以太坊基础组件库,供 Lean 项目共享复用。
一门用法则与证明约束 AI 生成代码、并可编译为 CPU/GPU 并行程序的编程语言。
用 TypeScript 实现的 TLA+ 解释器与模型检查器,可替代基于 Java 的 TLC,在浏览器、Node 和 Bun 中运行。
基于 Lean 4 的框架,用于神经网络的形式化规约、执行与形式验证,支持形状检查的张量与类 PyTorch 训练。
基于 Lean 4 的形式化验证框架,可对 C#、F# 等 .NET 语言编译出的 CIL 字节码进行机器可检查的正确性与内存安全证明。