本机已验证 · Lean 4.30.0 · Lake 5.0.0 13 本中文教材 · 全文搜索 Cloudflare Pages 静态部署

Functional programming · theorem proving · formal verification

Lean 4 学习工作台 把安装、代码、证明与中文教材整理成可持续更新的站点

集中放置本机环境状态、可运行示例、证明笔记、13 本 Markdown 译文与全文搜索。每学一个新定理,就把推导过程补进这个站里。

13 中文教材
2900+ 可搜索篇章
NNG4 配套练习笔记

学习路径

从环境到形式化证明

01

安装工具链

用 elan 管理 Lean 版本,VS Code / Cursor 安装 Lean 4 扩展,Lake 创建项目。

02

写代码与 #eval

先当一门函数式语言写:定义函数、运行表达式,熟悉 InfoView 的实时反馈。

03

证明与 tactic

配合 NNG4 练 rw、rfl、归纳法;本站证明练习笔记可逐步对照。

04

读中文教材

TPIL、FP in Lean、MiL、LoVe、Math 2001 等译文支持 LaTeX 与 Lean 高亮。

I

Setup

安装和项目结构

官网推荐 VS Code / Cursor + Lean 4 扩展。命令行由 elan 管理 Lean 版本,lake 管理项目。

安装工具链

macOS 上安装 Lean 版本管理器 elan,然后加载环境变量。

curl https://elan.lean-lang.org/elan-init.sh -sSf | sh
source ~/.elan/env

安装编辑器扩展

Lean 的交互体验主要靠 InfoView:目标、假设、错误都会实时显示。

code --install-extension leanprover.lean4

创建项目

所有正式 Lean 代码都建议放进 Lake 项目。

lake new MyLeanProject
cd MyLeanProject
lake build
code .
II

Code

先把 Lean 当成一门语言写

#eval 用来直接运行表达式;def 定义函数;theorem 写可被 Lean 检查的证明。

A

运行一个函数

def addTwo (n : Nat) : Nat :=
  n + 2

#eval addTwo 40

结果:42

B

当前练习文件

lean_playground/LeanPlayground/Basic.lean

把新的函数和定理先放这里。每次保存后,编辑器右侧 InfoView 会显示当前目标。

III

Proof notes

证明笔记:从计算到归纳

Natural Number Game 的重点不是「Lean 会算」,而是把每一步改写暴露出来。本站已将 learn_proof 练习笔记同步到教材库,可对照 NNG 逐步练习。

2 + 2 = 4
theorem two_add_two : 2 + 2 = 4 := by
  rfl

标准 Lean 里 rfl 可以直接通过。游戏里会要求你用 rw 展开 succ,训练「等式改写」的手感。

归纳假设 hd

证明 zero_add 时,归纳步骤里有:

hd : 0 + d = d

当目标里出现 0 + d,就可以:

rw [hd]

它只是把当前目标里的 0 + d 替换成 d

succ_add 关键点
theorem succ_add (a b : ℕ) : succ a + b = succ (a + b) := by
  induction b with d hd
  rw [add_zero]
  rfl
  rw [add_succ]
  rw [add_succ]
  rw [hd]
  rfl

卡点通常是少了第二个 rw [add_succ]:左边和右边都要把加法展开到能看见归纳假设的位置。

VI

Cloudflare Pages

部署到 Cloudflare

这个站是纯静态网站,最适合 Cloudflare Pages。部署前会先同步全部教材 Markdown 到 books/data/

  1. 同步教材:npm run build
  2. 确认已登录:npx wrangler whoami
  3. 如果没登录:npx wrangler login
  4. 构建并部署:npm run deploy
# 本地预览(含教材同步)
npm run preview

# 仅同步教材
npm run build

# Cloudflare Pages 部署
npm run deploy