论人类下一代语言的可能—5.1一阶谓词逻辑简述

一般说法,逻辑是有效推理的形式。逻辑学可追溯至亚里士多德(Aristotle,公元前384~前322,古希腊的哲学家、科学家、逻辑学家、教育家),他创立的三段论标志着古典逻辑阶段的形成。我们通过例子来说明。

所有吃草且会奔跑的都是动物

马是吃草且会奔跑的

所以,马是动物

在这个例子中,替换“马”为“牛”,或者系统替换“吃草且会奔跑”“动物”“马”三者,都不影响推论的有效,词项:“所有”“是”“所以”构成了这里的推理形式,一般化这个形式如下:

所有M是P

S是M

所以,S是P

我们再看下面的例子:

所有吃草且会奔跑的都是兔子

马是吃草且会奔跑的

所以,马是兔子

“马是兔子”这当然是荒谬的说法,但这里的逻辑应用没有问题,结果的荒谬是因为前提“所有吃草且会奔跑的都是兔子”是荒谬的,纯粹逻辑并不关心前提,结论是否荒谬,也不关心兔子、马这些词汇是指称什么。逻辑只关注推导的结构与形式是否符合规定,符合规定就是有效的。

“荒谬”是一个感受上带有情绪的日常词汇,在逻辑里正式说法是“假”。论证时的每一陈述句或者为“真”,或者为“假”,为“真”或为“假”称为语句的真值。真值中的“真”“假”通常用“1”“0”表示。我们在二种意义讨论“真”与“假”,一种是经验的真值,其意义是语句的描述是否与事实相符,这是通过实际的验证来证实的;一种是逻辑的真值,逻辑上从前提语句推理得到的语句,称为后承语句,前提语句为真并且推理有效,后承语句真值=1,这里后承语句的真值是逻辑上的真值。

对于构建认知,经验的真值才是终极的标准,只是人类理论的抽象性与实际环境的复杂性,不一定存在无争议可实施的验证方法。存在万有引力定律的情况下,惯性定律场景就很难真实地存在。理论上这样构建仍是可行的,但想找到或创造合外力为零的情况来验证,绝对地说没有这种可能性。水星近日点的异常进动被认为是对广义相对论的证明,很多人并不确信这一点,因为并没有完整地考虑所有因素并精确地进行计算,比如没有考虑太阳风的影响。另一方面,虽然逻辑的基础仍存在巨大的争议,在一般性的应用中,如果最初的前提经验真值为1,推理过程有效,结论的逻辑真值为1,通常验证下来结论经验真值也是1。实践的有效建立了我们对逻辑的信仰。

亚里士多德做出了初步的逻辑规范,但在自然语言里应用亚里士多德的逻辑是困难的,原因之一是自然语言的歧义性,我们以“逻辑”一词为例来说明。对专业人士,“逻辑”一词指现代逻辑学的逻辑:有效推理论证的形式;对另一些人,这指自然语言中不能脱离语义的自然逻辑;对其他一些人,是指归纳逻辑;多数人可能是不加区分地应用。说“不合逻辑”可能指未遵守有效推理论证的方式,或不够严谨;或是指语句描述与事实不符。可以想象,不同理解的人在一起讨论“逻辑”时,场面将陷入怎样的混乱。

鉴于自然语言在严谨应用时难以避免的混乱,德国哲学家与数学家莱布尼茨(Gottfried Wilhelm Leibniz。1646.7-1716.11)想到创立一门通用语言,这种语言的使用形式与逻辑规则一致,这样推理变成一种计算,当发生争论时,我们可以像在算术里那样,通过算一算就得到确定的结论。1879年德国数学家、逻辑学家和哲学家弗雷格(Friedrich Ludwig Gottlob Frege,1848.11-1925.7)出版了《概念文字》(英译:Concept Writing)一书,开始具体实现莱布尼茨的想法。弗雷格的设想不仅是能模仿算术实现机械的推理运算,他的设想首先也是创建一门表达思想概念的语言。

弗雷格首先是用命题表示判断。命题作为一个整体的单位时,经常用一个小写字母来表示,如p、q、s……弗雷格参考数学函数的概念改写了命题的格式。跳过弗雷格的术语与形式,用今天通用的表示法,命题的形式是P(x)或P(x、y)等。其中x、y为项,是命题要表述的对象,P()称为谓词,表示一种性质或关系,类似于一个函数。我们先说x、y是常项的情况,自然语句“小明是小学生”命题形式表示为“是小学生(小明)”,自然语句“狮子追逐斑马”命题形式可表示为“追逐(斑马、狮子)”。逻辑上我们应用“是小学生(小明)”命题时,是一个描述,同时也是一个判断,判定p是一个事实且p=‘小明是小学生’即认为命题:“是小学生(小明)”=1,这是在实证的意义上说的。

弗雷格还引入了量词:∀为全称量词,∃为存在量词。引入量词后,x、y就可以表示变项,∀x:P(x)表示所有x代表的常项,都使P(x)=1。如果用x表示学生,可以构造这样的命题∀x:要做作业(x),翻译为自然语句就是:所有的学生都要做作业。∃x:P(x)表示存在x代表的常项,使P(x)=1。如果用x表示鸟类,可以构造命题∃x:不会飞(x),翻译为自然语句就是:存在不会飞的鸟。

