Aristotle 如何“无幻觉”证明数学猜想?——从 Erdős 问题 #124 看 AI 数学智能体的工程实现
2025 年,AI 智能体 Aristotle 成功形式化证明了 Erdős 问题 #124 的弱化版本,引发陶哲轩等顶尖数学家对“AI 驱动数学研究”的深度讨论。本文不满足于“AI 又解了一道题”的表层叙事,而是深入 Aristotle 的系统架构、形式化推理机制与工程实现细节,解析其如何通过 Lean4 强约束 + 神经符号混合规划 + 自主验证闭环 实现“零幻觉”数学推理,并探讨这一范式对科
一、问题背景:Erdős #124 为何是“低垂果实”?
Erdős 问题 #124(1984)原始表述为:
是否存在一个严格递增正整数序列 \( a_1 < a_2 < \dots \),使得每个充分大的整数均可表示为该序列某有限子集的和,且满足
[
\sum_{i \in S} a_i^k = o(n^{k+1}) \quad ?
]
乍看之下,这是一个典型的加性数论问题。但关键在于:原始问题遗漏了“序列由 k 次幂构成”这一隐含假设。一旦补全,问题立即退化为可由 Brown 判别法(1970s 已知结果)直接推导的弱化版本。
这正是陶哲轩所说的“长尾中的低垂果实”——问题本身不难,但因文献散佚、表述模糊而长期悬置。而 Aristotle 的价值,恰恰在于它能自动发现此类技术性疏漏,并完成端到端的形式化证明。
二、Aristotle 的核心设计哲学:形式化驱动,而非语言生成
与 GPT-4 等通用大模型不同,Aristotle 不是语言模型,而是一个定理证明导向的智能体系统(Theorem-Proving Agent)。其设计遵循三大原则:
- 输出必须可验证:所有结论必须能被 Lean4 内核验证;
- 推理必须可回溯:每一步推导若失败,可自动回滚并尝试替代路径;
- 知识必须显式化:所有引用的引理必须来自形式化库(如 mathlib)。
这意味着 Aristotle 的“思考”过程,本质上是在 Lean4 的类型系统中搜索合法证明路径。
三、系统架构剖析:四层协同推理栈
Aristotle 的推理流程可分为四个紧密耦合的模块:
3.1 语义解析器(Semantic Parser):从自然语言到形式命题
用户输入:“证明存在序列使得大整数可表为其子集和,且 k 次幂和增长慢于 \( n^{k+1} \)。”
Aristotle 首先调用其数学专用 NER + 依赖解析器,识别:
量词结构(“存在序列” → ∃ (a : ℕ → ℕ) );
渐近符号(“增长慢于” → o(λ n => n^(k+1)) );
隐含变量(“k” 为固定正整数)。
输出 Lean4 目标:
theorem erdos_124_weak (k : ℕ) :
∃ (a : ℕ → ℕ),
StrictMono a ∧
(∀ N, ∃ S : Finset ℕ, (∑ i in S, a i) ≥ N) ∧
(∑ i in S, (a i)^k) = o(λ n => n^(k+1)) := by sorry
📌 技术细节:解析器基于 MathBERT-large 微调,在 arXiv 数学论文上训练,支持 LaTeX 与自然语言混合输入。
3.2 证明规划器(Proof Planner):MCTS + 神经启发式搜索
这是 Aristotle 的“决策中枢”。它将证明目标视为状态空间搜索问题:
- 状态:当前 Lean tactic state(包含 goals 与 hypotheses);
- 动作:可用 tactic 集合(如 use , apply , induction , ring_nf );
- 奖励:子目标简化程度 + 形式验证通过率。
其实现采用 Lean-Guided Monte Carlo Tree Search (LG-MCTS):
class LG_MCTS:
def select(self, node):
# UCB 策略选择最有希望的分支
return max(node.children, key=lambda c: c.Q / c.N + C * sqrt(log(node.N) / c.N))
def expand(self, node):
# 获取当前上下文下合法的 tactic
tactics = lean_kernel.get_valid_tactics(node.state)
for t in tactics:
new_state = lean_kernel.apply_tactic(node.state, t)
if new_state.is_valid(): # Lean 内核实时验证
node.add_child(new_state, action=t)
def simulate(self, node):
# 快速 rollout:若能一步解决,返回高奖励
if lean_kernel.is_provable_in_one_step(node.state):
return 1.0
# 否则用轻量 GNN 估计成功率
return value_net(node.state)
在 Erdős #124 案例中,规划器在第 3 层搜索中识别出 a_n = n^2 为候选序列,并触发 asymptotics 库调用。
3.3 形式化执行引擎:Lean4 内核作为“真理之锚”
Aristotle 的每一步推理都必须通过 Lean4 kernel 的类型检查。Lean4 基于 依赖类型理论(DTT),任何非法推导(如除零、未声明变量、逻辑矛盾)都会导致类型错误。
例如,当 Aristotle 尝试使用 Brown 判别法时,执行引擎会:
- 检查序列 a 是否满足判别法前提;
- 验证 ∑ a_i^k 的渐近行为是否匹配 o(n^{k+1}) ;
- 若任一条件不满足,立即抛出异常并回溯。
🔒 关键保障:Lean4 kernel 是用 C++ 编写的极小可信计算基(TCB),仅约 5000 行代码,确保验证过程绝对可靠。
3.4 引理检索与知识增强
Aristotle 内置一个动态增长的形式化引理库,包含:
mathlib 中的 10 万+ 定理;
IMO 历年真题的形式化证明;
用户提交的自定义引理。
检索机制结合 语义向量(Sentence-BERT)与 结构匹配(图同构):
def retrieve_lemma(goal: LeanExpr) -> List[Lemma]:
# 将 goal 编码为变量依赖图
query_graph = build_dependency_graph(goal)
# 在引理库中进行 GNN 相似度搜索
candidates = gnn_retriever.search(query_graph, top_k=5)
# 过滤类型兼容的引理
return [lem for lem in candidates
if type_check(lem.conclusion, goal)]
在 Erdős #124 中,系统自动检索到 brown_criterion_for_power_sequences ,避免重复推导。
四、为何 Aristotle 能“发现疏漏”?
数学 AI 智能体 Aristotle 是一个一个用于自动形式化和形式验证的 API。根据 Harmonic 的介绍,其具备利用 IMO 金牌级引擎解决最复杂的推理问题的能力;可以自动将英语陈述和证明转换为经过验证的 Lean4 证明;能够无缝集成到项目中,自动利用用户的整个定理库和定义、依赖项以及 Mathlib。

