广漠之野

《西南联大逻辑学通识课》第二章 part7

最后一节讲“自我涉指”的问题。比如,“一切真理都是相对的”这个命题是否为真。如果这个命题为真,那么这个语句也为真,这个语句本身不就是确定的真理吗?既然存在确定性真理,那么你的命题就为假。所以产生了自我矛盾。用逻辑学公式表示为:

如果p,那么-p。

这种推论显然是无效的。

这种命题很多,比如:“这个世界没有真理”,“这个世界没有真相”,“我是在说谎”等等。

以上都涉及到语言的自我指涉,即语言指谓了自己。

其实 “一切真理都是相对的”这个命题背后有两个命题。一是意指,指向到背后的对象——这个道理是否为真。二是所指,指向的这个语句——这个语句是否为真。因为这是两个层面且互相矛盾,所以产生了悖论。

当然还有“道可道,非常道”,既然一旦言说就“非常道”,那道德经五千个字本身是否也只能表述一种“非常道”。作者恰恰开篇就承认存在自我涉指,这本书只是在尽可能的去尝试表述清楚。尤其紧接着的“名可名,非常名”,那就更清晰了,直接触及到了自然语言的边界。可以对事物命名,但是一旦命名本身就会产生歧义,因为命名目的是指向对象,但不免受到指向语句本身的干扰。

还有一种悖论,它是没有遵循“类不可以是自己的一分子”导致的。

比如,“理发师只给整个城镇里自己不刮胡子的人刮胡子”,砸一听,好像没毛病,符合我们的直觉。但是,理发师给自己刮胡子,那么他违反“只给不自己刮胡子的人刮胡子”。如果他不给自己刮胡子,那么那属于“应该被刮胡子的人”,然后要给自己刮胡子。所以,这是一个逻辑悖论。

当然,如果硬要这个命题成立也可以,让两个理发师互相刮胡子。但是,注意这里引入了第二个理发师的时候,已经消除了自我涉指(自己给自己理发)。所以,解决方案就是首先不存在自我涉指。

现代逻辑学里面为了解决自我涉指,引入了类型论。
1、集合(类)有严格阶层。
2、个体属于 0阶,由个体组成的集合属于 1阶,由 1阶集合组成的集合属于 2阶。
低阶的元素可以属于高阶的集合,但一个集合绝对不能包含它同阶或高阶的集合,更不能包含它自己。

A = [1,2,3,4,5]
B = [2,3,4,5,6]
C = [A,B]

1 in A is true
1 in C is false (属于关系不能跨阶层传递)

1 in 1 # type error (直接报错 0阶不能包含0阶)
A in A # type error (直接报错 1阶不能包含1阶)
C in C # type error (直接报错 2阶不能包含2阶,同阶层不能属于同阶层本身)

编程语言里面必须解决自我涉指,一个对象不断指向对象自身,会内存无限膨胀,导致程序崩溃。

而在我们日常使用的人类自然语言中如何避免,作者给出如下建议:我们必须限制使用所谓全体之构造。我们使用“一切”时,必须特别小心。我们不能说同一类型的一切事物,或说某一层次的语言之一切表示。我们不能无限制的说“一切语言”。我们用来说一切语言的语言,一定是比所说及的最高层次的语言还要高一层次。

那么,开头的命题如何表述。

“一切描述经验世界的真理都是相对的”(本语句不是描述经验世界)
“除了本语句之外,一切真理都是相对的”