全名推广规则与限制性演绎定理--我国数学逻辑教材中的一个问题_数理逻辑论文

全称概括规则和受限制的演绎定理——国内数理逻辑教材中的一个问题,本文主要内容关键词为:数理逻辑论文,定理论文,一个问题论文,全称论文,规则论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。

事情本来是怎样的?

在国内数理逻辑教材较为常用的一阶逻辑系统中,有两条推理规则。一条是分离规则,另一条可称为全称概括规则。这两条规则,存在着一个实质性的区别。据分离规则,从A和A→B,可以得到B,这里,A 和A→B不要求在系统内可证;据全称概括规则,从A可以得到xA,这里,A 一般地应当要求在系统中可证。否则,无法保证推理规则的保真性。例如,F(x)不可证,运用全称概括,可得xF(x)。 不难找到一个解释,使 F(x)真而xF(x)假,即规则失去了保真性。但问题在于,在定义推理规则时,是不能用“可证”这个概念的,因为,何为“可证”,只有基于推理规则才能定义。因此,面临的麻烦是:尽管事实上A一般地应当可证,才可运用全称概括,得到 xA,但是我们却不能把全称概括规则定义为:如果A可证(或A是定理,或├A),则可得出xA。因为在所要构造的系统中,何为可证,何为定理,何为├A, 只有基于包括全称概括规则在内的公理和规则才能定义。

对于上述麻烦,解决的方案大致是以下几种:

第一,使用不包括全称概括规则的系统,全称概括规则的功能被包含在相关的公理中。

第二,弱化推理规则的保真性, 确认在推导中可以从非可证公式A,运用全称概括推出xA。但是,通过对演绎定理的限制,使得例如F(x)├xF(x)成立,但├xF(x)→F(x)不成立。这样,推理规则保真性的弱化事实上并未对系统构成任何实质性的破坏。

第三,在定义系统中的推导时,对全称概括规则进行限制,即规定只允许对可证公式运用全称概括。

第三个方案其实是极佳的方案。第一,推导的定义不依赖于证明的定义,事实上,证明的概念都先于推导出现,因此,在定义推导时完全可以使用“可证”这个概念。第二,由于作为证明的公式序列中的每个公式都是可证公式,因此,在证明中只可能对可证公式全称概括;而在推导中又只允许对可证公式全称概括,因此,事实上全称概括规则只适用于可证公式。

国内一些在系统中保留全称概括规则的数理逻辑专著(教材),采取的是第二个方案。但是,其中出现了问题。

问题是怎么产生的?

我认为,问题最早产生于王宪均先生的《数理逻辑引论》一书。

我注意到,与我所见到的所有国外专著不同,国内不少专著在定义逻辑形式系统的公理时,在公理前加上了“├”;在表述分离规则时,也使用了“├”。这种做法起源于王宪均先生。他在1981年出版的《数理逻辑引论》一书中,在对系统公理作初始陈述时,在公理的左端加上了“├”,并把分离规则表述为“从├A和├A→B,可以得到├B”。(注:王宪均:《数理逻辑引论》,第38、39、144、151、42页。)《数理逻辑引论》参照的是希尔伯特和阿克曼合著的《数理逻辑基础》,《数理逻辑引论》中的系统就是《数理逻辑基础》中的系统。但在《数理逻辑基础》中,公理的初始表述和分离规则中并没有出现“├”。(注:参见希尔伯特、阿克曼著,莫绍揆译:《数理逻辑基础》第68、70页。)王宪均先生不知出于何种考虑,最大的可能是疏忽,作出了此种添加。

这种添加是不正确的。

第一,王宪均先生对他在对公理作初始表述时使用的符号“├”的含义作了明确的说明:“在陈述中,每个公理前面都有├符号。├是断定符。它表示,它后面的公式是本系统内所要断定的,换言之,是本系统中的可证公式或定理”。(注:王宪均:《数理逻辑引论》,第38、39、144、151、42页。)正如本文开头已经指出的,在所要构造的系统中,何为证明,何为可证公式,何为定理,何为“├”,必须基于公理和推导规则才能定义,因此,不能在对公理作初始表述和定义推导规则时,就使用“├”。我所见到的国外专著中没有出现过这种情况;国内的许多专著(例如宋文淦的《符号逻辑基础》和刘壮虎的《逻辑演算》等)也没有出现过这种情况。这说明作者们注意到了这一点。

第二,如果把分离规则表述为“从├A和├A→B,可以得到├B”,这意味着只允许对可证公式运用分离规则。这样,系统中区别于“证明”的“推导”(《数理逻辑引论》中称为“有前提的推演”)这一极其重要的概念,根本无法得到定义。推导区别于证明之处,就在于可以对非可证公式运用推理规则,包括分离规则。《数理逻辑引论》在定义“有前提的推演”时,不可避免地陷入了混乱。参阅该书175页。 这里不赘。

让我们再重复一下本文开头提到的定义全称概括规则时所面临的“麻烦”:为了确保推理规则的保真性,A一般地应当可证, 才可运用全称概括,得到A,但是我们却不能把全称概括规则定义为:如果A可证(或A是定理,或├A),则可得出xA。因为在所要构造的系统中,何为可证,何为定理,何为├A, 只有基于包括全称概括规则在内的公理和规则才能定义。

