综述
在逻辑学的发展历程中,模糊的不成体系的原始推理规则和后来建立起来的命题逻辑体系占据了极其重大的分量。但是伴随着体系的建立,体系本身的不完善和矛盾之处也在逐渐成为了逻辑学家和数学家的“肉中刺”,成为了他们必须要面对的,必须要解决的问题。
本质上来说,解决这些问题的过程也是人类更加接近自然逻辑承载的所有信息的过程。因此在这过程当中,越深入就越会发现要理解这一切的本质,单独依靠纯形而上学的逻辑工具不足以清晰的阐明形式逻辑背后承载的“真相”。
信息论,计算机科学,临床心理学和神经科学,认知科学和语言科学,量子物理,概率和数理统计,所有这些学科相互交织,碰撞,燃烧,升华!如果有机会,会透过更加充实的文字来详细勾勒出这些学科交织在一起形成的美妙画面。这里我严格限定在逻辑学领域,从逻辑思维活动的角度,将一阶谓词逻辑系统的框架进行描述,并就其产生的更高层面的问题进行简单的思考。
一阶谓词逻辑在命题逻辑的基础上,更进一步对命题本身内部的结构进行了结构化的处理,使命题逻辑中原子命题的内部结构和命题之间的关系得到了更清晰的展示。在这样的系统中,形式逻辑的体系对自然语言中蕴含的逻辑信息能够更精确的描述,并在此基础上进行更有效的形式化。
命题逻辑和谓词逻辑
在命题逻辑的系统中只用有限的几个逻辑运算符号,便构建起了整个命题逻辑的形式化系统。具体涉及到的符号有:,在部分情况下还需要“(”和“)”来进行运算优先级的控制。在关于命题逻辑的分析中,甚至证明了仅有符号:便可以构建一个完备的命题逻辑系统。在一阶谓词逻辑系统中,命题逻辑的运算规则完整的继承了下来,但是与此同时,为了更加精确的描述原子命题内部的逻辑信息,引入了符号和用来对原子命题内部的结构进行形式化。下面会用一些具体的例子对一阶谓词逻辑命题相关的概念进行更进一步的介绍。
例子1
解析:
在这里S(x)表示一个特定的谓词含义,可以用来说明某个主体具有某种性质,也可以表示x和另外一个或者若干主体之间的关系。比如“……是地球人。”,“……是蓝色的。”这样的表述。到这里,我们可以很明显的看出,谓词逻辑语句和命题逻辑之间的差异。在谓词逻辑中,S这个符号本身不能表示完整的命题,在符号S后面括号里面有一个x,这里的x,并不表示任何一个具体的因素,是一个变量。在这里被称之为变元。
而且在S符号前面有一个新引入的符号以及后面的括号和括号里面的x。在谓词逻辑中,Ɐ表示的是对于任意一个变元都符合谓词含义S。在这里看,新引入的两个符号可以看成是表示对于符合谓词含义的变元范围的描述。即可以表示出类似“对于所有人都有……”,“对于所有水果都有……”或者“存在一个或者多个人符合……”这样对变元范围的描述。
而对于的命题,或者这样的命题,在这两个命题中符号和作用于整个谓词符号部分或者其他不包含变元的部分,这样的情况在一阶谓词逻辑系统中不存在。对于范围的限定仅限于对变元的作用,这样的谓词逻辑体系,我们统称为一阶谓词逻辑。
一阶谓词逻辑系统的形式化及其可判定性
形式化系统
接下来,对于一阶谓词逻辑体系,通过一些特定的符号和基本规则进行简单的形式化尝试。一阶谓词逻辑系统包含以下主要因素:
1. 逻辑运算符:
2. 谓词:原子命题中表示个体符合某一种性质或者某种关系的部分。
3. 个体词:即原子命题中变元的部分。
4. 推理规则:这里所有命题逻辑中有效的推理规则,在谓词逻辑系统中依然有效。因 为在谓词逻辑系统中,命题逻辑可以看成是谓词逻辑的一种特殊情况,即全部由0元谓 词构成的命题,即是命题逻辑。
下面用一个具体的例子,通过自然语句形式化的过程对比命题逻辑和一阶谓词逻辑之间对于逻辑信息描述的差异。
例子2 句子A:所有的人类都在地球上。 句子B:有的人类不再地球上。
解析:
命题逻辑系统下,这两个自然语句表达的内容可以分别抽象成P,Q两个命题符号,在一个包含各种命题逻辑运算符号的符合命题中,这两个命题是以两个独立的命题存在的,需要分别进行真值指派,以进行下一步的计算。在整个计算的过程中自然语言逻辑中所蕴含的两个命题之间关系的逻辑信息,无法直接表达出来。
在谓词逻辑系统下,这两个命题表示:A:,B:,从符号中,我们可以清晰的判断出,这两个命题所蕴含的谓词是相同的,都是,表示的含义是“...在地球上。”而x在这里表示的是人类这个变元,和分别表示符合条件的不同范围的变元。
在这个时候我们假设一个复合命题,上述两个句子作为自然语句的原型,是这个复合命题中的一部分。在命题逻辑下,我们假定如果要判断该复合命题是否成立,可以通过真值指派的形式,对整个复合命题的每个原子命题的值进行指派,假如该复合命题中有N个原子命题,如果要穷举并验证所有解,则需要行真值表进行验证。其中P,Q这两个命题所占的运算资源则只有(P布尔值存在的两种可能*Q布尔值存在的两种可能),因为P,Q这两个命题在命题逻辑体系下(不考虑存在逻辑悖论的情况下),P,Q的值,不是真,就是假,这样的情况下,进行逻辑运算时,一般在N数量较小时,我们可以很快得出确定的结论。
此时,在谓词逻辑形式化之后的运算,我们可以发现和命题逻辑中处理的情况不太一样。首先在一阶谓词逻辑下,有一个变元的概念,这个变元本身是不确定的,并且是无限的,因此在确定语句A,语句B本身的布尔值的时候,就需要消耗大量的运算资源。假定x变元的数量为K,则A,B在复合命题的真值指派运算之前,就需要的运算资源。在这样的前提下,再进行真值指派,需要的计算资源是极其巨大的。
不可判定性
谓词逻辑中有一个判定性问题,指的是任意一个公式的普遍有效性。如果假定谓词逻辑是可判定的,则需要给出一个能行的方法(即算法),在有限步骤内实现判断。一般来说像数学定理的证明不是能行的。此处本质上涉及到的问题即是逻辑系统本身的完备性和算法复杂度的问题,这个问题在此处不做深入。将相关资料的结论直接引用:
(1)谓词逻辑是不可判定的。
(2)只含有一元谓词变项的公式是可以判定的。
(3)公式和,如果P中无量词和其他自由变项的时候,是可判定的。
(4)个体域有穷时的谓词公式是可判定的。
所有者一切基础不停发展的结果就是,目前在计算机领域内,通过有效的数据结构和算法,对算法复杂度进行结构的技术的深入。其本质是在有限资源的前提下,通过对数据结构的调整和各种处理,已便在有限的计算资源下,有效的解决当前的问题。当然,在目前逻辑公理系统的问题没有重要突破的前提下,有了很多不一样的解决问题的方法。
其实这类谓词逻辑的可判定性问题,涉及到纯数学领域内的若干重要的问题。数学逻辑领域的公理化困境,巴拿赫─塔斯基悖论,图灵-丘奇对“可计算数”问题的研究,哥德尔关于公理系统完备性的工作(连续统问题未解决就去世,太可惜了),P=NP?问题,量子计算(试图通过突破目前计算机运算速度数量级解决复杂问题),甚至在神经科学领域引起了对人类自己思维深度研究,所有这一切背后似乎都被某一种神秘的力量连接在了一起。到目前为止,始终似乎有些东西挡在我们和那真理中间,但是却又无法穿透。
上述问题的具体阐述,希望日后有机会,对其中的一个或者多个进行详细的讨论。如果有兴趣的,可以随时沟通。
参考资料:
《逻辑学是什么》陈波 北京大学出版社 2002
《离散数学教程》 耿素云 屈婉玲 王捍贫 北京大学出版社 2002
《数理逻辑与集合论》 石纯一 王家廞 清华大学出版社
《数理逻辑》(美)Herbert. B. Enderton 译者沈复兴 陈磊 孙运传2006