【逻辑与计算理论】λ 演算、组合子逻辑的历史背景
函数——是横跨数学、逻辑和计算的最基础概念,也是从逻辑走向计算的基本工具。想象一下,如果一个逻辑系统不再以命题、谓词、量词、变量为基本单位而把函数作为唯一的原生元素会是什么样 ? 其结果就是组合子逻辑和λ演算。
组合子逻辑和 λ 演算属于数理逻辑中的形式系统,本质上是以函数为基本元素的高阶逻辑。在这个意义上,如果要想真正搞懂它们的基本思想,就必须从一阶逻辑开始,而要真正透彻理解如何从一阶逻辑走到组合子逻辑、λ演算,就需要了解这两门学科产生的背景和动机,来龙去脉和前世今生。而我们这篇文章便是要介绍这部分的内容,以飨读者。
1 组合子逻辑简介
组合子逻辑(Combinatory Logic)又称作组合子理论(Theory of Combinator)学界简称为CL,是一个以函数为基本元素、以【应用】(application)作为基本运算连接函数和函数参数。在组合子逻辑中,所有的元素,包括基本元素和复合元素通通称作【项】(term),项与项之间的连接规则,就是【应用】。而“应用”的规则,则是以两个原生定义的“运算符”:S 和 K,这就像传统一阶逻辑定义的∧、∨、~、→、⇋5大运算符一样。那S和K表示什么意思,为什么要用两个大写字母表示运算符呢?这里面当然有很大的任意性,没有什么非这样做的理性理由。我们知道现在所有科技论文的标准语言是英语,而原因想必大家都知道。而在二战之前,基于同样的理由,特别是在数学、逻辑、哲学方面的论文,除了美国,大部分都是德语的,因此数学、逻辑中的许多符号都