王宪均先生对希尔伯特、阿克曼的系统所作的上述不正确的添加,说明他并没有注意到这种麻烦。王先生的系统中不包括全称概括规则。如果王先生所作的上述不正确添加,出现在包括全称概括规则的系统中,问题将成为真正的麻烦。

张尚水先生所著的《数理逻辑导引》中,就出现了这样的问题。

问题成为怎样的?

张尚水先生所著《数理逻辑导引》的一阶逻辑系统中,包括全称概括。其中:

第一,被定义的公理左端都有“├”符。

第二,分离规则定义为:从├A和├A→B,可以得到├B。

第三,全称概括规则定义为:从├A可以得到├xA。 张先生对这一规则作了解释:如果证明了A(x)成立,那么,就可以得出,对所有x,A(x)成立。

第四,陈述并证明了受限制的演绎定理。(注:参见张尚水著《数理逻辑导引》,第260、261页、第268~270页。)。

上面第一和第二两点中存在的问题,已如上述。

我认为,和王宪均先生一样,张尚水先生把分离规则定义为“从├A和├A→B,可以得到├B”,是一种偶然的疏忽,甚至是一个笔误,因为他们事实上不可能认为只有对可证公式才可运用分离规则。但是,张先生把全称概括规则定义为“从├A可以得到├xA”, 这不是一个笔误。因为张先生确实认为,只有对可证公式运用全称概括。这说明,第一,张先生注意到了:只有对可证公式运用全称概括,才能确保推导规则的保真性;但是,第二,张先生没有注意到:在定义推导规则时,没有“权利”使用“可证”这个概念或“├”这个符号,因此,全称概括规则本身陈述的内容仅仅是也只能是:从 A可以得到xA。这条规则无法说明,A必须是可证公式,因而实际上不得不确认, 对任意公式A,都可得到xA。这就产生了本文开头提到的“麻烦”, 以及为解决这个麻烦而产生的各种方案,其中,包括对谓词逻辑中的演绎定理进行限制。所有这些,张先生显然都没有意识到。

这样,更成为问题的是,一方面,张先生在定义全称概括规则时确认只有对可证公式才可全称概括;另一方面,他又在同一个系统中陈述并证明了受限制的演绎定理。我们知道,演绎定理并不必在任何一阶逻辑系统中都要受限制,而只须在包括全称概括规则的系统中受限制。而这种限制之所以必要,就在于,例如,全称概括规则允许从不可证公式F(x)得到xF(x),即允许F(x)├F(x), 如果对演绎定理不加限制,就会得到├F(x)→xF(x), 即会得到一个可假公式作为定理。演绎定理受限制后,能确保从 F(x)├xF(x)不能得出├xF(x)→F(x)。

因此,这里出现了一个大的自相矛盾:

第一,在定义全称概括规则时,张先生明确指出,从├A, 可以得到├xA,这里A必须是可证公式。张先生还举出实例来说明这一点。

第二,在叙述和证明受限制的演绎定理时,张先生却又明确指出,对于任一公式A,运用全称概括,都可得到xA,即A├xA。张先生同样举出以下的实例来说明对演绎定理限制的必要:F(x)是可假的非可证公式,但运用全概括规则,可得到xF(x),即 F(x)├xF(x)成立,如果对演绎定理不加限制,就会得到├F(x)→xF(x), 即会得到一个可假公式作为定理。

上述的第一个表述出现在《导引》的第261页; 上述的第二个表述出现在第268页。也就是说,作者在相隔不到7页的地方,作出了两个如此明显的并且事关重要的自相矛盾的断定。这显然又不是出于疏忽,因为作者在陈述这两个断定的时候,都引人注目地专门举了实例。这确是令人费解的。

顺便指出,同样的问题也存在于周礼全先生所著的《模态逻辑引论》中。第一,周先生同样错误地把全称概括规则表述为:由定理A 直接推导出xA。但是,周先生又在定义推导时对全称概括规则进行了限制,即类似地采用了本文开头提到的解决“麻烦”的第三个方案。这里出现了同样的矛盾。如果全称概括如周先生定义的那样,只对定理运用的话,在定义推导时对全称概括规则所作的限制完全是多余的。第二,周先生在模态系统中把必然概括规则错误地表述为:由定理 A直接推导出LA,但同时又表述和证明了演绎定理(在该书中称为推导定理)在设定的条件下在模态系统S4中成立,但在其它模态系统 T中不成立。事实上,如果只对定理才能必然概括的话,演绎定理在T和S4 及其它相关模态系统中都无条件成立。(注:参见周礼全著《模态逻辑引论》,第67、121页。)

中国的逻辑学者和国外的同行特别是其中的大家相比,在著书立说时具有一种极大的便利,就是可以舶来足够现成的成果,只要你懂点外语,又懂点逻辑。这带有必然性,因为数理逻辑本来就是舶来品。但是,这往往又是一种危险。设想,如果受限制的演绎定理是中国学者自己的研究成果,上面的问题是不大会出现的。

以上见解,如有错误,请指正。

标签:;  ;  ;  ;  

全名推广规则与限制性演绎定理--我国数学逻辑教材中的一个问题_数理逻辑论文
下载Doc文档

猜你喜欢