悖论的定义问题与“哥德尔定理”的悖论本质及新解
沈卫国(2024年1月19--30日)
内容摘要:对悖论的定义问题,及哥德尔定理的悖论本质,在前期有关文章的基础上,进行了详尽的讨论,提出了新的看法。
关键词:悖论;定义;矛盾;哥德尔定理;可证;不可证;定理;非定理;不可判断;自指否命题;系统;元数学
一、悖论的定义与解悖
悖论的定义问题,多年莫衷一是。我在其它有关文章中有论述、评价,这里不再多说。只是阐述我自己的观点。矛盾是什么,就是比如a = ┐a,a∧ ┐a(仅指a与┐a同真的意义上的合取式,即(a = 1)∧(┐a = 1)时。下同),而a ↔┐a是互推,其实就是悖论,或说“a,当且仅当 ┐a”。这是明显的矛盾或矛盾句,矛盾命题或“矛盾等价式”。但比如a = {a |a∉a}就是一个悖论(罗素悖论)。是一个不明显的、隐蔽的矛盾或“矛盾等价式”。从其直观的表示上,看不出内涵的矛盾,需要经过推理才可以知道、推出是个矛盾的矛盾。而{a∈a∧a∉a}则为一般的矛盾。为什么?因为前者隐蔽,它并没有说或明白地“显示”出它是个矛盾,而后者在是明明白白的一个矛盾。因此,什么是悖论?就是需要通过推理才能弄明白或暴露的矛盾。其原因就是对前件a的表述不清晰(虽然是以看似清晰的形式),其中暗含、隐含着矛盾。因此,明显的矛盾就是前面说列出的那些如a = ┐a,a∧ ┐a,等等,而悖论是指虽然其实还是这些矛盾,但却必须经过a → b → c → ............→ ┐a以及 ┐a → j → k → s → ...........→ a,才可最终确定为是一个矛盾,即a = ┐a,a∧ ┐a这样的矛盾等价式是最终推导出来的、才可以得到的,仅就推导之前而言,矛盾是隐蔽者的,此即悖论。我们现在一提悖论,就是外国人提出的悖论,但我国古代就有,比如那个关于“矛盾”(矛盾一词的由来)的典故。如果把A表示成那个“可以刺破全部盾的矛”,把B表示成“任何矛都刺不破的盾”,则A∧B → (A→ ┐∀B → ┐B)∧(B→ ┐∀A → ┐A)→ ┐A∧ ┐B,这当然是个悖论,因为这个关于矛、盾的典故,最终推出了“矛盾”(公式中的符号“∀”,表示“所有”,这里的符号“ ┐”,表示“刺破”或“挡住”)。当然,在不引起误解的前提下,我们也可以简化地或实质上原本推导就是一步的、于是可简单地写成a → ┐a及┐a →a这样的形式,进而还可以简化为a ↔┐a。这实际上可以看成是悖论的一种非文字表示的定义。但这个“定义”是过于简单的,很多信息没有包括在里面,或没有直接表达出来。注意,此时的“→”表示完全正确的逻辑推理过程,但矛盾隐藏在对命题a或 ┐a的定义或表述中。因此,经常有关于悖论的逻辑推理,究竟是“正确的逻辑推理”还是“错误的逻辑推理”的争论,其实如果光看不包括前件命题a的中间及最终推理 b → c → ............→ ┐a以及前件命题 ┐a的中间及最终推理j → k → s → ...........→ a,是没有逻辑推理问题的,但问题出在推理前件(前提)a以及 ┐a的表述或定义中。这种表述表面清晰或没有问题,但禁不住推敲(也就是进一步的推理),它会产生矛盾。因此,如果我们非说一个正确的推理(不能最终推出矛盾的)过程也要包括其推理前件(前提)中没有可以产生问题的隐含矛盾的话,在此意义上,也可以认为推理有问题。否则一个完全彻底正确的逻辑推理,怎么会推出了矛盾?无法解释。成了某种神秘性的东西。因此我们说,如果说一个正确的推理步骤、过程,必须包括其基于正确的、不隐含矛盾的、概念清晰的推理前提这一点的话,在这个意义上,也可以说一旦推出了矛盾,不管推理的中间过程如何准确无误,这个推理或包括推理前提的整个推理过程,就是有瑕疵的、有问题的、甚至可以说是错误的。更直接的说法,就是推出了矛盾的。但前面也说过了,这个问题不是推理过程的,而是推理前提的。这可以认为是一种广义的推理概念。广义推理,包括推理前提的无误、无矛盾。而狭义的推理,只包括中间推理过程,不包括推理前提。前提的暗含矛盾或定义不清晰,不去算在狭义推理的账上。确实,像a → ┐a及┐a →a这样的式子表示一个悖论,似乎谁都知道,但它与a = ┐a,a∧ ┐a这样的式子的本质区别,却是模糊的。事实上,我们必须把a → ┐a及┐a →a这样的式子看成是必要步骤,是必须的,但为什么?是因为在命题a的表述中,虽然隐含了 ┐a,但这个┐a必须要经过a → ┐a及┐a →a的推理步骤才可以明了,这一点在单纯的公式a → ┐a及┐a →a中是看不出来的。这也就是为什么看似严格的(很多人都以为的)符号、公式表达的“数理逻辑”,其实并不能完全替代人的自然语言中的逻辑的原因。顺便说一句,事实上,后者远比前者丰富复杂(包括很多词汇、句子的歧义性、多义性),说白了,如果把自然语言中的所有文字、词汇等都看成符号的话,区区数理逻辑中的那些很少、有限的符号、公式,能表达完全自然语言中的极端丰富的词汇、概念、语义吗?更不用说语气、情绪、双关、比喻等等了。有人说数理逻辑或符号逻辑比自然语言逻辑严格,但实际上,它的所谓“严格”,仅限于对那些有限的符号,而且这些符号的定义还要靠自然语言,因此,数量很少,不可能充分地表达自然语言的丰富性,而自然语言的歧义性,它其实不但全有,甚至还过之。因为显然,逻辑甚至是数理逻辑,归根结底还是要为数学甚至自然语言服务的,如果这二者产生歧义,数理逻辑可以独善其身吗?除非它不再为数学、自然语言服务,而这样的所谓“逻辑”,又有什么用?总之,就算把数学概念或自然语言概念代入所谓“严格的”数理逻辑符号,那首先也要排除相应的数学、自然语言概念中的歧义性,这个工作,是免不了的,不是什么“数理逻辑最严格”的一句空话就可以解决的。于是笔者认为,逻辑最难的地方,不是什么代入符号,进行公式运算,而是排除目标语言相关概念的歧义性,充分理解其丰富性(与歧义性往往是一个硬币的两面,相辅相成),挖掘出相关名词、概念的真实含义。
综上,悖论的定义笔者认为是:一种隐蔽在某种命题、语句、陈述的表述中的逻辑矛盾,需要正确的推理过程(即指前提讨论过的“狭义的推理过程”)才能被发现。或说是一种隐蔽在某种命题、语句、陈述中的因果性逻辑互推矛盾,构成矛盾性的逻辑循环。也可以说 ,悖论性命题,就是一个隐含着逻辑矛盾的命题。而所谓的“隐含”,就是必须要经过正确的推理过程(指狭义推理过程)才能被发现。而隐含的逻辑矛盾,就是只有通过正确的推理过程才能被发现的逻辑矛盾。这个意义上,它就是一个没有明说或说清楚的矛盾命题,矛盾没有直接地、直观地在该命题中表达出来,需要经过推理才可以被发现。因此悖论之“悖”,不仅仅是一个矛盾或矛盾等价式这么简单,单纯的矛盾或矛盾等价式当然是“悖”,但其悖的明显、无疑义。而悖论之“悖”,是更加悖,是悖上加悖。是一开始被伪装、隐蔽的“悖”。因此,悖论作为一个“论”,是区别于直接了当的矛盾等价式的。所谓“论”,就是推理,而推理其实就是“讲道理”或“需要讲道理”,但讲了半天“道理”,最终却来了个“无道理”,也就是“悖”,这才是“悖论”。因此一个悖论,是包括其隐含矛盾的前提与整个逻辑推理过程最终可以推出一个矛盾等价式(不一定直接表示出这个等价式)的全过程的,而不仅仅是一个矛盾等价式。此定义的好处,是把过去那些定义中,有的说是“错误的逻辑推理导致的”或“正确的推理却产生了矛盾”,二者长期争论不休。但在此定义中,就说清楚其缘由了。其实说起来也很简单:之所以推理步骤a → ┐a及┐a →a等是必须的,是只有通过这个必须的推理才可以得到“矛盾的等价式”a = ┐a,a∧ ┐a等等,原因就是一开始仅就隐含矛盾而言,命题a中并没有明说或可以简单地看出来。这个矛盾,必须经过严密的推理才可以推出来。比如前面举的那个罗素悖论的例子:a = {a |a∉a}。这里面对a的定义,看似没有什么问题,它不过就是一个定义,但其实(a = {a})= a∈a ,直接与a = {a |a∉a}中的a∉a相矛盾。因此罗素悖论的定义式等价于(a∈a)∧(a∉a),也可以表示成(a = {a})∧(a = {┐a}),这当然就是个“矛盾等价式”了。而不经过推导和仔细分析,如此简单的“道理”也没见什么人阐述的像笔者这里这么清晰的。总之,矛盾是包含在对a的定义式等价于 a∈a,但这又与其定义中的条件式a∉a直接矛盾,而这一切,没有明说,是需要推理才可以看出来。这个推理实际上很简单:(a = {a |a∉a}) →(a = {a})→ (a∈a) → (a∈a)∧(a∉a)。这个推理,可以看成是揭示悖论成因(解悖)的推理,而前面的a → ┐a及┐a →a的推理,是推出了悖论的推理。二者当然是不一样的。 由于此悖论一开始的表达式不过是一个集合的定义式,很少有人会想到这个定义式中隐含着一个矛盾。而这正是此悖论之所以为悖论的缘由。只有彻底搞清这点,才算真正解悖。单纯以“不允许此集合定义出现”的硬性规定来消除这个悖论,到头也没有搞清它为什么会产生,也就是此悖究竟悖在何处。当然,揭示这个悖论成因的难点,还在于罗素悖论最初始的公式并不是直接的(a = {a |a∉a}),而是(a = {c |c ∉c}),这里隐含着c ∈ a,即c是a的元素。然后问如果把集合a代替c,会如何?但此时虽然(a = {a |a∉a})就在眼前,但一般人只是问a∉a会出现什么情况等,此时必然陷于一个悖论性的推导,于是就往往掩盖了明确的(a = {a |a∉a})的得到。因此,对该悖论成因的揭示又增加了难度,更容易被人所忽视。 与罗素悖论等价的理发师悖论,如果以a代表理发师,也是一样的悖论成因。如果仅仅知道没有了这个理发师,悖论就不再有了,是不行的。因为悖论在现实中已经被提出来了,它就已经有了,抹不掉了,只有搞清此悖论产生的原因,才算彻底解悖。否则取消了理发师,还不知道为什么他的说法会产生悖论,而只知道它会产生悖论。这个并不是真正意义的解悖。包括谎者悖论的不允许自指代的解悖方案,都是如此。
比如对罗素悖论、理发师悖论,通过不允许这种理发师的存在或他本身就不存在来消除这个悖论,是不行的。这实际是一个逻辑循环。因为它已经存在了,而且产生问题了,才令其“再”不存在,是“马后炮”,是自欺欺人。其逻辑是:已存在了 → 才令其“再”不存在 → 以后“再也”不存在了。而反之,原本不存在 → 自然无法“再”令其不存在 → 以后却可以存在。可见,用这种强行禁止的方式的所谓解悖,它自己就隐含着一个悖论,这本身几乎就是一个悖论性的推理。这类悖论真正的解悖,不是对其视而不见或强行取消它(等价于直接取消、不承认这个悖论的事实存在),而是揭示其自相矛盾的本质。既然理发师的前提与工作直接矛盾(隐含的,由悖论所揭示),那理发师当然无法实施这种工作,比如又给自己理发又不给自己理发,这是不可完成的任务。一旦揭示了此点,就自然知道了这种工作理发师不可能真的能做到,这才叫解悖,而不是问题还没弄明白(悖论产生的原因),就不允许这个理发师存在或不允许他给自己理发,这种所谓的“解悖”,只是表面的、肤浅的,而且悖论既然已经存在了,它作为一种“信息”就早已存在了,按信息的性质,它是可以脱离载体而存在的,也就是说,它其实并不能就此随着理发师的消失而消失。理发师的消失,只是悖论载体的消失,而悖论作为信息已经存在了。这是需要搞清楚的。这么多年,未见什么人彻底厘清此问题。很多人都说把这种理发师“清0”,理发师悖论就算没有了,这是错的。理发师在肉体意义上没有了,其信息犹存,其说过的信息犹存,这是信息的性质之一。
以往很多悖论的定义,只是单纯地描述悖论形成的过程、形式、结果,而对其产生的缘由没有表述或没有强调,就比如谁都知道a → ┐a及┐a →a是个悖论,但因为什么必须如此?推理“→”为什么是必须的?不知道或未说清。只是简单地、表面地描述了推理“→”这个过程是必要的。这种定义,是不完备的、表面性的描述过程性的定义,而不是揭示了深层次的原因的定义。或说是个“浅层定义”、“描述性定义”,而笔者这里给出的,是“深层定义”或“本质性定义”。因此,也可以说笔者提出的悖论的定义,是说悖论是一种特殊的互为因果的矛盾(或“互为矛盾的因与果”),而因果当然就涉及推理,而且还是正确的推理(这里指的是前提讨论过的“狭义推理”)。问题出在互为因果的矛盾上。而且是隐蔽的。因此,说悖论就是矛盾,当然不错,但不全面、精准。因为“是”这个词,可以表达两个意思,一个是所属关系、元素(或子集合)与集合的关系,还有一个意思是等价关系、非所属关系。在所属意义下,说悖论就是矛盾可以,这是把它归于矛盾中的一类矛盾。因此虽然无错,但不完全:它没有具体说是哪一类矛盾。而就等价关系而言,如说悖论就是一个矛盾,就不对了。它与矛盾概念并不等价。它只是诸多矛盾类型中的一个或一部分。它并不是明显的矛盾,而是隐蔽的、特殊的矛盾,具体说就是互为因果的矛盾、互相可以推出的矛盾。
还有“悖论之王”的“强化谎者悖论”,其表示是“本句错”或“本句假”,也可以是“本句不存在”。人们一般着重于其悖论性质的推导,而很多都没有涉及解悖性质的推导。这是由于从这个悖论的表述看,它没有明确地提供这方面的明确的信息,但这并不意味着其就没有隐含的信息。事实上,如果说“本句不存在”,那么其作为一个句子,就已经存在了。存在的就是这个“本句不存在”的句子。因此其完全可以表达成a = ┐a,即以 ┐a来定义a,或说a的定义是┐a,这实际上就是一个解悖的推理结果。而“本句错”,这句话本身,或仅就这三个字而言,这三个字是被准确地、正确无误地表达了的,其“正确无误”地表达出了“它自己是错的”或“它自己是错的”或直说“它自己不是正确无误的”这样一个意思。因此也当然可以表示成a = ┐a,而“本句假”,同样,这三个字或这一句话,也是真的被表达了的,它同样可以用a = ┐a来表示,而此式也可以表示(或推出为)a∧ ┐a,这当然也是个矛盾式。由于a = ┐a、a∧ ┐a是隐含在表述“本句错”等之中的,没有明说,需要推理才可以推出这个矛盾式a = ┐a,因此这就可以视为一个与a → ┐a及┐a →a的悖论性推导相区别的解悖性推导,以“挖出”深藏于“本句错”之类语句或表述中的矛盾来。至此,才算是真正意义的解悖,否则只限于搞什么“不允许这样的自指代”语句出现,是没有讲出什么道理的。
另一个值得一提的问题。有人曾经质疑,甚至众说纷纭:一个悖论,一旦悖消除了,也就是被“解悖”了,还是不是一个悖论了?有人说既然解悖了,就是疑团被消除了,问题搞清了,也就是不再“悖”了,它自然也就不再是悖论了。但还有人说不对,解悖了它仍旧是悖论,否则怎么会有“解悖”这回事?笔者认为后者为妥。悖论即使解悖了,说清了,但按历史沿革,它仍旧存在,这是抹杀不了的。可以说是被解悖了的悖论、不再悖的悖论等等,但它的解悖是需要对前述笔者提出的悖论定义的前提部分的彻底澄清的,而即使澄清了,矛盾仍在,不是澄清了矛盾就没有了,只是被发现了。所以,这个悖论的表述仍旧在那,只是不再继续悖下去了。因此细究起来,像很多自然语言的词汇一样,“悖论”这个词其实也是多义的,或说有歧义的(说足够“丰富”也行,它与“歧义”往往相伴而行)。一种含义,是说没有解悖的悖论,这是真的、仍旧在悖的悖论。还有一种,被说清缘由的悖论,不再悖了,但为尊重历史,且其推理前提中仍旧包含矛盾(尽管是已经被揭示了的矛盾),因此也可以说它还是那个悖论,只不过不再悖下去了,已经不是问题的悖论。这么看还有一个好处,就是很多声称已经对某悖论的解悖方案,其实并不行,如果作者就此声称此悖论已经被他解除,因此就不存在了,难道其他人就不能再碰这个悖论了吗?所以,悖论仍在那里,你研究可以,别人仍旧可以再研究。任何人宣布它不再存在,它也存在,起码是曾经、已经的存在了。
此外,一个悖论,可不可以只指那个悖论性命题?如说“本句错”就是悖论?严格而言不能这么说,因为悖论是经由“本句错”出发通过推理过程得到、形成的。但既然是由它出发而得到的,因此不那么严格地、给这个悖论起个名字的意义上,我们也可以说“本句错悖论”、“谎者悖论”等。显然,谎者本身并不构成悖论,要通过他说的话并且推理才可以得到悖论(因果性矛盾、互推性矛盾),而单纯的“本句错”也一样。
数学联邦政治世界观提示您:看后求收藏(笔尖小说网http://www.bjxsw.cc),接着再看更方便。