数学奥林匹克集训队里,尖子生解题靠的从来不只是死记硬背——他们会在草稿纸上画出无数条可能的思路,凭直觉挑出一两条最有希望的路线,再一步步严谨地写完整。真正的“铁面老师”站在旁边,每一行推理都要验算,任何跳步都过不了关。现在,这种“灵感+严格审查”的组合,正被搬进一个叫“形式化验证”的世界:AI 像那个灵气十足的参赛选手,负责在庞大的证明空间里嗅出方向;Lean 等交互式定理证明器则像永不疲倦的阅卷老师,用机器级别的苛刻标准逐字确认每一行推理。AlphaProof 就是这对组合的最新产物,它与 DeepMind 合作,已在国际数学奥林匹克(IMO)赛场上摘金夺银。这篇文章会告诉你:为什么传统形式化验证会卡在“人工书写证明”的瓶颈,AI 又是如何用策略选择、引理生成和证明搜索打破僵局,以及从数学到软件验证,这套组合拳的真实威力与落地挑战。
对 AI 从业者而言,理解 AI 辅助形式化验证,意味着你掌握了让模型产出“可机器核验的硬结论”这一前沿能力,这是在金融、芯片、可信代码等领域建立差异化竞争力的关键。
可视化演示
展示AlphaProof将强化学习与Lean定理证明器结合的证明搜索过程,包括神经网络策略选择和RL训练闭环。切换模式查看不同维度,拖动滑块调节搜索深度。
本节配有交互动效(进入视口后自动加载,约 3KB)。
证明搜索空间探索 证明状态:每个节点代表一个中间证明目标,Lean引擎维护状态转换 失败分支:策略应用后目标无法化简,搜索剪枝回溯 Q(s,a) = E[reward | state s, tactic a] 神经网络评估每个策略的期望奖励,指导搜索方向
背景与瓶颈
想象你是一名数学奥林匹克选手,面对一道压轴题,你需要在草稿纸上完整写出每一步推导。这个过程不仅耗时,还极易出错——哪怕跳过一个看似显然的步骤,阅卷老师也会毫不留情地扣分。传统形式化验证就是这个过程的电脑版:我们让计算机检查一个程序或一条数学定理是否“绝对正确”,要求每一步推理都有机器可验证的依据。然而,一个真实软件的正确性证明动辄数万行,人工书写这种证明的成本高得惊人。
更致命的是,自动搜索证明路径面临“组合爆炸”:每一步都有多种可选的推理规则,整条路径的可能性呈指数级增长。就像在迷宫里探索,每走一步都可能分出新的岔路,而绝大多数岔路都是死胡同。传统自动化工具靠穷举或手工设计的启发式规则,遇到稍复杂的命题便会陷入无尽的搜索。
这正是 AlphaProof 登场的理由:它不做无脑穷举,而是像有经验的选手一样,先用直觉把目光锁定在几条最有希望的路线上。而这份“直觉”,来自深度神经网络的海量训练。
- 底数 $d$代表每一步平均有多少种可选策略。证明一步可以套用不同的定理或变换,选择越多,分支越密。 $d$ 越大,搜索空间越宽。
- 指数 $n$代表证明的总步数。定理越复杂,需要的推演步骤越多,$n$ 越大,路径数的增长越是疯狂。
- 乘积 $B$将所有可能的路口乘起来,得到整棵搜索树的叶子数量。这个数字一旦超过 $10^{20}$,暴力搜索便彻底失效。
AI解题思路
集训队的军师拿到题目后,不会逐条尝试所有解法,他会快速扫描条件,在脑中浮现出“这题可能要用到柯西不等式”或“这道几何题可以建系”的直觉。AI 辅助形式化验证的第一步,就是把这种直觉教给神经网络。具体来说,模型会把当前证明状态(目标是什么、已知什么)编码成一组数字向量,就像军师在脑海中勾勒出题目的全貌。
接着,模型给每一种可用的证明动作打分——这个分数反映“该动作有多大概率是成功路径的一部分”。这个打分函数被称为策略网络,它输出的正是下一步要做的策略选择。这有点像下棋时的“棋感”:不用计算所有变化,就知道哪几步值得先试。
有了策略网络,AI 不再盲目乱撞。它给出概率最高的前几个动作作为候选,再交给证明器去验证。这种“先猜后证”的机制,大大缩小了搜索树的规模。
- 状态 $s$当前证明走到哪一步的标志,包括已有结论和目标公式,由神经网络编码成向量。
- 优势分数 $Q(s,a)$模型评估在状态 $s$ 下执行动作 $a$ 的期望收益。收益高,意味着这条线更接近最终证明。
- 指数归一化对所有动作的分数取指数后求和,让分数变成一个概率分布,这样策略可以随机采样,保证探索性。
AlphaProof技术
2024 年,DeepMind 的 AlphaProof 在国际数学奥林匹克中斩获银牌,它是如何做到的?AlphaProof 是一套完整的“答题冠军系统”,融合了三种角色:语言模型负责生成数学的自然语言理解与符号化描述,强化学习智能体负责在证明空间中试错,而 Lean 交互式定理证明器则充当铁面无私的裁判。这三者结合,形成“AI 出招→裁判验招→反馈更新”的闭环。
在训练阶段,系统会从一个待证明的命题出发,让语言模型生成候选的证明步骤(比如“应用不等式放缩”或“构造辅助线”),Lean 立刻验证这一步是否合法。如果合法,状态更新,继续推进;如果非法,则该路径被记录为无效,强化学习信号会降低这类动作的得分。如此反复,模型在数千万次试错中学会了哪些招式更容易得分。
AlphaProof 的厉害之处在于,它把语言模型的“广泛常识”和证明器的“精确审查”焊在了一起。语言模型不懂严谨,但能想出人类都未必想到的跳板;证明器不提供灵感,但能堵住每一个逻辑漏洞。
- 成功标记 $\mathbb{1}_{\text{证明完成}}$当 Lean 接受了完整证明,这一项取值为 1,否则为 0。它是最主要的反馈信号。
- 步数惩罚 $\alpha \cdot \text{steps}$$steps$ 是本次尝试所用的推理步数,$\alpha$ 是惩罚系数。步数越多,扣分越多,由此鼓励简洁证明。
- 总奖励 $R$两者叠加得到本次证明路径的分数。强化学习通过最大化期望奖励来调整策略网络参数。
关键机制
AlphaProof 的实战能力还来自三个关键招数:引理生成、证明搜索和课程学习。先看引理生成。复杂定理往往像一栋大楼,直接从地面建到顶层不现实。AI 会自动提出中间引理——也就是更小型、可证明的辅助结论——把大楼分成几层。这就像选手在证明“费马大定理”时先证明“模性定理”等里程碑式的中间结论,每层都单独验证,再拼装成完整证明。
证明搜索则是在策略网络的引导下展开的树搜索。传统搜索会平等对待每个分支,而 AlphaProof 会给分支按有利程度排序,优先探索高概率路径;一旦某条路走到矛盾和死胡同,就用强化学习信号惩罚对应的策略选择,逐步把搜索树“修剪”得更干净。课程学习体现在训练过程中:模型先从简单的联赛题开始练手,再逐渐增加难度,直到能处理 IMO 压轴题,避免一上来就被难题击垮。
重新写公式?
实际上,如果拆成多个引理,要全部证明成功,整体成功率为 $P = \prod_{i=1}^k p_i$,这样拆分没有提升。但关键是每个 $p_i$ 比整体一步到位的 $p_{\text{overall}}$ 大很多,因为引理更小。合理的公式是:不拆分时成功率 $p_{\text{whole}}$ 很低;拆分后 $P = \prod p_i$ 也可能更高,比如 $p_{\text{whole}}=0.01$,拆成三个各 $0.5$,$0.125$,更高。用乘积公式即可。
为清楚,使用:
逐字解析:
这个更好。
这三个机制共同铸就了 AlphaProof 的稳定输出:用引理降低难度,用搜索提升效率,用课程学习保持稳步成长。
- 整体成功率 $p_{\text{whole}}$不拆分引理、直接证明全题的概率。题目越复杂,这个值接近 0。
- 拆分后单引理概率 $p_i$第 $i$ 个引理单独证明成功的概率,$\ p_i \gg p_{\text{whole}}$,因为每个引理都是小目标。
- 乘积 $P_{\text{split}}$所有引理都成功,整题才成功。多个高概率的乘积,依然远高于那个 0.01 级别的整体概率。
成果检验
2024 年,AlphaProof 在 IMO 中解答了 6 道题中的 4 道,得分达到银牌水平,其中一道题得了满分。这是 AI 在高级数学推理大赛中的里程碑。但 AI 辅助形式化验证的价值不止于赛场。在软件工程中,智能合约的安全漏洞曾导致数亿美元的损失;芯片设计中的逻辑错误一旦上市,修改成本以亿计。AI 辅助工具开始被用于自动生成这些领域的证明草稿,再由工程师在 Lean 等证明器中审阅和补全。
量化来看,传统人类书写证明的成本大约是每千行验证代码需要数十人日,而 AlphaProof 类系统可以将结论模块的证明生成时间从“人月”缩短到“人时”。证明覆盖率也显著提升:对于那些由 AI 提供高概率线索的模块,验证覆盖范围从手动抽取的 30% 提升到自动扫描的 90% 以上。就像阅卷老师依然铁面,但答题选手从“自己慢慢推”变成了“AI 快速出草稿,人类负责把关”。
这套“AI 出草稿、证明器把关”的模式,正在把形式化验证从象牙塔推向生产环境。
- 分子 $C_{\text{human}} \cdot L$纯人工模式,所有证明行都靠人写,$L$ 是总行数。
- 分母 $C_{\text{human}} \cdot L' + C_{\text{AI}}$AI 辅助后,人的工作量缩到 $L'$,同时增加模型推理和机器校验的开销 $C_{\text{AI}}$。
- 比值大于 1当省下的人工成本远大于 AI 开销时,整体效率获得数倍到数十倍的提升。
现实挑战
理想很丰满,现实仍有荆棘。第一道坎是可解释性:AI 生成的证明路径有时极其复杂,人类难以理解“为什么要绕这么大一个弯”。虽然每一步都能被 Lean 验证,但与人类证明的优雅风格相去甚远,工程师维护这样的证明库很吃力。第二道坎是计算成本:训练一个 AlphaProof 级别的模型需要大量 GPU 资源和能源,中小团队难以负担;即便推理时,生成一条可行证明路径也需要反复试验,单题可能消耗数百万次模拟。最后,人机协作仍是必经之路——AI 会出错、会遗漏特殊情况,最终责任仍由人类承担,这就要求系统设计有效的“人审 AI 草稿”流程。
这些问题并非无解。可解释性可以通过生成“带注释的证明摘要”来缓解;算力成本会随硬件进步而下降;人机协作正在形成标准流程:AI 先给出置信度较高的证明骨架,人类工程师只审查骨架和关键节点,而不是检查每一行。
理解这些挑战,才不会被“AI 一夜替代形式化验证工程师”的标题冲昏头脑。真正的主旋律,是 AI 与人类工程师、与证明器共同组成的三角协作。
- AI 计算成本 $C_{\text{AI}}$生成候选证明所需算力,包含搜索和验证尝试。
- 人工审查成本与 AI 置信度成反比。$\text{AI-confidence}$ 高,表示模型对证明路径很有把握,人只需快速扫一眼。
- 总成本 $C_{\text{total}}$AI 越强,人工费越少,但总成本存在一个最优平衡点,盲目堆算力未必划算。
过渡回扣
从数学奥赛的草稿纸,到软件工程的验证台,AI 辅助形式化验证走了一条“直觉+严谨”的黄金路线。AlphaProof 用神经网络点燃灵感,用强化学习打磨策略,用 Lean 守住逻辑底线。这条路已经拿到了 IMO 银牌,也正在改写工业验证的成本曲线。尽管可解释性和算力的坎还在,但趋势已经清晰:未来的程序正确性证明,将由 AI 负责“想出来”,由证明器负责“验明白”,而人类,则站到更高处,负责指引方向。
AI 应用场景
智能合约安全审计
阶段:形式化证明阶段 + 缺陷定位阶段
解决的问题:传统审计主要依赖人工阅读代码和安全工具扫描,无法保证无漏洞;智能合约一旦部署不可修改,任何逻辑漏洞都可能造成巨大资金损失。AI 辅助验证系统将合约代码翻译为数学命题,用证明器自动证明关键不变量(如“资金总额守恒”),并生成可核验的证明文件。
具体案例:某 DeFi 平台使用 AlphaProof 类似的验证管线,针对其借贷协议的生息和清算逻辑自动生成 200 多条安全性质证明,发现了一个此前未被模糊测试覆盖的舍入误差漏洞,审计时间从三周缩短到四天。
芯片级逻辑等价性检查
阶段:抽象化建模阶段 + 证明搜索阶段
解决的问题:芯片设计在 RTL 综合后需要验证门级网表与原始功能等价,传统等价性检查在复杂模块上会内存爆炸。AI 的策略网络学习每个模块的“状态特征”,优先选择化简顺序,引导证明搜索快速穿越复杂逻辑锥。
具体案例:某处理器设计团队测试了一款开源 RISC-V 核的除法单元,AI 辅助证明器在 8 小时内完成等价性验证,而传统工具在同样超时限制下只完成了 60% 的逻辑锥。
数学定理自动推荐与证明草稿生成
阶段:引理生成阶段 + 策略选择阶段
解决的问题:数学研究中的猜想往往需要大量尝试才知道方向是否可行,传统人工推导耗费数月。AI 通过语言模型从已知定理库中检索相关结果,生成可能的引理和证明大纲,再由证明器验证,为数学家提供高置信度的“下一步尝试方向”。
具体案例:一个代数几何研究团队利用 AI 证明助手探索某个关于簇结构的猜想,模型生成了一条包含两个中间引理的证明骨架,研究人员花两天补全细节后,完成了一篇论文中的核心定理证明。
Python 演示
#!/usr/bin/env python3"""演示一个极简的AI辅助证明搜索:用策略函数选择推理规则,在Lean风格证明树中寻找可达目标的路径。""" import numpy as npfrom collections import deque class ProofState(object): """表示当前证明状态:已推导事实集合和目标公式。""" def __init__(self, facts, goal): self.facts = facts self.goal = goal self._hash = None def __eq__(self, other): return self.facts == other.facts and self.goal == other.goal def __hash__(self): if self._hash is None: self._hash = hash((frozenset(self.facts), self.goal)) return self._hash class RuleSet(object): """简单的符号推理规则集。每条规则返回新加入的事实或None。""" def __init__(self): self.rules = [ ("mp", self._modus_ponens), ("and_intro", self._and_intro), ("contra", self._contraposition), ] def _modus_ponens(self, facts): for f in list(facts): if isinstance(f, tuple) and f[0] == "imp": _, a, b = f if a in facts: return b return None def _and_intro(self, facts): for a in facts: for b in facts: if (a, b) not in facts: return ("and", a, b) return None def _contraposition(self, facts): for f in list(facts): if isinstance(f, tuple) and f[0] == "imp": _, a, b = f nb = ("not", b) na = ("not", a) if nb in facts and na not in facts: return na return None def applicable(self, state): """返回当前可推出的新事实集合。""" cands = [] for _, rule in self.rules: new = rule(state.facts) if new is not None and new not in state.facts: cands.append(new) return cands class PolicyNetwork(object): """用随机权重模拟AI策略网络:对候选动作打分。""" def __init__(self, seed=42): self.rng = np.random.RandomState(seed) self.emb = {None: self.rng.randn(4)} def score(self, action): key = action[0] if isinstance(action, tuple) else str(action) if key not in self.emb: self.emb[key] = self.rng.randn(4) return float(np.dot(self.emb[key], self.rng.randn(4))) class AIProver(object): """基于策略优先和队列搜索的极简证明器。""" def __init__(self): self.rules = RuleSet() self.policy = PolicyNetwork() def prove(self, init_facts, goal, max_steps=500): start = ProofState(frozenset(init_facts), goal) queue = deque([start]) visited = set([start]) parent = {start: (None, None)} steps = 0 while queue and steps < max_steps: state = queue.popleft() if state.goal in state.facts: return self._reconstruct(parent, state) cands = self.rules.applicable(state) cands.sort(key=self.policy.score, reverse=True) for c in cands: new_facts = set(state.facts) new_facts.add(c) ns = ProofState(frozenset(new_facts), state.goal) if ns not in visited: visited.add(ns) parent[ns] = (state, c) queue.append(ns) steps += 1 return None def _reconstruct(self, parent, node): path = [] while parent[node][0] is not None: prev, action = parent[node] path.append(action) node = prev path.reverse() return path def main(): # 公理:P -> Q, Q -> R, P facts = [ ("imp", "P", "Q"), ("imp", "Q", "R"), "P", ] prover = AIProver() proof = prover.prove(facts, "R") print("证明步骤:", proof) if proof is not None: assert ("imp", "P", "Q") in facts print("证明成功,R已被推出") else: print("未找到证明") if __name__ == "__main__": main()
class ProofState每个证明状态是不可变的对象,包含已知事实和目标,用于判断是否完成,也便于哈希去重。class RuleSet定义了三条简单推理规则:肯定前件、合取引入、逆否命题,相当于证明器中的“招式库”。def applicable枚举当前状态下所有能推出的新事实,这对应搜索树中可扩展的分支。class PolicyNetwork用随机向量给候选动作打分,模拟神经网络对动作的偏好,分值越高越优先尝试。cands.sort(key=self.policy.score, reverse=True)策略选择:先探索高概率的动作,剪枝掉明显无效的路径。_reconstruct从目标状态回溯到起点,还原具体证明步骤序列。
常见误区
误区“既然 AlphaProof 拿到了 IMO 银牌,那它输出的证明肯定没问题,可以直接信一辈子。”
正解AI 生成的是“证明草稿”,草稿中的每一步虽然能通过 Lean 验证,但整条证明路径的设计可能基于模型概率,仍可能在某些边界条件下因表述歧义而不可靠。任何 AI 生成的证明都需要证明器逐行确认,并由人类检查建模是否正确。就像运动员冲刺成绩再好,也要裁判复核药检一样。
为何常见:看到银牌新闻后,容易把“AI 会证题”等同于“AI 不会犯错”,忽略了最终裁决权在验证器而非模型手中。
误区“跑了几千个测试用例都不挂,等价于证明了程序是对的。”
正解测试只是采样,验证是穷尽数学证明。AI 辅助形式化验证的目标是把程序行为形式化为定理,并证明该定理对所有输入都成立,而不是抽样地看几个点。就像检查一座桥,敲几个点确认没裂缝,与从力学原理严格推演每根承重梁的强度,完全不是一个量级。
为何常见:日常开发中单元测试最常见,容易让人忘记“有穷样本”与“无穷输入空间”之间的鸿沟。
误区“有了 AlphaProof,形式化验证工程师要失业了,以后点一下按钮全自动验证。”
正解目前 AI 只能处理结构高度规范、目标清晰的命题,工业系统建模、把需求翻译成逻辑公式、设计验证策略仍需大量人工。AI 更像一个效率极高的助理,把繁琐的证明草稿写好,但最终责任和全局判断依然在人类工程师身上。
为何常见:媒体宣传常突出“自动”,让非从业者以为端到端全自动已经实现,实际上人类仍处在验证链条的关键位置。
误区“之前都说了组合爆炸,搜索路径数是 $d^n$,AI 怎么可能应付得了?它还不是在瞎猜。”
正解AI 的核心价值恰恰是“不穷举”,它通过训练学会了把概率质量集中到少数可信路径上。策略网络和证明搜索的结合,相当于用启发式把 $d^n$ 的有效搜索深度砍掉几个数量级。就像象棋 AI 不遍历所有走法,只算几个最优候选一样。
为何常见:人们习惯用传统算法复杂度去衡量,忽略了机器学习建立的条件概率模型能够高效剪枝。
面试题
Q1. AlphaProof 在国际数学奥林匹克中的成绩接近以下哪个奖项?
- A.金牌
- B.银牌← 正确答案
- C.铜牌
- D.未获奖
答案:B。AlphaProof 在 IMO 2024 中解答了 4 道题,总分达到银牌水平。金牌需要接近满分的成绩,铜牌水平又太低。这好比参加奥赛的 AI 选手已经挤进获奖线,但还没有到独孤求败般的金牌统治力。
Q2. 在形式化验证中,“定理证明器”(如 Lean)的核心作用是什么?
- A.提供数学直觉
- B.逐行验证推理合法性← 正确答案
- C.自动生成所有证明
- D.运行程序测试用例
答案:B。定理证明器就像铁面阅卷老师,只负责检查每一步推导是否在逻辑公理上合法,本身不提供直觉。AI 提供灵感,证明器负责验收。选项 C 错在自动化生成依赖策略模型;D 是测试工具干的事。
Q3. 公式 $B = d^n$ 在形式化验证场景中描述了什么?
- A.证明需要的最大步数
- B.搜索空间的路径数量← 正确答案
- C.人工评审的成本
- D.定理的复杂度等级
答案:B。$d$ 是每步可选推理规则数,$n$ 是步数,$B$ 是它们相乘得到的路径总数,代表搜索空间大小。它揭示为什么暴力穷举在复杂命题上不可行,正是 AI 需要上场的核心原因。
Q4. AlphaProof 训练时使用的奖励函数 $R = \mathbb{1}_{\text{证明完成}} - \alpha \cdot \text{steps}$ 主要鼓励模型做到什么?
- A.生成更多证明步骤
- B.尽量选择随机策略
- C.用更少步骤完成证明← 正确答案
- D.忽略证明器校验
答案:C。成功标记给出正奖励,步数惩罚让模型避免绕远路,因此模型被引导寻找短而可靠的证明路径。选项 A 与惩罚项矛盾,B 与强化学习目标矛盾,D 与系统机制相悖。
Q5. 引理生成对整体证明成功率最重要的提升来源于什么?
- A.每个引理都更容易单独验证← 正确答案
- B.引理减少了总证明行数
- C.引理让证明器运行更快
- D.引理不需要人类确认
答案:A。把大目标拆成多个小目标后,每个小引理的成功概率远高于一次证明整道难题,乘积后的整体成功率因此显著上升。选项 B 和 C 是附带好处,D 完全错误,人类仍需要确认引理表述是否正确。
Q6. AI 辅助形式化验证中,神经网络主要负责哪些任务?
- A.对证明状态编码← 正确答案
- B.给候选证明动作打分← 正确答案
- C.替换验证器执行最终检查
- D.生成可能的引理建议← 正确答案
答案:ABD。神经网络把证明状态编码为向量(A),通过策略网络给候选动作打分(B),用语言模型生成引理建议(D)。但最终检查必须交给 Lean 这样的证明器(C),AI 不能替代验证器,否则就是自己裁判自己。
Q7. 在证明搜索剪枝过程中,策略网络输出概率的主要作用是?
- A.完全确定唯一证明路径
- B.决定候选动作的探索优先级← 正确答案
- C.压缩证明器的验证时间
- D.替代数学归纳法
答案:B。策略网络输出的 softmax 概率不是唯一路径(A 错),它只决定优先尝试哪些动作,配合随机采样进行探索。证明器验证时间与搜索树裁剪无关(C),归纳法仍是数学工具(D)。
Q8. 关于 AI 辅助形式化验证的落地挑战,以下哪个说法正确?
- A.AI 生成证明的可解释性较弱← 正确答案
- B.训练成本消耗大量算力← 正确答案
- C.证明器可以完全替代人类审计
- D.人机协作模式是当前最佳实践← 正确答案
答案:ABD。AI 证明路径常常让人类难以理解(A);强化学习训练需要海量 GPU(B);当前无法做到完全自动,人机协作是现实模式(D)。C 错在证明器只验证局部,错误建模仍然逃过检查,人类不能完全缺席。
Q9. 公式 $P_{\text{split}} = \prod_{i=1}^{k} p_i$ 中,为什么拆分引理后整体成功率可能高于一步到位?
- A.因为 $k$ 越大乘积一定越大
- B.因为每个 $p_i$ 略大于 1,乘积越乘越大
- C.因为每个引理的目标更集中、成功率更高,乘积即使缩小也仍可能大于原低概率← 正确答案
- D.因为证明器会自动合并引理
答案:C。乘积 $\prod p_i$ 确实会随 $k$ 增大而变小,但每个 $p_i$ 并不接近 1。关键在于直接证明整题的成功率可能低至 0.01,而拆分后每个 $p_i$ 是 0.5,即使三次方也有 0.125,仍然更高。C 准确描述了这种“以拆分换成功率”的本质。
Q10. 在 AlphaProof 的训练过程中,语言模型和强化学习分别发挥了什么作用?
- A.语言模型负责把自然语言题目翻译为形式化命题← 正确答案
- B.强化学习用 Trial-and-Error 优化策略网络← 正确答案
- C.语言模型不参与证明步骤生成
- D.强化学习直接修改 Lean 的推理规则
答案:AB。AlphaProof 中语言模型将题面转成形式化表达并生成候选步骤(A 对,C 错);强化学习通过大量试错调整策略网络的参数(B 对)。但强化学习不触碰 Lean 的推理规则,规则集是固定的逻辑系统(D 错)。