- Aristotle 链接:
https://aristotle.harmonic.fun/

在 Erdos 问题 #124 的讨论中,tsaf 简要介绍了 Aristotle 针对该问题的证明方法,称其「出奇的简单」。
有关详细的证明过程,感兴趣的读者可以参考:
https://github.com/plby/lean-proofs/blob/main/ErdosProblems/Erdos124.md
通用 LLM 在面对模糊问题时,往往“脑补”缺失信息。而 Aristotle 的策略是:
宁可报错,也不编造。

- Erdos 问题 #124 链接:
https://www.erdosproblems.com/forum/thread/124
当解析 Erdős #124 原始描述时,系统检测到:
- 目标中出现 k ,但未在前提中声明;
- 序列构造无明确约束,导致目标不可证。
于是,Aristotle 主动提示用户:
Warning: Variable 'k' is free in conclusion but not bound in assumptions.
Suggestion: Add assumption 'k : ℕ' or specify sequence structure.
这一机制使其成为严格的数学审稿人,而非“讨好型”聊天机器人。
五、技术边界与未来方向
尽管Aristotle在初等数学领域表现出色,但仍面临挑战:
| 挑战 | 原因 | 解决思路 |
| 抽象代数(如范畴论) | 缺乏高层抽象的语义表示 | 集成 HoTT(同伦类型论)扩展 |
| 分析学(ε-δ 证明) | 连续性难以离散化 | 联动 SymPy 进行符号计算 |
| 开放猜想(如 Collatz) | 无明确证明路径 | 引入强化学习探索未知策略 |
Harmonic 团队正开发 Aristotle 2.0,计划支持:
- 多智能体协作:一个提出猜想,另一个尝试证伪;
- 自动形式化:将 arXiv 论文转为 Lean4 代码;
- 人类反馈强化学习(RLHF for proofs)
六、结语:AI 不是数学家,而是“形式化思维的放大器”
Aristotle 的真正突破,不在于它解出了 Erdős 问题,而在于它将数学推理从“艺术”变为“可工程化的流程”。在 AI 幻觉泛滥的时代,它选择了一条艰难但正确的路:让每一行输出都经得起形式化验证。
正如陶哲轩所言:“AI 不会取代数学家,但不会用 AI 的数学家会被取代。” 而 Aristotle,正是这场变革中最可靠的伙伴。
未来已来,只是尚未均匀分布。
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)