《数学原理》读起来一点也不古老,反而现代得惊人

查看原文 HN 讨论

文章摘要

这是 Oleg Kiselyov(函数式编程与元编程领域的知名研究者,okmij.org 站长)在读怀特海与罗素 1910 年出版的《数学原理》(Principia Mathematica,简称 PM)第一章时做的一组笔记。他的核心感受是:这本 116 年前的书读起来不像数学史文献,而像一本现代的程序设计语言教材。文章一开头就点明了这个反差——PM 以极大的洞察力讨论了外延性/内涵性、引用透明性、类型这些今天仍然是编程语言研究前沿的话题,可能是历史上第一次在现代意义上使用「定义域(domain)」「α 重命名」和「类型(type)」这些词;它的「不完整符号」(只有放在上下文中才有意义的符号)预示了 continuation 和控制算子;它还敏锐地指出自由变量与约束变量、代换、抽象与应用这一整套概念其实都来自语言学。作者说,他忍不住觉得 PM 里其实已经包含了 lambda 演算。

作者也先给读者打了预防针:PM 全书极其庞大,以「花一千页证明 1+1=2」闻名。但按前言的说法,证明之所以写得如此不厌其烦,正是为了杜绝任何未言明的前提偷偷溜进推理。PM 的目标是给出一组极其基本的概念,并证明仅凭这些概念就足以支撑整个数学。作者认为,如果 PM 是今天出版的,所有证明都会被扔进附录(或者交给定理证明器),真正重要的是那套基本概念和整体设定,而这些几乎都写在前言和第一章里。

具体的发现包括:

文章当前版本为 1.3(2026 年 8 月),并给出了密歇根大学历史数学收藏的 PM 全书扫描件链接,以及斯坦福哲学百科关于 PM 记号法的条目。

HN 评论精华

276 分、155 条评论。讨论主要围绕「这书到底怎么读」「PM 在数学史上的地位」和「与现代类型论的关系」三条线展开,气氛相当友善,几乎没有争吵。