新上线昨天115 投票
MathCode:让AI自动把数学题变成形式化证明的智能编码代理
MathCode 是一款面向数学形式化的终端 AI 编程助手,核心特色是内置了数学形式化引擎。用户只需用自然语言描述一个数学问题,MathCode 便会自动将其转换为 Lean 4 定理,并尝试进行形式化证明。该工具提供了持久化的 Lean REPL、可复用的定理与公理库、代理式证明以及 Obsidian 知识图谱等功能。
快速上手
MathCode 支持 macOS (arm64) 和 Linux (x86_64),默认后端依赖 codex CLI。安装过程简单,只需克隆仓库并运行 setup.sh,即可完成环境配置。例如,输入 mathcode -p "prove that the square of an even number is even",输出结果会保存在 LeanFormalizations/ 目录下,同时也可以通过浏览器 UI 进行交互。
核心特性
- 持久化 Lean REPL:通过常驻的 Lean 语言服务器,编译检查时间从约 30 秒缩短至 0.4 秒(一次性预热后),极大提升了交互效率。
- 定理库:每个被证明的定理都会自动命名、存储并支持导入,方便复用。
- 公理库:将对话中的假设转换为持久化、编译检查且一致性审查过的 Lean 声明。
- Lean LSP 集成:搜索 leansearch.net 和 Loogle 获取已验证的 Mathlib 引理,并利用结构化 LSP 诊断进行修复。
- Obsidian 知识图谱:生成 Obsidian 库,将定理与引理之间的依赖关系可视化。
- 代理式证明:每个证明都是一个交互式会话,代理不断生成候选证明、读取错误并重新编译。
- 子目标树:将复杂定理分解为独立子目标并行证明,再组合成完整证明。
- 多规划器:并行运行多个规划器,探索不同的证明策略,由证明器选择最优方案。
行业意义
MathCode 的出现反映了 AI 辅助数学研究的前沿趋势。通过自动化形式化证明,它有望降低数学家使用形式化验证工具的门槛,加速数学定理的机器验证过程。其基于 AUTOLEAN 项目的流水线设计,也体现了开源社区在数学形式化方向的持续创新。
尽管目前 MathCode 仍处于早期阶段,但其功能设计已经展示了 AI 在数学推理领域的巨大潜力。对于数学研究者、形式化方法爱好者以及 AI 开发者而言,MathCode 提供了一个值得关注的实用工具。
