卷一:逻辑基础 (LF) · 19 章
从布尔计算与归纳证明起步,深入柯里-霍华德同构(证明即程序)、构造性逻辑、自反传递闭包以及 Imp 命令式语言语义与自动化策略。
形式化逻辑、编程语言理论与算法验证 · 现代 Lean 4 交互式社区重制版
《软件基础》(Software Foundations,由 Benjamin C. Pierce 等教授开创)是全球计算机科学与形式化方法领域最权威、最经典的教学著作之一。
随着定理证明助手与函数式编程语言 Lean 4 在数学界(如陶哲轩主持的形式化项目)以及工业界软件验证领域的迅速崛起,我们启动了 SF-lean4 社区重制计划:
| 卷别 | 篇章数 | 核心内容与理论高光 | 推荐先修 | 章节入口 |
|---|---|---|---|---|
| 卷一:逻辑基础 (LF) | 19 章 | 函数式编程、归纳证明、多态、柯里-霍华德同构、Imp 语义、自动化 | 基础函数式编程认知 | 开始阅读 LF → |
| 卷二:编程语言基础 (PLF) | 21 章 | 霍尔逻辑与 VCGen、小步操作语义、STLC 类型健全性、子类型化、引用、Tait 强规范化 | 卷一 (LF) 基础知识 | 开始阅读 PLF → |
| 卷三:算法验证 (VFA) | 17 章 | 排序算法全规约、多重集、二叉搜索树、Okasaki 红黑树、二进制 Trie、二项堆、图着色 | 卷一 (LF) 数据结构基础 | 开始阅读 VFA → |
如果你不仅想在网页上查阅,还想在本地 VS Code / Neovim 中亲手填补证明中的 sorry,只需以下三步:
推荐通过官方版本管理器 elan 安装:
# macOS / Linux
curl https://raw.githubusercontent.com/leanprover/elan/master/elan-init.sh -sSf | shgit clone https://github.com/Ghost-Silver/SF-lean4.git
cd SF-lean4使用 Lean 4 官方构建工具 Lake:
# 验证构建所有章节
lake build在 VS Code 中安装官方插件 Lean 4,打开任何 .lean 文件(例如 SFLean4/LF/Basics.lean),右侧信息窗即可实时呈现 Goal 证明状态!
sorry 占位,并附带针对性的测试用例或引理,做题时替换 sorry 并保持 lake build 零警告即代表证明通过!本重制项目代码与中文导读基于 MIT License 开源。原版《Software Foundations》系列教材版权属于 Benjamin C. Pierce, Arthur Azevedo de Amorim, Chris Casinghino, Marco Gaboardi, Michael Greenberg, Cătălin Hriţcu, Vilhelm Sjöberg, Brent Yorgey 等原作者。
感谢开源社区对形式化方法与 Lean 4 生态的无私贡献!