在弗雷格之前,1854年,英国数学家乔治·布尔(George Boole,1815.11-1864.12)出版了《思维规律的研究》(An Investigation of The Laws of Thought)一书。在这本书里布尔提出了可用于命题联结的运算:与(合取)、或(析取)、非(否定),运算符号为“∧”“∨”“┐”,语义上与下述三个日常词汇接近:并且(and)、或者(or)、否定(not),当然不能用这三个词汇来理解这三个运算。“∧”“∨”“┐”,它们可通过真值表无歧义地定义。为了表述方便,下面论述里的命题先简单写为p、q。

1)与运算:∧

P

q

p∧q

1

0

0

1

1

1

0

0

0

0

1

0

 

2)或运算:∨

P

q

p∨q

1

0

1

1

1

1

0

0

0

0

1

1

 

3)非运算┐

P

┐q

1

0

0

1

从真值表的定义,可以发现,或运算的1∨1=1与“或者”一词的自然语义是有区别的,我或者乘飞机去北京,或者坐高铁去北京,我不可能乘飞机同时又坐高铁去北京,一般的语义下1∨1=0。为适配这种语义,逻辑里另外定义了异或运算,运算符号为:⊕

4)异或运算:⊕

P

q

p⊕q

1

0

1

1

1

0

0

0

0

0

1

1

我们不需要单独引入异或运算,所有其他的运算可以用∧、∨、┐定义出:

p⊕q=(┐p∧q)∨(p∧┐q)

同样我们可以使用真值表来验证定义是否成立

P

Q

┐P

┐q

(┐p∧q)

(p∧┐q)

(┐p∧q)∨(p∧┐q)

1

0

0

1

0

1

1

1

1

0

0

0

0

0

0

0

1

1

0

0

0

0

1

1

0

1

0

1

从日常实践来说,经常用到的是这种运算——蕴涵运算,逻辑里语法形式表示为:⇒,语义对应的日常词汇是:如果……那么……真值表如下:

5)蕴涵运算⇒

P

q

p⇒q

1

1

1

1

0

0

0

0

1

0

1

1

可定义为:┐p∨q。

对蕴涵运算理解的要点是:P为真时,q为真,才成立;P为假时,q无论真假,p⇒q都为真,后半句是让人困惑的地方,学术界也有争论,你可以理解为这只是个约定。

蕴涵运算的增强运算是等价运算,逻辑里语法形式表示为:⇔语义对应的日常词汇是:当且仅当,真值表如下:

6)等价运算⇔

P

q

p⇔q

1

1

1

1

0

0

0

0

1

0

1

0

可定义为:(p∧q)∨(┐p∧┐q)。

对等价运算理解的要点是:p⇔q相当于p⇒q∧q⇒p

上面我们是从与、或、非运算定义出异或、蕴涵、等价运算,如果需要还可以再定义其他的运算。我们也可以不从与、或、非运算出发,定义其他的运算,而是从比如蕴涵、非运算出发,定义出与、或、及其他的运算,如何选择只是约定与方便的问题。

有了量词、命题形式、命题联结方式,它们的连接就可以形成更复杂的表达式,通常认为这些表达式可用来表示我们的观念或事实。由此方式表达的多个观念或事实可组成前提,接下来是可进行推理、证明。一串的推理得到结论,或揭示出矛盾,这就构成一个证明。每一步的推理是对逻辑表达式进行转换,比如说表达式中有“┐┐q”部分,你可以用“q”来替换,这是平时所说的:否定之否定就是肯定。逻辑上的说法是“┐┐q”与“q”形成等价的关系:┐┐q⇔q,等价符号二边可以相互替代。说到逻辑推理,通常最容易想到的是假言推理的这种形式:如果p那么q,p,所以q,专业的形式是(p⇒q∧p)⇒q,这是个蕴涵关系,只有右边可以替代左边。逻辑里┐┐q⇔q与(p⇒q∧p)⇒q称为重言式,更多的重言式如下:

┐┐q⇔q

p∧(q∨s)⇔(p∧q)∨(p∧s)

p∨(q∧s)⇔(p∨q)∧(p∨s)

┐(p∧q)⇔┐p∨┐q

┐(p∨q)⇔┐p∧┐q

p∨(p∧q)⇔p

p∧(p∨q)⇔p

┐(∀x)P(x)⇔(∃x)(┐Px)

┐(∃x)P(x)⇔(∀x)(┐Px)

p∧q⇒p

p∧q⇒q

p⇒(p∨q)

q⇒(p∨q)

┐p∧(p∨q)⇒q

(p⇒q∧p)⇒q

(p⇒q)∧(q⇒s⇒(p⇒s)

这里只是列举了部分重言式。由重言式组成的集合就构成一个逻辑推理的系统。推理过程就是不断应用系统里的重言式进行替换的操作。还有那些重言式?重言式如何构成推理系统?这是逻辑学家研究的课题。

由莱布尼茨、弗雷格、布尔等人推动发展出的逻辑,其特征是抽象符号的表示:x、P()、p、q、∀、∃、∧、∨、┐、⇒、p⇒(p∨q)、q⇒(p∨q)……并且最终形成可演算的符号系统。通常的说法:这是模仿数学方法来研究逻辑所取得的结果。这种结果也称为数理逻辑,它的出现是逻辑学进入现代阶段的标志。这里所说逻辑属一阶谓词逻辑,它是现代逻辑中最基础的部分。除一阶谓词逻辑外,现代逻辑学还发展出众多的其他分支:高阶逻辑、时序逻辑、模态逻辑,甚至如p∧┐p⇔1即排中律不适用的逻辑等,似乎不同的假设与应用场景都可以去发展一个逻辑的门类。