关于逻辑问题的通信,本文主要内容关键词为:逻辑论文,通信论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
慕泽先生:
迟复为歉,因为杜珊才将尊函转来。
你对宪钧师《引论》的批评,虽然夸张了一点,但确是有你的道理的。这里略说我的意见,供参考而已,说不上“指教”。
关于你的第一点批评
尊著说,与你所见的外国书不同,《引论》定义逻辑形式系统的公理时在前面加了可证性记号┌,表述推论规则时也使用了┌。但这是“不正确的”,因为,在所要构造的系统中何为证明、何为可证公式(定理)、何为┌,“必须基于公理和推导规则才能定义”。直言之,《引论》的做法有恶性循环之嫌。
你的批评会是完全对的,假使必须先定义一个系统中的证明是什么,才能定义其中的可证公式是什么。这正是当今逻辑教材在元理论中描述一个系统的标准程序:先给出公理和推论规则,再把证明定义为对公理应用推论规则所生成的有穷公式序列,最后将证明的结尾公式看成可证公式(定理),同时引入缩写记号┌,用┌A表示A是可证的(详见A.Church,Introduction to Mathematical Logic)。这种程序极其自然,是我一向欣赏的,看来也是你特别熟悉的。
然而,我们钟爱的程序并不是唯一可能的、唯一正确的。现代逻辑史上更早占据优势的反倒是一种颠倒过来的程序,先定义一个系统中的可证公式(定理)是什么,再定义其中的证明是什么。慢些谈历史吧。请先注意,按这种程序,一开始引入公理和推论规则时便使用可证性记号┌的用意在于给可证公式概念(同时也给记号┌本身)下一个归纳定义。以《引论》的命题演算为例,宪钧师对它的基础做了如下表述(为省事,略去定义置换规则):
公理:1.┌((p∨p)→p),
2.┌(p→(p∨q)),
3.┌((p∨q)→(q∨p)),
4.┌((q→r)→((p∨q)→(p∨r)))。
推论规则:甲.代入规则:从┌A可得┌[π/B]A
乙.分离规则:从┌A和┌(¬A∨B)可得┌B
只要不忘记元逻辑符号┌的预定意义,就不难看出宪钧师的表述暗示着他的命题演算中可证公式的归纳定义,由三个子句组成:(1)((p∨p)→p),(p→(p∨q)),((p∨q)→(q∨p)),((q→r)→((p∨q)→(p∨r)))是可证的;(2)如果A是可证的那么[π/B]A是可证的,如果A和((A∨B)是可证的那么B是可证的;(3)只有满足条件(1)和(2)的公式才是可证的。一旦有了可证公式概念,很容易给命题演算中的证明下一个格外简单的定义:证明是(命题演算中的)可证公式的有穷序列,其中所有不是公理的可证公式位于它的前提后面。
宪钧师做任何事都比一般人更明白自己在做什么。非常可惜,在《引论》中他始终没有明白交代,当他用记号┌来表述逻辑演算的公理和推论规则的时候,他已经按归纳方式给可证公式下了定义。他不明白交代,读者就难免不解,甚至怀疑他势必陷入恶性循环。我现在觉得,《引论》中诸如此类的言不尽意之处,当初本不该马虎过去。我当初替宪钧师校订《引论》初稿是马虎过去的。早在上世纪60年代我就细读过苏联诺维科夫的《数理逻辑原本》,该书正是从可证公式的归纳定义入手来叙述命题演算和谓词演算的,所以我自觉很理解宪钧师一开始便起用可证性记号┌的用意,未能尽到提醒宪钧师的责任。
不妨谈谈记号┌的历史。罗素称┌为“断定号”,用于公理(及定理)。把┌用于推论规则的第一人,据H.B.Curry考证,是B.Rosser。这个考证有误,把┌既用于公理又用于推论规则的第一人是E.L.Post,在1921名著Introduction to a General Theory of Elementary Propositions中。例如,他对分离规则的表述是:“┌P”与“┌:~P∨Q”产生“┌Q”。Post目光敏锐,他当时已经看出命题演算中“所有导出断定”集(全体可证公式集)的定义本质上是归纳的。至于B.Rosser,他似乎是1935才把┌用于推论规则。值得一提,在1953教材Logic for Mathematicians中,他对全称概括规则的表述是:如果┌F(x)那么┌(x)F(x)。后来走Post路线的人不少,我所知道的有P.C.Rosenbloom(The Elements of Mathematical Logic,1950),E.W.Beth(The Foundations of Mathematics,1959),H.B.Curry(Foundations of Mathematical Logic,1963)。前两位很注意说明逻辑系统中可证公式定义的归纳性;最后一位更奇特,为了强调┌在一大类逻辑系统的基础中的作用,把它们特地命名为“断定型”(assertional type)。
关于你的第二点批评
尊著以分离规则为例,指出《引论》只允许对可证公式运用推论规则,结果不同于“证明”的“有前提的推演”概念根本无法得到定义,从而“不可避免地陷入了混乱”。
因此,子句(3)无论如何需要修改,代之以不致误解的说法,否则《引论》中的演绎定理就不得不基于一个不能自圆其说的“有前提推演”的概念。修改是容易的,可以不谈。
我同意你的看法,采取Curry所谓的“断定型”逻辑系统是一定会惹出相当多的麻烦的。我相信,这些麻烦从反面衬托出了当今流行的“标准程序”的某些优点。尊著提醒人们重视这个事实,是有功劳的。
《引论》是好书,缺点也不少,为什么要盲从呢?现在确有盲从的现象。例子之一是,《引论》说弗雷格《概念文字》讲的是一阶逻辑,至今许多书还跟着说:对,是一阶逻辑。其实,这在当年就是他同我争执不下的问题之一。当学生的,应当允许老师坚持错误,但不应当赞扬。
足下视我为《引论》修订工作的参与者。那么,凡是《引论》的不足都有我的一份责任,不做自我批评是不行的。这封信也请你当作我的自我批评来看。如果你觉得可以让更多的同行同好知道,烦你将全信在适当的期刊上发表。我托你当我的代表,大概不需要写正式的委托书吧。
祝
研安
康宏逵
2011年7月29日
收稿日期:2011—11—03
附:
全称概括规则和受限制的演绎定理、
——国内数理逻辑教材中的一个问题
陈慕泽
作者简介:陈慕泽,上海人,中国人民大学哲学院教授,博士生导师,中国逻辑学会副会长。
事情本来是怎样的?
在国内数理逻辑教材较为常用的一阶逻辑系统中,有两条推理规则。一条是分离规则,另一条可称为全称概括规则。这两条规则,存在着一个实质性的区别。据分离规则,从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)成立,但├F(x)→xF(x)不成立。这样,推理规则保真性的弱化事实上并未对系统构成任何实质性的破坏。
第三,在定义系统中的推导时,对全称概括规则进行限制,即规定只允许对可证公式运用全称概括。
第三个方案其实是极佳的方案。第一,推导的定义不依赖于证明的定义,事实上,证明的概念先于推导出现,因此,在定义推导时完全可以使用“可证”这个概念。第二,由于作为证明的公式序列中的每个公式都是可证公式,因此,在证明中只可能对可证公式全称概括;而在推导中又只允许对可证公式全称概括,因此,事实上全称概括规则只适用于可证公式。
国内一些在系统中保留全称概括规则的数理逻辑专著(教材),采取的是第二个方案。但是,其中出现了问题。
问题是怎么产生的?
我认为,问题最早产生于王宪钧先生的《数理逻辑引论》一书。
我注意到,与我所见到的国外专著不同,国内不少专著在定义逻辑形式系统的公理时,在公理前加上了“├”;在表述分离规则时,也使用了“├”。这种做法起源于王宪钧先生。他在1981年出版的《数理逻辑引论》一书中,在对系统公理作初始陈述时,在公理的左端加上了“├”,并把分离规则表述为“从├A和├A→B,可以得到├B”。①《数理逻辑引论》参照的是希尔伯特和阿克曼合著的《数理逻辑基础》,《数理逻辑引论》中的系统就是《数理逻辑基础》中的系统。但在《数理逻辑基础》中,公理的初始表述和分离规则中并没有出现“├”。②王宪钧先生不知出于何种考虑,最大的可能是疏忽,作出了此种添加。
这种添加是不正确的。
第一,王宪钧先生对他在对公理作初始表述时使用的符号“├”的含义作了明确的说明:“在陈述中,每个公理前面都有├符号。├是断定符。它表示,它后面的公式是本系统内所要断定的,换言之,是本系统中的可证公式或定理。”③正如本文开头已经指出的,在所要构造的系统中,何为证明,何为可证公式,何为定理,何为“├”,必须基于公理和推导规则才能定义,因此,不能在对公理作初始表述和定义推导规则时,就使用“├”。我所见到的国外专著中没有出现过这种情况;国内的许多专著(例如宋文淦的《符号逻辑基础》和刘壮虎的《逻辑演算》等)也没有出现过这种情况。这说明作者们注意到了这一点。
第二,如果把分离规则表述为“从├A和├A→B,可以得到├B”,这意味着只允许对可证公式运用分离规则。这样,系统中区别于“证明”的“推导”(《数理逻辑引论》中称为“有前提的推演”)这一极其重要的概念,根本无法得到定义。推导区别于证明之处,就在于可以对非可证公式运用推理规则,包括分离规则。《数理逻辑引论》在定义“有前提的推演”时,不可避免地陷入了混乱。参阅该书175页。这里不赘。
让我们再重复一下本文开头提到的定义全称概括规则时所面临的“麻烦”:为了确保推理规则的保真性,A一般地应当可证,才可运用全称概括,得到xA,但是我们却不能把全称概括规则定义为:如果A可证(或A是定理,或├A),则可得出xA。因为在所要构造的系统中,何为可证,何为定理,何为├A,只有基于包括全称概括规则在内的公理和规则才能定义。
王宪钧先生对希尔伯特、阿克曼的系统所作的上述不正确的添加,说明他并没有注意到这种麻烦。王先生的系统中不包括全称概括规则。如果王先生所作的上述不正确添加,出现在包括全称概括规则的系统中,问题将成为真正的麻烦。
张尚水先生所著的《数理逻辑导引》中,就出现了这样的问题。
问题成为怎样的?
张尚水先生所著《数理逻辑导引》的一阶逻辑系统中,包括全称概括。其中:
第一,被定义的公理左端都有“├”符。
第二,分离规则定义为:从├A和├A→B,可以得到├B。
第三,全称概括规则定义为:从├A可以得到├xA。张先生对这一规则作了解释:如果证明了A(x)成立,那么,就可以得出,对所有x,A(x)成立。
第四,陈述并证明了受限制的演绎定理④。
上面第一和第二两点中存在的问题,已如上述。
我认为,和王宪钧先生一样,张尚水先生把分离规则定义为“从├A和├A→B,可以得到├B”,是一种偶然的疏忽,甚至是一个笔误,因为他们事实上不可能认为只有对可证公式才可运用分离规则。但是,张先生把全称概括规则定义为“从├A可以得到├A”,这不是一个笔误。因为张先生确实认为,只有对可证公式,才能运用全称概括。这说明,第一,张先生注意到了:只有对可证公式运用全称概括,才能确保推导规则的保真性;但是,第二,张先生没有注意到:在定义推导规则时,没有“权利”使用“可证”这个概念或“├”这个符号,因此,全称概括规则本身陈述的内容仅仅是也只能是:从A可以得到xA。这条规则无法说明,A必须是可证公式,因而实际上不得不确认,对任意公式A,都可得到xA。这就产生了本文开头提到的“麻烦”,以及为解决这个麻烦而产生的各种方案,其中,包括对谓词逻辑中的演绎定理进行限制。所有这些,张先生显然都没有意识到。
这样,更成为问题的是,一方面,张先生在定义全称概括规则时确认只有对可证公式才可全称概括;另一方面,他又在同一个系统中陈述并证明了受限制的演绎定理。我们知道,演绎定理并不必在任何一阶逻辑系统中都要受限制,而只须在包括全称概括规则的系统中受限制。而这种限制之所以必要,就在于,例如,全称概括规则允许从不可证公式F(x)得到xF(x),即允许F(x)├xF(x),如果对演绎定理不加限制,就会得到├F(x)→xF(x),即会得到一个可假公式作为定理。演绎定理受限制后,能确保从F(x)├xF(x)不能得出├F(x)→xF(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及其它相关模态系统中都无条件成立⑤。
中国的逻辑学者和国外的同行特别是其中的大家相比,在著书立说时具有一种极大的便利,就是可以舶来足够现成的成果,只要你懂点外语,又懂点逻辑。这很自然,因为数理逻辑本来就是舶来品。但是,这往往又是一种危险。设想,如果受限制的演绎定理是中国学者自己的研究成果,上面的问题是不大会出现的。
以上见解,如有错误,请指正。
收稿日期:2011—11—05
注释:
①参见《数理逻辑引论》(王宪钧著)第38、39、144、151页。
②参见《数理逻辑基础》(希尔伯特、阿克曼著,莫绍揆译)第68、70页。
③参见《数理逻辑引论》(王宪钧著)第42页。
④参见《数理逻辑导引》(张尚水著)第260、261页、第268—270页。