加载失败
这篇帖子讨论的不是传统数学里的序数理论,而是 lambda calculus(λ演算,一种用函数抽象和应用表示计算的形式系统)中的各种 numeral systems(自然数表示法)。正文用一种不太标准的图形化记法展示这些表示法,并按 bound variable(绑定变量)的使用次数分成 linear、affine 和 non-linear 三类。评论里提到的 Mackie 论文是这类 linear numerals 的入门参考,而图形风格让人联想到 interaction nets(与 λ 演算密切相关的图形化计算模型)。争议主要来自作者没有完整解释自己的 metalanguage(元语言,描述语言语法的符号体系)和 β-reduction(β归约,λ演算中的核心化简规则)记法,导致很多读者需要自行补课。
多位评论者指出,这篇文章真正讨论的是 lambda calculus 里的 numerals/自然数表示法,而不是数学上的 transfinite ordinals(超限序数)。作者把这些表示法按变量使用规则分成 linear、affine、non-linear 三类,这才是内容核心。也有人直接指出标题应该是 numerals,说明题目和正文之间存在明显错位。
争议最大的地方是作者使用了一套非常不标准的记号,而且正文没有把语法完整讲清。有人一开始连 x => a、f <- a 这类写法都看不懂,后来才被解释成 λx.a 和函数应用 f a,但方括号、花括号以及大写 T 的含义仍然不透明。另一个评论补充说,作者只解释了语言语法的一部分,却默认读者已经熟悉一个相当冷门的 metalanguage;而 k[...] 这种写法是在表达 β-reduction 可以发生在任意上下文中。
虽然理解门槛高,但图形化呈现本身得到了一些正面评价。有人觉得这些线图很漂亮,甚至直接称其为艺术;也有人把这种风格联想到 interaction nets,这种与 lambda calculus 紧密相关的图形化计算模型。整体来看,这篇内容对熟悉形式化计算的人可能很有趣,但对普通读者更像一组难懂却好看的图。
lambda calculus(λ演算): 用函数抽象和应用描述计算的形式系统,是这篇讨论的基础。
numeral system(自然数表示法): 在 lambda calculus 中表示自然数的一套编码方法,例如不同风格的 numerals。
linear / affine / non-linear: 按绑定变量可用次数划分的系统:linear 恰好一次,affine 最多一次,non-linear 可多次使用。
β-reduction(β归约): lambda calculus 的核心化简规则,把 (λx.t) s 还原为 t[x:=s]。
interaction nets(交互网): 一种图形化计算模型,用节点和连线表示重写/归约过程。
metalanguage(元语言): 用来描述另一种语言的语法和规则的符号体系。