安装工具链
用 elan 管理 Lean 版本,VS Code / Cursor 安装 Lean 4 扩展,Lake 创建项目。
学习路径
用 elan 管理 Lean 版本,VS Code / Cursor 安装 Lean 4 扩展,Lake 创建项目。
先当一门函数式语言写:定义函数、运行表达式,熟悉 InfoView 的实时反馈。
配合 NNG4 练 rw、rfl、归纳法;本站证明练习笔记可逐步对照。
TPIL、FP in Lean、MiL、LoVe、Math 2001 等译文支持 LaTeX 与 Lean 高亮。
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 .
Code
#eval 用来直接运行表达式;def 定义函数;theorem 写可被 Lean 检查的证明。
def addTwo (n : Nat) : Nat :=
n + 2
#eval addTwo 40
结果:42
lean_playground/LeanPlayground/Basic.lean
把新的函数和定理先放这里。每次保存后,编辑器右侧 InfoView 会显示当前目标。
Proof notes
Natural Number Game 的重点不是「Lean 会算」,而是把每一步改写暴露出来。本站已将 learn_proof 练习笔记同步到教材库,可对照 NNG 逐步练习。
theorem two_add_two : 2 + 2 = 4 := by
rfl
标准 Lean 里 rfl 可以直接通过。游戏里会要求你用 rw 展开 succ,训练「等式改写」的手感。
证明 zero_add 时,归纳步骤里有:
hd : 0 + d = d
当目标里出现 0 + d,就可以:
rw [hd]
它只是把当前目标里的 0 + d 替换成 d。
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]:左边和右边都要把加法展开到能看见归纳假设的位置。
Chinese books
官方教程与 Lean-zh 社区译本的 Markdown 已接入本站,共 13 本书。支持 LaTeX 公式、Lean 代码高亮与全文搜索。
Learning path
交互式教程无法导出为 Markdown,请在教材库「交互式学习」区查看完整列表;NNG4 建议配合本站证明练习笔记使用。
Cloudflare Pages
这个站是纯静态网站,最适合 Cloudflare Pages。部署前会先同步全部教材 Markdown 到 books/data/。
npm run buildnpx wrangler whoaminpx wrangler loginnpm run deploy# 本地预览(含教材同步)
npm run preview
# 仅同步教材
npm run build
# Cloudflare Pages 部署
npm run deploy