新数学语言倡议

Posted on October 9, 2026

写代码的人都知道,变量名要自解释:customerLifetimeValue、retentionRate、discountFactor。可一写公式,一切退化回 L、r、d。三页之后,L 从损失变成拉格朗日量,r 从利率变成半径,d 从折扣因子变成微分算子。读者只能靠上下文和自己的信仰活着。

这不是数学高深,这是流传了几百年的陋习。

一、病根:省略乘号

单字母公式的根源,既不是前人精密,也不是排版逼仄,而是一条几乎没人注意的语法铁律:

并列即相乘。 ab 就是 a × b。

这条规则看着无害,却从语法底层摁死了多字母变量:你想写 rate,公式会自动帮你解析成 r × a × t × e。speed 就是 s × p × e × e × d。

所以单字母根本不是审美选择,是被语法逼出来的唯一解。多字母变量在数学里事实上不可用——除非动用 \text{}、花体、加粗、下标这些残废补丁,代价是排版丑、嵌套崩、平方像在给单词乘方。

一句话:数学符号系统为了手写和排版的极简,把本该由编译器干的”分词”,外包给了读者的工作记忆。写起来爽,读起来死。

二、共犯:英语霸权

如果说省略乘号是主犯,英语就是从犯。

loss → L、rate → r、probability → p、expectation → E。母语者看到 L 自动联想到 loss;非母语者看到 L,脑子里先蹦出 length、Lagrangian、Laplacian、likelihood、learning rate,全靠上下文硬猜。这不是公平的符号,这是给英语母语者的语感特权。

更荒唐的是:论文正文用的是中文,公式里的变量却必须用英文首字母。正文翻译了,公式凭什么不翻译?把一个拉丁语系的缩写习惯,伪装成全人类的通用标准——这是语言上的双重标准。

三、倡议:四条规则

于是,我提一份《新数学语言倡议》,共四条:

规则一:凡是给人类读的公式,优先使用与正文语言一致的全称变量名,并显式写出乘号。

比如卡尔曼滤波的一步预测:

预测状态向量 = 状态转移矩阵 × 上一时刻状态估计向量 + 控制作用矩阵 × 控制输入向量 + 过程噪声向量

读者不需要背符号表,不用猜 F 是不是状态转移矩阵。

规则二:演算阶段,允许引入临时替换表,把全称变量映射为局部短符号,作用域仅限于该推导段落。

令 P = 预测状态向量,T = 状态转移矩阵,X = 上一时刻状态估计向量,C = 控制作用矩阵,U = 控制输入向量,N = 过程噪声向量。 则 P = T × X + C × U + N

规则三:推导结束后,必须把结果翻译回全称变量。

上一时刻状态估计向量 = 状态转移矩阵⁻¹ × (预测状态向量 − 控制作用矩阵 × 控制输入向量 − 过程噪声向量)

规则四:禁止全局裸单字母,禁止跨节重载。

单字母可以当局部变量,不能当公共 API。

四、回答四个”不可能”

有人会说这四条太天真,会引爆四个大坑。逐一拆。

排版坑:汉字变量在 LaTeX 里排版灾难。——那是工具的缺陷,不是语言的错。工具该适应人,不该让人削足适履。Typst 和现代排版引擎完全做得到。

手写坑:草稿纸上写全称太慢。——草稿纸是法外之地,你想写啥写啥,没人拿草稿的潦草去要求正式文本。

通用语言坑:数学是宇宙语言,符号要通用。——你正文都翻译了,凭什么公式不翻译?F=ma 里的 F、m、a,本身就是拉丁语系特权。

演算坑:代数变形时全称变量会让工作记忆爆炸。——这正是规则二存在的理由。演算阶段我们关注的是运算规则,不是物理含义,临时替换成短符号,零损失。

五、语义层与语法层

这四条规则背后,是一次根本的分工:

描述阶段关注物理意义,演算阶段关注代数规则。

描述时,变量名必须携带语义;演算时,你做的全是移项、代入、求逆、分配律,这些操作完全不关心 P 是”预测状态向量”还是”价格”。物理含义早被定义阶段锁定了,演算阶段不必反复带它上路。

这跟编译器一模一样:前端处理类型和语义,中间表示可以退化到 %1、%2,后端做纯语法变换。没人会在 LLVM IR 里写 customerLifetimeValue。

传统数学写作恰恰跳过了前端,直接把中间表示当源码交付。L = Σ lᵢ + λ‖θ‖² 这种写法,把定义和演算糊在同一行,读者既要猜语义,又要跟语法。

正确的规范应该是:

源码层(描述)  :全称变量 + 显式乘号
      ↓ 建立语义
中间表示(演算):临时替换为局部短符号
      ↓ 语法操作
目标代码(结论):翻译回全称变量

每一层,用每一层最适合的符号。

六、这不是新东西,只是没被写成规范

数学里其实早就在干这件事——”令 z = x + iy”本质上就是一次临时替换,变量代换、凑微分,无一不是。只是它从没被立成规矩,于是大多数论文从头到尾裸奔单字母,把中间产物当成最终产品交付。

这四条规则的代价只有一个:作者多写几行替换表。可传统论文也得写符号表,而且传统符号表是”L = 损失”,读者得背;新规则的替换表是”P = 预测状态向量”,现查现用。复杂度没有增加,只是从读者身上转移到了作者身上。这笔账,怎么算都是赚的。

结语

计算机科学花了几十年才明白:语义层用全称,语法层用简写,两层之间有显式映射。数学界还停留在 L 表示一切的年代。

倡议书就一句话:

给人类读的公式,请用人类的语言写;给机器算的公式,请让机器去压缩。

Comments