Repolode
AxiomMath

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. 1

    获取 Mathlib 预编译文件

    lake exe cache get
  2. 2

    构建库(耗时长,占用大量内存)

    lake build

使用前须知

  • 完整构建非常缓慢且占用大量内存,库包含约 63,000 个模块。
  • 需要 Lean 4 和 Mathlib;Stacks 模块的预编译缓存目前仅为计划中。
  • StacksFrontier 代码由 AI 编写,仍在审查中,可能尚未达到 Mathlib 标准。
  • 其所形式化的 Stacks Project 采用 GFDL 许可,与代码的 Apache 2.0 许可不同。

标签

#lean#formal-verification#algebraic-geometry#mathlib#theorem-proving#mathematics

常见问题

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 数据每日更新。

相关项目