个人的一种简单一阶逻辑命题真值判定代数化方法与罗素的一些悖论的杂谈

发布时间 2023-09-10 09:52:12作者: Aryper

0.

逻辑哲学相对于数学哲学来说可能更让人难绷,但既然归入哲学,意味着讨论这玩意儿也就图一乐,大家看着玩就好。

显然可能有人以前也有过和我类似的一些想法,而且可能还不少。但是因为毕竟算不上什么主流,所以写出来也大概率会有一部分人没想到过。

那么这篇文字对于读者的娱乐性就达到了,其他的也不太需要在意。

严谨的数理逻辑框架远比我想的要复杂,但我懒得管了。

1.

所有理解都是个人的,不具有普适性,尤其关于语义悖论方面的想法只是一种随便的解释,不一定具有运用性。

对于命题 \(p\),引入艾弗森括号 \([p]\)

\([p]=1\) 与“命题 \(p\) 为真”的含义完全相同。

类似地,\([p]=0\) 与“命题 \(p\) 为假”的含义完全相同。

下面对一些词汇作更明确的说明。

  1. 陈述句:对确然对象做精确描述的句子。

    个人认为,\(x=1\) 是陈述句,\(x\le 1\) 不是陈述句,而是一个命题。

    个人认为 \(x\le 1\) 应看作 \(x=1, x=2,\cdots\) 等陈述句的或。

  2. 判断:对 \([p]\) 进行计算的过程。

  3. 事实:对所有与其相关的陈述句 \(p\),使得 \([p]\) 有确定的值。

  4. 命题:最终可等价为由陈述句与逻辑演算关系组合而成的句子。

    日常交流的自然语言固然也可以类似化归,但往往是不必要的。

  5. 假设:猜想式地,对某个命题 \(p\),认为 \([p]=0\) 或认为 \([p]=1\)

2. 推理关系及逻辑演算的简单代数化

\([p]\) 的所有可能的结果组成集合 \(\mathbb{B}=\{0,1\}\)

(作者臆想的)定义一种 \(\mathbb{B}\) 上的加法 \(+\),使得:

  1. \(1+1=1\)

  2. \(1+0=1\)

  3. \(0+0=0\)

满足交换律,结合律。

(作者臆想的)定义一种 \(\mathbb{B}\) 上的乘法 \(\cdot\),使得:

  1. \(1 \cdot 1 = 1\)

  2. \(1 \cdot 0 = 0\)

  3. \(0 \cdot 0 = 0\)

满足交换律,结合律。

乘法优先级高于加法,可推出满足分配律。

我们不加解释地认为:\([[p]=1]=[p]\)

以下可以理解为对推理关系以及逻辑演算的定义。

  1. \([p\land q] = \min \{[p],[q]\} = [p] [q]\)

  2. \([p\lor q] = \max \{[p],[q]\} = [p] + [q]\)

  3. \([\lnot p] = [[p]=0]\)

  4. \(p \Leftrightarrow q\) 的含义是 \([p]=[q]\)

  5. \(p\Rightarrow q\) 的含义是 \([p]\le [q]\)

  6. \(\forall p:q\) 的含义是 \([p]\le [q]\)

  7. \(\exists p:q\) 的含义是 \([p]>[\lnot q]\)

由此得到一些简单的等式:

  1. \([[p]=0]+[[q]=0]=[[p][q]=0]\)

  2. \([[p]+[q]=0]=[[p]=0][[q]=0]\)

3. 语义悖论

语义悖论的自然语言表达式:这句话是假的。

使用符号化的形式:\(p:[p]=0\)

如果让我们计算 \([p]\) 的话,第一点,条件是不足的;第二点,会发现 \([p]\) 不存在确值。

但从这种偏向代数的角度来说,这仅仅只是一种代数结构,意思就是 \([p]\) 无解而已。

类似地如果有这样轮换的命题 \(p,q\),则 \([p],[q]\) 是有解的,且有两组。

但是 \(p,q,r\) 轮换的情况,\([p],[q],[r]\) 则无解。

什么,你想让它有解?

那你令 \([p]=[[p]=0]=\operatorname{i}\) 即可,至于这个 \(\operatorname{i}\) 是什么意思,那只能随便理解了。

我们根据上面(臆想的一些运算方法),简单(臆想)得到:

  1. \([\operatorname{i}=0]=\operatorname{i}\)

  2. \([\operatorname{i}=1]=\operatorname{i}\)

  3. \([\operatorname{i}=\operatorname{i}]=1\)

  4. \(1+\operatorname{i}=1\)

  5. \(0+\operatorname{i}=\operatorname{i}\)

  6. \(\operatorname{i}+\operatorname{i}=\operatorname{i}\)

  7. \(0\cdot\operatorname{i}=0\)

  8. \(1\cdot\operatorname{i}=\operatorname{i}\)

  9. \(\operatorname{i}\cdot\operatorname{i}=\operatorname{i}\)

可以验证是基本符合上面的规定的。但很显然,现在的 \(\operatorname{i}\)\(1,0\) 不存在偏序关系。

那从这样的角度来说,语义悖论只是一个有特殊解的命题 \(p\)

4. 罗素悖论

罗素悖论(一般所说):\(S=\{x\mid x\notin x\}\)

按照想当然的想法将无法判断 \(S\in S\) 还是 \(S\notin S\)

为了解决这个悖论,现在常引入正则公理,以此否定所有的 \(S\in S\) 的情况。

但笔者比较憨憨,觉得这样做可能舍弃了一些可能重要的东西,所以提出一种消解悖论的集合论定义。

这种消解的方式在于区别看待自属和它属。

我们有如下命题:

\(p_1: x\in S\)

\(p_2: x\notin S\)

\(p_3: [p_1\lor p_2] = 1\)

\(p_4: [p_1\land p_2] = 0\)

\(p_5: x\in x\)

\(p_6: x\notin x\)

为适应一般的自然语言所满足的排中律,我们依旧采用普通的想法:

\(p_7: [p_5\lor p_6] = 1\)

\(p_8: [p_5\land p_6] = 0\)

为了方便说明,我们区别于 \(x\)(即非 \(S\) 的元素):

\(p_9: S\in S\)

\(p_{10}: S\notin S\)

两则依旧遵守 \(p_7,p_8\)

罗素悖论干的是什么呢?其实就是令 \([p_6]=[p_1]\),且令 \([p_{10}]=[p_9]\)

第一个显然问题不大,但是第二个相当于一开始就在违背 \(p_7,p_8\) 了(即一般的排中律),也就是说,这个定义从根本上来说就只是在说怪话而已。

ZFC 公理为什么否定包含自身的集合,本质原因其实在于它只承认从确切元素开始不断生成的集合,而包含自身的集合是不能被从头地构造的。

毕竟就连一个一般的初中生应该都能大概地去想象一个包含自身的集合应该是什么样的,我确实地觉得进行直接的否认是一种欠妥的方式(虽然这样可以获得暂时的安心)。

而至于这种集合会有怎样的功用,至少我现在并不清楚。

当然也有一种离谱一点的,就是令 \([p_7]=[p_8]=\operatorname{i}\),这样的话罗素悖论想构造的集合是一个在命题上有解的东西,至于这个集合存不存在,我不知道。

有关无限递降的集合序列的问题和公理是强相关的,你怎么认为决定它存不存在。