\documentclass[a4paper]{article}
\usepackage[fontset=fandol]{ctex}
\usepackage{amsmath, amssymb}
\usepackage{graphicx}
\usepackage[margin=2.5cm]{geometry}
\usepackage[most]{tcolorbox}
\usepackage{etoolbox}
\usepackage{listings}
\usepackage{hyperref}
\usepackage{booktabs}
\usepackage{subcaption}
\usepackage{float}

\newtcolorbox{knowledgebox}[1]{enhanced, colback=blue!5!white, colframe=blue!75!black, colbacktitle=blue!75!black, coltitle=white, fonttitle=\bfseries, title=#1, attach boxed title to top left={yshift=-2mm, xshift=2mm}, boxrule=1pt, sharp corners}
\newtcolorbox{importantbox}[1]{enhanced, colback=yellow!10!white, colframe=yellow!80!black, colbacktitle=yellow!80!black, coltitle=black, fonttitle=\bfseries, title=#1, sharp corners}
\newtcolorbox{warningbox}[1]{enhanced, colback=red!5!white, colframe=red!75!black, colbacktitle=red!75!black, coltitle=white, fonttitle=\bfseries, title=#1, sharp corners}

\lstset{language=Python, basicstyle=\ttfamily\small, keywordstyle=\color{blue}, stringstyle=\color{red!60!black}, commentstyle=\color{green!60!black}, breaklines=true, frame=single, numbers=left, numberstyle=\tiny\color{gray}, captionpos=b, extendedchars=false}

\newcommand{\notetitle}{[LLM Agents SP25] Informal+Formal Math Reasoning — Sean Welleck}
\newcommand{\noteauthors}{基于公开课程资料整理}
\newcommand{\notedate}{2025}
\newcommand{\videochannel}{Berkeley RDI}
\newcommand{\videopublishdate}{2025}
\newcommand{\videoduration}{约60分钟}
\newcommand{\videourl}{}
\newcommand{\videocoverpath}{cover.jpg}
\newcommand{\repourl}{https://github.com/hqhq1025/ai-course-notes}


% Footer with repo info
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyfoot[C]{\thepage}
\fancyfoot[R]{\footnotesize\color{gray}\href{\repourl}{AI Course Notes}}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}

\begin{document}
\begin{titlepage}
\centering
{\Large 课程笔记\par}\vspace{1.2cm}
{\huge\bfseries \notetitle\par}\vspace{0.8cm}
{\large \noteauthors\par}\vspace{0.3cm}
{\large \notedate\par}\vspace{1.2cm}
\ifdefempty{\videocoverpath}{}{\includegraphics[width=0.82\textwidth,height=0.45\textheight,keepaspectratio]{\videocoverpath}\par}
\vfill
\begin{tcolorbox}[width=0.9\textwidth, colback=black!2!white, colframe=black!60, sharp corners]
\textbf{视频作者/频道}：\videochannel\par
\textbf{发布日期}：\videopublishdate\par
\textbf{视频时长}：\videoduration\par
\ifdefempty{\videourl}{}{\textbf{视频链接}：\href{\videourl}{\nolinkurl{\videourl}}\par}\par
\textbf{项目主页}：\href{\repourl}{\nolinkurl{\repourl}}\par
\end{tcolorbox}
\end{titlepage}
\tableofcontents
\newpage

\section{引言：非形式化与形式化数学推理的桥梁}

本讲由 CMU 的 Sean Welleck 主讲，探讨如何利用 AI 弥合\textbf{非形式化数学}（informal math）与\textbf{形式化数学}（formal math）之间的鸿沟，结合两者各自的优势。

\begin{importantbox}{两种数学表示的对比}
\textbf{非形式化数学}：以自然语言（文本、LaTeX、图像等）表示，极为灵活，但无法保证正确性。LLM 在中间步骤中可能犯微妙错误。\\
\textbf{形式化数学}：以编程语言（Lean、Coq、Isabelle）编写，代码可编译 = 证明正确。提供绝对的正确性保证，但编写门槛高、过程繁琐。
\end{importantbox}

\subsection{形式化证明助手（Lean）简介}

Lean 是一种交互式证明助手（Interactive Theorem Prover），核心概念：
\begin{itemize}
    \item \textbf{定理声明}：用形式化语言表述需要证明的命题
    \item \textbf{证明状态}（Proof State）：当前上下文（假设）和待证目标
    \item \textbf{策略}（Tactic）：每一步应用的推理规则，改变证明状态
    \item \textbf{QED}：所有目标消解后证明完成
\end{itemize}

\begin{knowledgebox}{Mathlib：形式化数学的基础设施}
Mathlib 是 Lean 的数学库项目，众多贡献者共同构建数学基础定义和定理。它使形式化证明可以复用已有结果，数学家 Terence Tao 已成功将其论文定理在 Lean 中形式化。
\end{knowledgebox}

\subsection{形式化数学对 AI 的重要性}

\begin{enumerate}
    \item \textbf{输出可验证}：防止不正确的数学推理
    \item \textbf{完美奖励信号}：可用于 RL 训练——证明编译通过即正确
    \item \textbf{推理测试平台}：从简单到任意困难的推理问题
\end{enumerate}

形式化定理证明近年进展迅速：从 GPT-f（2020）到 DeepSeek-Prover，mini-F2F 基准测试成绩持续飙升。

\section{第一部分：将非形式化思考融入形式化证明——LeanSTaR}

\subsection{动机：超越纯形式化训练}

传统方法仅在形式化证明数据上训练模型（状态 $\to$ 下一步策略），但这可能不足以学到产生代码所需的\textbf{思维过程}。

\begin{importantbox}{LeanSTaR 的核心思想}
训练模型在每步形式化证明之前，先生成自由形式的\textbf{非形式化思考}（informal thought）：
\begin{itemize}
    \item 模型可以分解问题、规划下一步、执行非形式化计算
    \item 思考帮助多样化搜索空间
    \item 类似 Chain-of-Thought，增强模型的表达能力
\end{itemize}
\end{importantbox}

\subsection{LeanSTaR 算法}

两阶段训练：

\textbf{阶段一：初始化}
\begin{enumerate}
    \item 对已有证明（如 Mathlib），给定状态和下一步策略，让 LLM 回顾性地生成描述该转换的思考
    \item 收集数十万条（状态, 思考, 策略）样本
    \item 训练初始模型学会在策略前生成思考
\end{enumerate}

\textbf{阶段二：强化学习（Expert Iteration）}
\begin{enumerate}
    \item 模型并行生成多个完整证明
    \item Lean 检验证明是否正确
    \item 收集成功的轨迹加入训练集
    \item 在扩展数据集上训练新模型
    \item 迭代此过程
\end{enumerate}

\begin{warningbox}{树搜索在加入思考后的困难}
传统的 Best-First Search 在加入非形式化思考后效果不佳——难以对思考进行准确评分。LeanSTaR 改用简单的\textbf{并行采样}策略：多条路径并行生成，遇错重试，成功即停。
\end{warningbox}

\subsection{实验结果}

\begin{itemize}
    \item LeanSTaR 在 mini-F2F 基准上将模型从低于 GPT-4 Agent 基线提升至超越它
    \item \textbf{关键发现}：带思考的模型从推理预算扩展（scaling inference budget）中获益更大——思考有效多样化了搜索空间
    \item 模型在非形式化思考中执行了形式化代码中不存在的推理步骤
\end{itemize}

此后，非形式化思考 + RL 训练已被定理证明社区广泛采用（DeepSeek-Prover 等），也是 O1、DeepSeek-R1 等推理模型的核心范式。

\subsection{本章小结}

LeanSTaR 的核心洞察：仅在形式化代码上训练可能不足以学到生成代码所需的思维过程。通过 RL 学习生成非形式化思考，可以显著提升证明能力。

\section{第二部分：非形式化证明——草稿-草图-证明}

\subsection{动机：结合高级推理与低级证明}

\begin{knowledgebox}{Sledgehammer：自动化证明工具}
Isabelle 中的 Sledgehammer 是一种"锤子"（Hammer）工具，它将问题发送给外部自动定理证明器（一阶逻辑、高阶逻辑、SMT 求解器），非常擅长填补证明中的小缺口，但无法处理需要创造性的高级证明策略。
\end{knowledgebox}

\subsection{Draft, Sketch, Prove（DSP）方法}

\begin{importantbox}{三步证明流程}
\begin{enumerate}
    \item \textbf{Draft}（草稿）：LLM 生成非形式化证明（自然语言）
    \item \textbf{Sketch}（草图）：LLM 将非形式化证明翻译为形式化草图，留下待填充的缺口
    \item \textbf{Prove}（证明）：低级证明器（如 Sledgehammer）填补所有缺口
\end{enumerate}
若所有缺口被填补，则获得完整的形式化证明。
\end{importantbox}

搜索策略不同于传统的树搜索：生成多个非形式化草稿和/或多个形式化草图翻译，尝试填补缺口，任一成功即得到证明。

\subsection{实验结果}

在 mini-F2F 上（CodeX/Minerva 时代）：
\begin{itemize}
    \item 随着采样次数增加，性能显著提升
    \item 采样足够多时，LLM 生成的非形式化证明甚至超过了使用人类手写证明的表现
\end{itemize}

\section{第三部分：为 Lean 构建 Hammer——LeanHammer}

\subsection{Hammer 管道架构}

\begin{importantbox}{LeanHammer 组件}
\begin{enumerate}
    \item \textbf{前提选择}（Premise Selection）：神经检索模型嵌入目标和候选前提，用余弦相似度选择最相关的定理/定义/引理
    \item \textbf{翻译层}（lean-auto）：将 Lean 的依赖类型论翻译为自动证明器的逻辑
    \item \textbf{自动定理证明器}（Zipperposition 等）
    \item \textbf{证明重构}（Duper）：将自动证明器的输出翻译回 Lean 证明
    \item \textbf{树搜索}（AESOP）：组织整个搜索过程
\end{enumerate}
\end{importantbox}

用户只需在证明中调用一个 \texttt{hammer} 命令，系统自动完成前提选择、翻译、自动证明和重构。

\subsection{实验结果}

\begin{itemize}
    \item LeanHammer 的神经前提选择器（仅 1 亿参数）显著优于先前工作
    \item 与符号前提选择器（Moogle）互补，取并集后性能进一步提升
    \item 性能正在接近使用人类证明中的真实前提时的理论上限
\end{itemize}

\subsection{本章小结}

DSP 和 LeanHammer 代表了两种互补的方法：前者通过高级草图引导证明结构，后者提供强大的低级自动化填补工具。

\section{第四部分：迈向研究级数学的 AI 辅助}

\subsection{研究级形式化的特殊挑战}

研究级数学的形式化（如 Terence Tao 的 PFR 项目）涉及：
\begin{enumerate}
    \item 创建\textbf{蓝图}（Blueprint）：将证明分解为依赖图
    \item 编写大量\textbf{新定义}和\textbf{辅助引理}
    \item 组装最终定理和证明
\end{enumerate}

\begin{warningbox}{当前基准测试的局限}
主流基准（如 mini-F2F）基于数学竞赛题，具有自包含、依赖标准结果的特点。而真实研究项目中的定理\textbf{依赖于项目特有的新定义和新引理}，这一差距导致在竞赛题上表现优秀的模型在实际项目中可能严重失败。
\end{warningbox}

\subsection{MiniCTX 基准测试}

\begin{importantbox}{MiniCTX：上下文依赖的定理证明基准}
\begin{itemize}
    \item 从真实 Lean 项目（如 Mathlib、PFR）中提取测试定理
    \item 按日期截止选取，可持续更新以领先于模型训练截止日期
    \item 区分文件内依赖和跨文件依赖
    \item 实验表明：在竞赛题上，上下文几乎不影响性能；在真实项目上，\textbf{缺少上下文导致性能断崖式下降}
\end{itemize}
\end{importantbox}

\subsection{实用工具：LLMLean}

LLMLean 是一个 Lean 插件，可连接本地模型（通过 Ollama/LM Studio）或 API 模型（OpenAI、Claude、Gemini 等），在 VS Code 中直接提供经 Lean 验证的证明建议。

\section{总结与延伸}

\subsection{三条桥接路径}

\begin{enumerate}
    \item \textbf{非形式化思考 + 形式化证明}（LeanSTaR）：训练模型在证明步骤前进行非形式化推理
    \item \textbf{非形式化证明 + 形式化填补}（DSP + LeanHammer）：先生成高级草图，再用自动化工具填补细节
    \item \textbf{研究级辅助}（MiniCTX + LLMLean）：面向真实数学项目的上下文感知证明和实用工具
\end{enumerate}

\subsection{拓展阅读}
\begin{itemize}
    \item LeanSTaR（ICLR 2025）：RL 训练模型生成非形式化思考
    \item Draft, Sketch, Prove（ICLR 2023）：草图-填补证明方法
    \item MiniCTX（ICLR 2025 Oral）：上下文依赖定理证明基准
    \item LLMLean：\url{https://github.com/cmu-l3/llmlean}
    \item DeepSeek-Prover：融合非形式化思考的 SOTA 证明器
\end{itemize}

\end{document}
