之前的笔记“数理逻辑1”介绍了命题演算,接下来在此基础上介绍量化理论,即引入量词符号 ∀ 和相关的变量符号及函数符号。
基于命题演算的形式逻辑有个明显的不足,就是难以表达诸如“所有x都具有y特性”这样的句子。比如,著名的亚里士多德三段论:所有人都会死,苏格拉底是人,所以苏格拉底会死。这个三段论仅用基于命题演算的形式逻辑是难以表达的。究其原因,是因为这类语句带有量词,例如“所有”,“有些”,“某个”。因此,本笔记的第二部分将介绍引入量词后的形式逻辑系统。
引入量词后的“逻辑语言”称为一阶逻辑语言,定义如下:
定义2.1: 一个一阶逻辑语言包含以下元素:
- 命题连接符号: ¬,⇒ ,和全称量词(Universal Quantifier): ∀
- 标点符号:左括号(, 右括号), 逗号,
- 可数的许多变量: x1 , x2 , … (注:这里的“可数”采用朴素理解即可,若采用集合论的理解方式,即能与自然数一一对应,或者说该集合与自然数的基数相同。)
- 一个有限的,或者无限但可数的,函数集合(可以为空)。
- 一个有限的,或者无限但可数的,常数集合(可以为空)。
- 一个非空的谓词集合(predicate letter)。
定义2.1相比之前的命题演算语言的定义来说,主要增加了全称量词 ∀ 。一旦引入全称量词,自然而然就要引入变量符号。接着命题演算语言的描述字母(Statement Letter,即 B,D 这些东东)在这里变成了“谓词”,即predicate letter。它不再是一个单纯的字母表示,而是用类似函数的方法表示,因为它是“谓词”,用来断言某些“名词”。而这里的名词就是各种变量、常量通过函数符号转化而成的某个量。
同样,我们也要定义何为好式子(Well Formed Formula)wf,这是形式逻辑研究的主要对象。在定义wf之前,我们先要定义一阶语言的解释。由于一阶语言引入了全程量词和变量,以及相应的函数符号,那么这些变量和函数必须对应一个“域”(Domain)才有意义,或者说才能把一阶逻辑讨论下去,而这样的“域”就是一阶语言的某种解释。
定义2.2: L 是一个一阶逻辑语言,那么它的解释
- 一个非空集合 D ,称为它的定义域(Domain)
- 对于每个谓词
Anj ,对应一个 D 中的n 阶关系 - 对于每个函数符号 fnj ,对应一个 D 中的函数,即
fnj:Dn→D - 对于每个常数符号 aj ,对应 D 中的某个固定元素。
上述定义2、3、4中的符号下标