Remark. 意义即使用

这里与晚期 Ludwig Wittgenstein 对语言使用的关注作有限的类比. Philosophische Untersuchungen(《哲学研究》)§43(这里采用意译)说: 对“意义”一词的一大类用法(尽管未能穷尽全部用法),可以这样解释: 词的意义就是它在语言中的使用;它还补充说,名字的意义有时是靠指出其承担者来解释的.

针对程序构造的计算行为, 一步规约 选择用操作语义明确规定允许的规约步骤: 它直接规定 succ 在计算里怎样使用,无需依赖自然语言的直觉去解释 succ “是什么”. 这个模型让具体行为与规则之间的关系可以逐条核对; 它的价值应通过反例、性质证明和实现来说明.

需要留意两处边界. Wittgenstein 讨论的“使用”涉及学习、应用和纠错的共同实践, 不能直接压缩成一份明列的形式规则; 《哲学研究》§198–202 正好处理规则与行动的关系: §198 说,解释本身“悬在半空”,单靠解释不能确定意义,规则与行动的联系在于已有的用法与习惯; §199、§202 说,遵循规则是一种习惯、制度或实践,自以为在遵循并不等于遵循; §201 指出“任何行动都能解释得与规则一致”属于有待消解的困惑,不能当作最终结论. 所以,写下来的规则要得到遵循,仍依赖这样的实践 (原文见 《哲学研究》英德对照版).

同时,逻辑学里的推理主义 (Gerhard Gentzen、Dag Prawitz、 Michael Dummett、Robert Brandom 一脉) 主张逻辑联结词的意义由引入与消去的推导规则给出. Gentzen 本人在 Investigations into Logical Deduction(《逻辑推演研究》,Szabo 编英译本) 第二部分 §5.13 里说,引入规则好比相应符号的“定义”,消去规则不过是这些定义的后承(意译). 这些讨论的是证明与推理;它与程序如何执行有联系,但“都使用规则”不足以说明两者是同一个问题. 因此,这里不把操作语义说成上述哲学立场的“工程版本”, 只借它们提示一个问题:把某个语法构造的用法写清楚,会带来哪些可核对的性质.