2026-08-28·by Sijie Wang#idea#math

lean4

Lean 4——计算、类型与证明焊接在一起之处

上级:logic

Lean 4 是一个依赖类型的函数式语言,同时也是一个交互式定理证明器——这整条分支汇聚而成的实作综合体。

基础

归纳构造演算(Calculus of Inductive Constructions,CIC):依赖类型论 + 归纳类型(定义 、列表、树,以及命题本身) + 一个宇宙层级Prop 表示证明无关的命题;Type u 表示数据)。这套基础足够丰富,一个类型可以就是任何一条数学陈述。

证明即项;检验即类型检验

柯里–霍华德对应可知,P 的一个证明就是一个类型为 P 的项。一个小小的可信内核对该项做类型检验——这就是德布鲁因判据(de Bruijn criterion):你只需信任一个微小的检验器,而不必信任整个系统。在实践中,证明检验就是类型检验

战术(tactic)——人与机器之间的桥梁

你很少手写证明项。你运行的是战术introapplysimpringomega……),它们在幕后构造出证明项。Lean 4 是自举的:它的战术/元编程语言本身就是 Lean,用户在证明器内部扩展证明器。这在人类式的推理与底层经归约的项之间架起了一座桥。

mathlib——大规模的形式化数学

一个由社区构建的庞大库——分析、代数、拓扑、数论——全部经过机器检验。它是"数学可以被完全形式化"这一论断的经验证明,也是可验证研究的基底(例如检验一个高难度证明是否存在漏洞)。

综合

Lean 既是一门真实、快速的编程语言,又是一个证明器,因此已验证的程序与其证明活在同一个对象里——程序=证明,字面意义上的。三条线索在此汇合:

你写下的证明由机器通过类型检验来验证,而且你还可以对它们做计算

about this entry

One of sijie's wiki entries. The AI on this site is grounded in the same corpus and answers in sijie's voice, with citations back to entries like this one — answering costs sijie money, so it waits behind a code: enter an access code →