读书笔记:《数学女孩 3:哥德尔不完备定理》 | 数理逻辑没入门
luogu_gza
·
·
学习·文化课
本文内容大多抄录自结城浩《数学女孩 3:哥德尔不完备定理》,带有少量的我的见解。
这本书中有若干个错误……我也给他修正了……
本文承认排中律。
本文纯理性愉悦,请勿认真对待。
我们将创造一个形式系统 P,并证明它是不完备的。
诶?不完备是什么意思?意思是存在一个语句 A 使得在其中不存在 A 或 \neg A 的证明。
形式系统 P 的定义
我们这里是在定义一个另类的数学系统(这个表述很不准确!),因此请将你的脑子丢掉。
常量
- 常量 I 0 是常量
- 常量 II \texttt{f} 是常量
- 常量 III \neg 是常量
- 常量 IV \lor 是常量
- 常量 V \forall 是常量
- 常量 VI \texttt{(} 是常量
- 常量 VII \texttt{)} 是常量
变量
- 第 1 型变量:x_1,y_1,z_1,\cdots 是用于数的变量,将其称为第 1 型变量
- 第 2 型变量:x_2,y_2,z_2,\cdots 是用于数的集合变量,将其称为第 2 型变量
- 第 3 型变量:x_3,y_3,z_3,\cdots 是用于数的集合的集合变量,将其称为第 3 型变量
以此类推。
数项和符号
这里我们用类似于皮亚诺公理的方法来表示数。
- 用数项 0 表示 0
- 用数项 \texttt{f0} 表示 1
- 用数项 \texttt{ff0} 表示 2
-
\cdots\cdots
我们把 \texttt{0,f0,ff0,}\cdots 称为数项。
符号
我们将 \texttt{0,f0,ff0},\cdots 或 \texttt{x,fx,ffx,}\cdots 称为第 1 型符号,此处设 x 是第 1 型变量。
我们将第 2 型变量称为第 2 型符号。
我们将第 3 型变量称为第 3 型符号。
以此类推第 n(n \geq 4) 型符号的定义。
基本逻辑公式
我们把 \texttt{a(b)} 这种形式的符号序列称为基本逻辑公式。这里设 \texttt{a} 是第 n+1 型符号,\texttt{b} 是第 n 型符号。例如 x_2\texttt{(}0\texttt{)}、y_2\texttt{(ff}x_1\texttt{)}、z_{114}\texttt{(ffff}x_{113}\texttt{)},他们都是基本逻辑公式。
感性理解一下,就是集合和元素的关系。这也是为什么我们在定义变量的时候强调了它们是【用于数的变量】【用于数的集合变量】【用于数的集合的集合变量】。
逻辑公式
-
逻辑公式 I 基本逻辑公式是逻辑公式
-
逻辑公式 II 若 \texttt{a} 是逻辑公式,则 \neg\texttt{(a)} 也是逻辑公式
-
逻辑公式 III 若 \texttt{a} 和 \texttt{b} 都是逻辑公式,则 \texttt{(a)}\lor\texttt{(b)} 也是逻辑公式。
-
逻辑公式 IV 若 \texttt{a} 是逻辑公式且 x 为变量,则 \forall x\texttt{(a)} 也是逻辑公式。
-
逻辑公式 V 只有满足上述条件的才是逻辑公式
省略形式
-
省略形式 I 将 \texttt{(a)} \to \texttt{(b)} 定义为 \texttt{(}\neg\texttt{(a))}\lor\texttt{(b)}
-
省略形式 II 将 \texttt{(a)}\land\texttt{(b)} 定义为 \neg\texttt{((}\neg\texttt{(a))}\lor\texttt{(}\neg\texttt{(b)))}
-
省略形式 III 将 \texttt{(a)}\leftrightarrows\texttt{(b)} 定义为 \texttt{((a)}\to\texttt{(b))}\land\texttt{((b)}\to\texttt{(a))}
-
省略形式 IV 将 \exist x\texttt{(a)} 定义为 \neg\texttt{(}\forall x\texttt{(a)))}
-
括号的省略 为了看起来方便,后面我们会省略冗长的括号
公理
首先是皮亚诺公理。
- 公理 I-I \neg\texttt{(f}x_1=\texttt{0)}
- 公理 I-II \texttt{(f}x_1=\texttt{f}y_1\texttt)\to\texttt(x_1=y_1\texttt)
- 公理 I-III x_2\texttt{(0)}\land\forall x_1\texttt(x_2\texttt(x_1\texttt)\to x_2\texttt{(f}x_1\texttt{))}\to\forall x_1\texttt(x_2\texttt(x_1\texttt{))}
诶?= 是什么?
- 等于 x_1=y_1\overset{\text{def}}{\Longleftrightarrow}\forall u\texttt(u\texttt(x_1\texttt)\to u\texttt(y_1\texttt{))}
诶?\overset{\text{def}}{\Longleftrightarrow} 是什么?这是将左边的式子定义为右边的式子的意思。
其次是命题逻辑的公理。
再次是谓词逻辑的公理。
- 公理 III-I \forall v\texttt{(}a\texttt{)}\to\texttt{subst(}a,v,c\texttt{)}
诶?\texttt{subst} 是什么?
关于自由的与受约束的可以理解为变量与有一定限制条件的变量,在后续我们还会对这一概念做更详细的解释,此处先按下不表。
这里举一这个函数的例子,\texttt{subst(}\neg\texttt(x_2\texttt(x_1\texttt{))},x_1,\texttt{f0}\texttt) 即为 \neg\texttt(x_2\texttt{(f0}\texttt{))}。
- 公理 III-II \forall\texttt(b\lor a\texttt)\to b\lor \forall v\texttt(a\texttt)
这里假设 v 是任意变量,b 中不出现自由的 v。
然后是集合的内涵公理。
- 公理 IV \exist u\texttt(\forall v\texttt(u\texttt(v\texttt)\leftrightarrows a\texttt)\texttt)
这里假设:
聪明的同学,可以发现这其实是集合的内涵定义……可以理解为"逻辑公式 a 决了集合 u"。
最后是集合的外延公理。
- 公理 V \forall x_1\texttt( x_2\texttt( x_1 \texttt) \leftrightarrows y_2\texttt( x_1 \texttt) \texttt) \to \texttt(x_2=y_2\texttt)
我们将这个逻辑公式进行”形式提升“后的逻辑公式也定为公理,也就是说下面一串逻辑公式都是公理。
-
\forall x_1\texttt( x_3\texttt( x_1 \texttt) \leftrightarrows y_3\texttt( x_1 \texttt) \texttt) \to \texttt(x_3=y_3\texttt)
-
\forall x_1\texttt( x_4\texttt( x_1 \texttt) \leftrightarrows y_4\texttt( x_1 \texttt) \texttt) \to \texttt(x_4=y_4\texttt)
-
\cdots\cdots
可以理解为“集合中的元素表述了集合”。
推理规则
- 推理规则-I 根据 a 和 a\to b 得到 b
- 推理规则-II 根据 a 得到 \forall v\texttt(a\texttt),这里的 v 是任意变量,可以理解为【既然任意情况下可以导出 a,那么加上 \forall v 也能导出 a】。
哥德尔数
终于,我们要开始研究这个形式系统了!
请注意,我们已回归到普通的数学世界,所以请让你的脑子回来吧。
所谓哥德尔数,就是构建一种符号序列到正整数的映射(但是每个正整数只对应一个符号序列)。
通过这种方法,我们可以将抽象的逻辑符号转换为更方便研究的数字,但我也不知道这样做的动机是什么,可能是因为人们对于数字有更长久更深刻的研究吧!
下文数字均为自然数。
基本符号的哥德尔数
我们将不大于 13 的奇数分配给常量。
| 常量 |
哥德尔数 |
| 0 |
1 |
| \texttt f |
3 |
| \neg |
5 |
| \lor |
7 |
| \forall |
9 |
| \texttt( |
11 |
| \texttt) |
13 |
我们将大于 13 的质数分配给第 1 型变量。
| 变量 |
哥德尔数 |
| x_1 |
17 |
| y_1 |
19 |
| z_1 |
23 |
| \cdots |
\cdots |
我们将大于 13 的质数的平方分配给第 2 型变量。
| 变量 |
哥德尔数 |
| x_2 |
17^2 |
| y_2 |
19^2 |
| z_2 |
23^2 |
| \cdots |
\cdots |
我们将大于 13 的质数的立方分配给第 3 型变量。
| 变量 |
哥德尔数 |
| x_3 |
17^3 |
| y_3 |
19^3 |
| z_3 |
23^3 |
| \cdots |
\cdots |
以及类推第 n(n\geq 4) 型变量的哥德尔数。
序列的哥德尔数
我们思考形如 n_1,n_2,\cdots,n_m 的哥德尔数序列,定义其哥德尔数为:
\prod_{i=1}^{m}\text{prime}_i^{n_i}
其中 \text{prime}_i 为从小到大排列第 i 个质数。
举个例子!如表示 2 的数项 \texttt{ff0},其对应的哥德尔数序列为 3,3,1,那么它的哥德尔数就是 2^3 \times 3^3 \times 5^1=1080。
符号序列的序列的哥德尔数也类似。
可以发现一些哥德尔数的性质。
- 如果哥德尔数是偶数就表示序列,反之就不表示序列
- 如果哥德尔数质因数分解中 2 的个数是奇数就表示符号序列,如果是偶数就是符号序列的序列
想到用唯一分解定理来保证哥德尔数对应序列的唯一,哥德尔也真是个天才呢
原始递归性
原始递归定义
举个例子 \texttt{factorial}(n),可以将其定义为:
\begin{cases}
\texttt{factorial}(0)=1 \\
\texttt{factorial}(n+1)=(n+1)\times\texttt{factorial}(n)
\end{cases}
事实上计算这个式子还需要用到乘法和加法,所以我们稍微深入一下。
如下定义函数 F 时,我们称函数 F 是由函数 G 和 H 经原始递归定义的:
\begin{cases}
F(0,x)=G(x) \\
F(n+1,x)=H(n,x,F(n,x))
\end{cases}
但是实际应用场景中我们的函数可能不止两个变量,因为用下列形式,由函数 G 和 H 定义的函数 F 也是经原始递归定义的:
\begin{cases}
F(0,\vec x)=G(\vec x) \\
F(n+1,\vec x)=H(n,\vec x,F(n,\vec x))
\end{cases}
其中 \vec x 是 x_1,x_2,\cdots,x_{N-1} 的省略形式。
原始递归函数
在定义了【经原始递归定义】这个概念后,我们来定义一下原始递归函数:
- 常量函数是原始递归函数
- 求后继数的函数是原始递归函数
- 由两个原始递归函数经原始递归定义的函数是原始递归函数
- 往原始递归函数的变量里面带入原始递归函数后得到的函数是原始递归函数
- 像 F(\vec x)=x_k 这样的【提取变量值】的投影函数是原始递归函数
- 只有符合上述条件的是原始递归函数
接下来我们来定义原始递归谓词。
- 存在满足 R(n,\vec x) \iff F(n,\vec x)=0 的原始递归函数 F(n,\vec x) 的谓词 R(n,\vec x) 叫做原始递归谓词。
意思大概是 R(n,\vec x) 在对于 F(n,\vec x)=0 做出判定。
原始递归函数的定理
原始递归函数有如下定理:
- 往原始递归函数(谓词)的变量里带入原始递归函数后,所得结果也是原始递归函数(谓词)
- 若 R 和 S 是原始递归谓词,则 \neg R,R\land S,R \lor S 也是原始递归谓词。
- 若 F 和 G 是原始递归函数,则 F=G 是原始递归谓词
- 若 M 是原始递归函数,R 是原始递归谓词,则 S 是原始递归谓词
S(\vec x,\vec y)\iff \forall n\left[n \leq M(\vec x)\Rightarrow R(n,\vec y)\right]
这里谓词 S 的含义是【对于所有小于等于 M(\vec x) 的 n 都有 R(n,\vec y)】
此处 \vec x,\vec y 分别表示有限个变量序列。
- 若 M 是原始递归函数,R 是原始递归谓词,则 T 是原始递归谓词
T(\vec x,\vec y)\iff \exist n\left[n \leq M(\vec x)\land R(n,\vec y)\right]
这里谓词 T 的含义是【存在小于等于 M(\vec x) 的 n 有 R(n,\vec y)】
此处 \vec x,\vec y 分别表示有限个变量序列。
- 若 M 是原始递归函数,R 是原始递归谓词,则 F 是原始递归函数
F(\vec x,\vec y)= \min n\left[n \leq M(\vec x)\land R(n,\vec y)\right]
这个函数用来求最小的 n \leq M(\vec x) 满足 R(n,\vec y)
此处若合法的 n 不存在,函数值被定义为 0。
表现定理
书中没有提到其证明,我在这里也偷偷略过了!
若 R 是包含两个变量的原始递归谓词,则对于任意数 m,n,都存在包含两个变量的逻辑公式 r,使得以下关系成立:
这里 r\langle \overline{m},\overline{n}\rangle 的意思是把 r 中的变量替换为数项 \overline m,\overline n。
通往证明的漫漫长路
从现在开始,我们要构造谓词【p 是 x 的形式证明】,准备好吧!
首先说明几个定义……
-
\forall x \leq M [\cdots]\overset{\text{def}}{\Longleftrightarrow} \forall x[x \leq M \Rightarrow \cdots]
-
\exist x \leq M [\cdots]\overset{\text{def}}{\Longleftrightarrow} \exist x[x \leq M \Rightarrow \cdots]
-
\min x \leq M [\cdots]\overset{\text{def}}{=} \min x[x \leq M \Rightarrow \cdots]
-
我们用形如 \boxed{(} 的方式来指代这个字符的哥德尔数。
具体的:
-
\boxed{0} \overset{\text{def}}{\Longleftrightarrow} 1
-
\boxed{\texttt{f}} \overset{\text{def}}{\Longleftrightarrow} 3
-
\boxed{\neg} \overset{\text{def}}{\Longleftrightarrow} 5
-
\boxed{\lor} \overset{\text{def}}{\Longleftrightarrow} 7
-
\boxed{\forall} \overset{\text{def}}{\Longleftrightarrow} 9
-
\boxed{(} \overset{\text{def}}{\Longleftrightarrow} 11
-
\boxed{)} \overset{\text{def}}{\Longleftrightarrow} 13
数论
先列出一些基础的数论方面的函数,用来简化后续式子。
$$
\texttt{CanDivide}(x,d)\overset{\text{def}}{\Longleftrightarrow}\exist n\leq x[x=d \times n]
$$
> 你可能觉得 $n \leq x$ 是无用的,但是这其实是用来保证 $\texttt{Candivide}$ 是一个原始递归谓词的
$\texttt{IsPrime}(x)$ 是谓词【$x$ 是质数】。
$$
\texttt{IsPrime}(x)\overset{\text{def}}{\Longleftrightarrow}x>1\land (\exist d\leq x[d \neq 1 \land d \neq x \land \texttt{CanDivide}(x,d)])
$$
> 大于 $1$ 的不存在非平凡因子的数是质数
$\texttt{CanDivideByPrime}(x,p)$ 是谓词【$x$ 能被 $p$ 整除且 $p$ 为质数】,可以说是缩写了一下。
$$
\texttt{CanDivideByPrime}(x,p)\overset{\text{def}}{\Longleftrightarrow}\texttt{CanDivide}(x,p) \land \texttt{IsPrime}(p)
$$
$\texttt{prime}(n,x)$ 是求【$x$ 的第 $n$ 个质因数(从小到大)】的函数,第 $0$ 个质因数被定义为 $0$。
$$
\begin{cases}
\texttt{prime}(n,0)\overset{\text{def}}{\Longleftrightarrow}0 \\
\texttt{prime}(n+1,x)\overset{\text{def}}{\Longleftrightarrow}\min p \leq x[\texttt{prime}(n,x)<p \land \texttt{CanDivideByPrime(x,p)}]
\end{cases}
$$
> 大于第 $n$ 个质因数的最小质因数就是第 $n+1$ 个质因数
$\texttt{factorial}(n)$ 是求【$n$ 的阶乘】的函数。
$$
\begin{cases}
\texttt{factorial}(0)\overset{\text{def}}{\Longleftrightarrow} 1 \\
\texttt{factorial}(n+1)\overset{\text{def}}{\Longleftrightarrow} (n+1) \times \texttt{factorial}(n)
\end{cases}
$$
$p_n$ 是求【第 $n$ 个质数(从小到大)】的函数,第 $0$ 个质数被定义为 $0$。
$$
\begin{cases}
p_0 \overset{\text{def}}{\Longleftrightarrow} 0 \\
p_{n+1} \overset{\text{def}}{\Longleftrightarrow} \min p \leq M_1(n)[p_n < p \land \texttt{IsPrime}(p)]
\end{cases}
$$
此处 $M_1(n)\overset{\text{def}}{\Longleftrightarrow}\texttt{factorial}(p_n)+1$,也是为了规定一个上限保证函数是原始递归函数。
> 为什么这里的 $M_1(n)$ 要取这个值?由于 $M_1(n) \equiv 1 \pmod{p_i}$ 对于 $1 \leq i \leq n$ 都成立,所以要么存在一个小于 $M_1(n)$ 的质数,要么它本身就是下一个质数。 这样就保证了能在 $1 \sim M_1(x)$ 之间找到一个质数。
$\texttt{CanDivideByPower}(x,n,k)$ 是谓词【$x$ 能被 $x$ 的第 $n$ 的质因子的 $k$ 次方整除】。
$$
\texttt{CanDivideByPower(x,n,k)} \overset{\text{def}}{\Longleftrightarrow} \texttt{CanDivide}(x,\texttt{prime}(n,x)^k)
$$
### 序列
从这里开始,我们开始刻画形式系统 $P$ 中的序列!
$x[n]$ 是求【序列 $x$ 的第 $n$ 个元素】的函数。
$$
x_n\overset{\text{def}}{\Longleftrightarrow}\min k \leq x [\texttt{CanDivideByPower}(x,n,k) \land \neg \texttt{CanDivideByPower}(x,n,k+1)]
$$
> 可以回忆一下序列的哥德尔数,序列的第 $n$ 个元素就是其在 $p_n$ 这个质因子上的幂次
$\texttt{len}(x)$ 是求【序列 $x$ 的长度】的函数。
$$
\texttt{len}(x)\overset{\text{def}}{\Longleftrightarrow}\min k \leq x[\texttt{prime(k,x)>0} \land \texttt{prime}(k+1,x)=0]
$$
$x * y$ 是求【连接序列 $x$ 和序列 $y$ 的序列】的函数。
$$
x * y \overset{\text{def}}{\Longleftrightarrow}\min z \leq M_2(x,y) [\forall m \leq \texttt{len}(x)[1 \leq m \Rightarrow z[m]=x[m]]\land \forall n \leq \texttt{len}(y)[1 \leq n \Rightarrow z[\texttt{len}(x)+n]=y[n]]]
$$
此处 $M_2(n)\overset{\text{def}}{\Longleftrightarrow}(p_{\texttt{len}(x)+\texttt{len}(y)})^{x+y}$。
> 这个函数的意思是,最小的 $z$ 满足 $1 \sim \texttt{len}(x)$ 和 $x$ 对齐,$\texttt{len}(x)+1 \sim \texttt{len}(y)$ 和 $y$ 对齐
$\langle x \rangle$ 是求【仅由 $x$ 构成的序列】的函数,这里假设 $x>0$。
$$
\langle x \rangle \overset{\text{def}}{\Longleftrightarrow} 2^x
$$
$\texttt{paren}(x)$ 是求【把 $x$ 放到括号里面的序列】的函数。
$$
\texttt{paren}(x)\overset{\text{def}}{\Longleftrightarrow}\langle\boxed{(}\rangle * x* \langle\boxed{)}\rangle
$$
### 变量、符号与逻辑公式
$\texttt{IsVarBase}(p)$ 是谓词【$p$ 是第 $1$ 型变量】。
$$
\texttt{IsVarBase}(p) \overset{\text{def}}{\Longleftrightarrow} p>\boxed{)}\land\texttt{IsPrime}(p)
$$
> 我们曾经提到过:将大于 $13$ 的质数分配给第 $1$ 型变量
$\texttt{IsVarType}(x,n)$ 是谓词【$x$ 是第 $n$ 型变量】。
$$
\texttt{IsVarType}(x,n) \overset{\text{def}}{\Longleftrightarrow} n \geq 1 \land \exist p \leq x[\texttt{IsVarBase}(p) \land x=p^n]
$$
$\texttt{IsVar}(x)$ 是谓词【$x$ 是变量】。
$$
\texttt{IsVar}(x) \overset{\text{def}}{\Longleftrightarrow} \exist n \leq x [\texttt{IsVarType}(x,n)]
$$
$\texttt{not}(x)$ 是求【$\neg(x)$ 】的函数。
$$
\texttt{not}(x)\overset{\text{def}}{\Longleftrightarrow} \langle \boxed{\neg}\rangle * \texttt{paren}(x)
$$
$\texttt{or}(x,y)$ 是求【$(x)\lor(y)$ 】的函数。
$$
\texttt{or}(x,y)\overset{\text{def}}{\Longleftrightarrow}\texttt{paren}(x)*\langle\boxed{\lor}\rangle*\texttt{paren}(y)
$$
$\texttt{forall}(x,a)$ 是求【$\forall x(a)$】的函数。
$$
\texttt{forall}(x,a)\overset{\text{def}}{\Longleftrightarrow}\langle\boxed{\forall}\rangle*\langle x \rangle * \texttt{paren}(a)
$$
> 后续使用 $\texttt{forall}(x,a)$ 的时候,要记得检查 $x$ 是不是变量
$\texttt{succ}(n,x)$ 是求【$x$ 的第 $n$ 个后继数】的函数。
$$
\begin{cases}
\texttt{succ}(0,x)\overset{\text{def}}{\Longleftrightarrow}x \\
\texttt{succ}(n+1,x)\overset{\text{def}}{\Longleftrightarrow}\langle\boxed{\texttt{f}}\rangle * \texttt{succ}(n,x)
\end{cases}
$$
$\overline{n}$ 是求【$n$ 的数项】的函数。
$$
\overline{n}\overset{\text{def}}{\Longleftrightarrow} \texttt{succ}(n,\langle\boxed{0}\rangle)
$$
$\texttt{IsNumberType}(n)$ 是谓词【$x$ 是第 $1$ 型符号】。
$$
\texttt{IsNumberType}(n)\overset{\text{def}}{\Longleftrightarrow}\exist m,n \leq x[(m=\boxed{0}\land\texttt{IsVarType}(m,1))\land x=\texttt{succ}(n,\langle m \rangle)]
$$
$\texttt{IsNthType}(x,n)$ 是谓词【$x$ 是第 $n$ 型符号】。
$$
\texttt{IsNthType}(x,n)\overset{\text{def}}{\Longleftrightarrow} (n=1 \land \texttt{IsNumberType}(x)) \lor (n>1 \land \exist v\leq x [\texttt{IsVarType}(v,n) \land x=\langle v \rangle])
$$
$\texttt{IsElementForm}(x)$ 是谓词【$x$ 是基本逻辑公式】。
> 大家肯定已经忘了基本逻辑公式的定义了吧!
>
> 来回顾一下:我们把 $\texttt{a(b)}$ 这种形式的符号序列称为基本逻辑公式。这里设 $\texttt{a}$ 是第 $n+1$ 型符号,$\texttt{b}$ 是第 $n$ 型符号。
$$
\texttt{IsElementForm}(x)\overset{\text{def}}{\Longleftrightarrow} \exist a,b,n \leq x [\texttt{IsNthType}(a,n+1) \land \texttt{IsNthType}(b,n) \land x=a*\texttt{paren}(b)]
$$
$\texttt{IsOp}(x,a,b)$ 是谓词【$x$ 是 $\neg(a)$ 或 $(a)\lor(b)$ 或 $\forall v(a)$】。
$$
\texttt{IsOp}(x,a,b)\overset{\text{def}}{\Longleftrightarrow} x=\texttt{not}(a)\lor x=\texttt{or}(a,b) \lor \exist v \leq x [\texttt{IsVar}(v) \land x=\texttt{forall}(v,a)]
$$
$\texttt{IsFormSeq}(x)$ 是谓词【$x$ 是根据基本逻辑公式构建的逻辑公式的序列】。
$$
\texttt{IsFormSeq}(x)\overset{\text{def}}{\Longleftrightarrow} \texttt{len}(x)>0 \land \forall n \leq \texttt{len}(x)[n>0\Rightarrow \texttt{IsElementForm}(x[n]) \lor \exist p,q<n[p,q>0\land \texttt{IsOp}(x[n],p[n],q[n])]]
$$
重新来看看逻辑公式的定义理解一下……
> **逻辑公式 I** 基本逻辑公式是逻辑公式
> **逻辑公式 II** 若 $\texttt{a}$ 是逻辑公式,则 $\neg\texttt{(a)}$ 也是逻辑公式
> **逻辑公式 III** 若 $\texttt{a}$ 和 $\texttt{b}$ 都是逻辑公式,则 $\texttt{(a)}\lor\texttt{(b)}$ 也是逻辑公式。
> **逻辑公式 IV** 若 $\texttt{a}$ 是逻辑公式且 $x$ 为变量,则 $\forall x\texttt{(a)}$ 也是逻辑公式。
> **逻辑公式 V** 只有满足上述条件的才是逻辑公式
$\texttt{IsEndedWith}(n,x)$ 是谓词【$n$ 的最后一个元素是 $x$】。
$$
\texttt{IsEndedWith}(n,x)\overset{\text{def}}{\Longleftrightarrow} n[\texttt{len}(n)]=x
$$
$\texttt{IsForm}(x)$ 是谓词【$x$ 是逻辑公式】,这里我们定义其为【存在一个根据基本逻辑公式构建的逻辑公式的序列使得最后一个元素是 $x$】。
$$
\texttt{IsForm}(x)\overset{\text{def}}{\Longleftrightarrow} \exist n \leq M_3(n)[\texttt{IsFormSeq}(n) \land \texttt{IsEndedWith}(n,x)]
$$
此处 $M_3(n)\overset{\text{def}}{\Longleftrightarrow}(p_{\texttt{len}(x)^2})^{x \times \texttt{len}(x)^2}$。
### 限制、替换与形式提升
开始操纵公式了呢……
---
$\texttt{IsBoundAt}(v,n,x)$ 是谓词【变量 $v$ 在 $x$ 的第 $n$ 个位置受到了约束】。
$$
\texttt{IsBoundAt}(v,n,x)\overset{\text{def}}{\Longleftrightarrow} \texttt{IsVar}(v) \land \texttt{IsForm}(x) \land \exist a,b,c \leq x[x=a*\texttt{forall}(v,b)*c\land\texttt{IsForm}(b)\land\texttt{len}(a)+1\leq n \leq \texttt{len}(a)+\texttt{len}(\texttt{forall}(v,b))]
$$
> 这里可以理解为 C++ 中的 scope,具体的看完公式你就理解了
$\texttt{IsFreeAt}(v,n,x)$ 是谓词【变量 $v$ 在 $x$ 的第 $n$ 个位置没有受到约束】。
$$
\texttt{IsFreeAt}(v,n,x) \overset{\text{def}}{\Longleftrightarrow}\texttt{IsVar}(v) \land \texttt{IsForm}(x) \land v=x[n] \land n \leq \texttt{len}(x) \land \neg \texttt{IsBoundAt}(v,n,x)
$$
> 这里仍然需要检查传入的变量是否合法
$\texttt{IsFree}(v,x)$ 是谓词【$v$ 是 $x$ 的自由变量】。
$$
\texttt{IsFree}(v,x)\overset{\text{def}}{\Longleftrightarrow} \exist n \leq \texttt{len}(x)[\texttt{IsFreeAt}(v,n,x)]
$$
$\texttt{substAtWith}(x,n,c)$ 是求【用 $c$ 代换 $x$ 的第 $n$ 个元素后的结果】的函数。
$$
\texttt{substAtWith}(x,n,c)\overset{\text{def}}{\Longleftrightarrow}\min z \leq M_2(x,c)[\exist a,b \leq x[n=\texttt{len}(a)+1 \land x=a*\langle x[n] \rangle * b \land z=a*c*b]]
$$
$\texttt{freepos}(k,v,x)$ 是求【$x$ 的第 $k+1$ 个自由的 $v$ 的位置】的函数,值得注意的是这里的第 $k+1$ 个是从后往前数的第 $k+1$ 个,具体缘由我们等会儿再讲。特殊的,如果 $v$ 在这个位置不自由时函数返回 $0$。
$$
\texttt{freepos}(0,v,x)\overset{\text{def}}{\Longleftrightarrow} \min n \leq \texttt{len}(x)[\texttt{IsFreeAt}(v,n,x) \land \neg (\exist p \leq \texttt{len}(x)[n<p \land \texttt{IsFreeAt}(v,p,x)])] \\
\texttt{freepos}(k+1,v,x)\overset{\text{def}}{\Longleftrightarrow} \min n < \texttt{freepos}(k,v,x)[\texttt{IsFreeAt}(v,n,x) \land \neg[\exist p<\texttt{freepos}(k,v,x)[n<p \land \texttt{IsFreeAt}(v,p,x)]]]
$$
> 最小的自由位置满足其与上一个自由位置之间无自由位置
$\texttt{freenum}(v,x)$ 是求【$x$ 中有多少个自由的 $v$ 的位置】的函数。
$$
\texttt{freenum}(v,x)\overset{\text{def}}{\Longleftrightarrow}\min n \leq \texttt{len}(x)[\texttt{freepos}(n,v,x)=0]
$$
$\texttt{substSome}(k,x,v,c)$ 是求【把 $x$ 中的 $k$ 个自由的 $v$ 用 $c$ 代换后的结果】的函数。
$$
\begin{cases}
\texttt{substSome}(0,x,v,c)\overset{\text{def}}{\Longleftrightarrow}x \\
\texttt{substSome}(k+1,x,v,c)\overset{\text{def}}{\Longleftrightarrow} \texttt{substAtWith}(\texttt{substSome}(k,x,v,c),\texttt{freepos}(k,v,x),c)
\end{cases}
$$
> 这就是为什么 freepos 是倒着数的原因,因为我们的递归需要有一个确定的退出口来保证这是一个原始递归函数
$\texttt{subst}(a,v,c)$ 是求【把所有 $a$ 中自由的 $v$ 用 $c$ 代换后的结果】的函数。
$$
\texttt{subst}(a,v,c)\overset{\text{def}}{\Longleftrightarrow}\texttt{substSome}(\texttt{freenum}(v,a),a,v,c)
$$
$\texttt{implies}(a,b)$ 是求【$(a)\to(b)$】的函数。
$$
\texttt{implies}(a,b)\overset{\text{def}}{\Longleftrightarrow}\texttt{or}(\texttt{not}(a),b)
$$
$\texttt{and}(a,b)$ 是求【$(a)\land(b)$】的函数。
$$
\texttt{and}(a,b)\overset{\text{def}}{\Longleftrightarrow}\texttt{not}(\texttt{or}(\texttt{not}(a),\texttt{not}(b)))
$$
$\texttt{equiv}(a,b)$ 是求【$(a)\leftrightarrows(b)$】的函数。
$$
\texttt{equiv}(a,b)\overset{\text{def}}{\Longleftrightarrow}\texttt{and}(\texttt{implies}(a,b),\texttt{implies}(b,a))
$$
$\texttt{exists}(x,a)$ 是求【$\exists x(a)$】的函数。
$$
\texttt{exists}(x,a)\overset{\text{def}}{\Longleftrightarrow}\texttt{not}(\texttt{forall}(x,\texttt{not}(a)))
$$
$\texttt{typelift}(n,x)$ 是求【把 $x$ 形式提升 $n$ 后的结果】的函数。
$$
\texttt{typelift}(n,x)\overset{\text{def}}{\Longleftrightarrow}\min y \leq x^{(x^n)} [\forall k \leq \texttt{len}(x)[(\neg\texttt{IsVar}(x[k])\land y[k]=x[k])]\lor(\texttt{IsVar}(x[k])\land y[k]=x[k] \times \texttt{prime}(1,x[k])^n)]
$$
> 只对于变量提升
### 公式、定理与形式证明
我们向证明冲锋。
$\texttt{IsAxiomI}(x)$ 是谓词【$x$ 是根据公理 I-I/II/III 得到的逻辑公式】,由于这三个公理十分冗长,此处将其哥德尔数简写为 $\alpha_1,\alpha_2,\alpha_3$。
$$
\texttt{IsAxiomI}(x)\overset{\text{def}}{\Longleftrightarrow} x=\alpha_1 \lor x=\alpha_2 \lor x=\alpha_3
$$
> 复习一下!
> + **公理 I-I** $\neg\texttt{(f}x_1=\texttt{0)}
- 公理 I-II \texttt{(f}x_1=\texttt{f}y_1\texttt)\to\texttt(x_1=y_1\texttt)
- 公理 I-III x_2\texttt{(0)}\land\forall x_1\texttt(x_2\texttt(x_1\texttt)\to x_2\texttt{(f}x_1\texttt{))}\to\forall x_1\texttt(x_2\texttt(x_1\texttt{))}
$$
\texttt{IsSchemaII}(1,x)\overset{\text{def}}{\Longleftrightarrow} \exist p \leq x [\texttt{IsForm}(p)\land x=\texttt{implies}(\texttt{or}(p,p),p)] \\
\texttt{IsSchemaII}(2,x)\overset{\text{def}}{\Longleftrightarrow} \exist p,q \leq x [\texttt{IsForm}(p) \land \texttt{IsForm}(q) \land x=\texttt{implies}(p,\texttt{or}(p,q))] \\
\texttt{IsSchemaII}(3,x)\overset{\text{def}}{\Longleftrightarrow} \exist p,q \leq x [\texttt{IsForm}(p) \land \texttt{IsForm}(q) \land x=\texttt{implies}(\texttt{or}(p,q),\texttt{or}(q,p))] \\
\texttt{IsSchemaII}(4,x)\overset{\text{def}}{\Longleftrightarrow} \exist p,q,r \leq x [\texttt{IsForm}(p) \land \texttt{IsForm}(q) \land \texttt{IsForm}(r) \land x=\texttt{implies}(\texttt{implies}(p,q),\texttt{implies}(\texttt{or}(r,p),\texttt{or}(r,q)))] \\
$$
> 其次是命题逻辑的公理。
> - **公理 II-I** $p\lor p\to p
- 公理 II-II p\to p\lor q
- 公理 II-III p\lor q\to q\lor p
- 公理 II-IV \texttt(p\to q\texttt)\to\texttt(r\lor p\to r\lor q\texttt)
$$
\texttt{IsAxiomII}(x)\overset{\text{def}}{\Longleftrightarrow}\texttt{IsSchemaII}(1,x)\lor\texttt{IsSchemaII}(2,x)\lor\texttt{IsSchemaII}(3,x)\lor\texttt{IsSchemaII}(4,x)
$$
$\texttt{IsNotBoundIn}(z,y,v)$ 是谓词【在 $y$ 中 $v$ 是自由的范围内,$z$ **中**没有受约束的变量】。(注:这个中字是我加的,否则可能读起来不太像中文?)
$$
\texttt{IsNotBoundIn}(z,y,v)\overset{\text{def}}{\Longleftrightarrow}\neg(\exist n \leq \texttt{len}(y)[\exist m \leq \texttt{len}(z)[\exist w \leq z[w=z[m] \land \texttt{IsBoundAt}(w,n,t) \land \texttt{IsFree}(v,n,y)]]])
$$
> 不存在一个位置 $n$ 使存在一个 $m$ 使得 $z[m]$ 在这个位置受约束而 $v$ 是自由的!
$\texttt{IsSchemaIII}(1,x)$ 是谓词【$x$ 是根据公理 III-I 得到的逻辑公式】。
$$
\texttt{IsSchemaIII}(1,x)\overset{\text{def}}{\Longleftrightarrow}\exist v,y,z,n \leq x[\texttt{IsVarType}(v,n) \land \texttt{IsNthType}(z,n) \land \texttt{IsForm}(y) \land \texttt{IsNotBoundIn}(z,y,v) \land x=\texttt{implies}(\texttt{forall}(v,y),\texttt{subst}(y,v,z))]
$$
> **公理 III-I** $\forall v\texttt{(}a\texttt{)}\to\texttt{subst(}a,v,c\texttt{)}
$$
\texttt{IsSchemaIII}(2,x)\overset{\text{def}}{\Longleftrightarrow}\exist v,q,p \leq x[\texttt{IsVar}(v) \land \texttt{IsForm}() \land \neg \texttt{IsFree}(v,p) \land \texttt{IsForm}(q) \land x=\texttt{implies}(\texttt{forall}(v,\texttt{or}(p,q)),\texttt{or}(p,\texttt{forall}(v,q)))]
$$
> **公理 III-II** $\forall\texttt(b\lor a\texttt)\to b\lor \forall v\texttt(a\texttt)
这里假设 v 是任意变量,b 中不出现自由的 v。
$$
\texttt{IsAxiomIII}(x)\overset{\text{def}}{\Longleftrightarrow}\texttt{IsSchemaIII}(1,x) \lor \texttt{IsSchemaIII}(2,x)
$$
$\texttt{IsAxiomIV}(x)$ 是谓词【$x$ 是根据公理 IV 得到的逻辑公式】。
$$
\texttt{IsAxiomIV}(x)\overset{\text{def}}{\Longleftrightarrow} \exist u,v,y,n \leq x [\texttt{IsVarType}(u,n+1) \land \texttt{IsVarType}(u,n) \land \neg \texttt{IsFree}(u,y) \land \texttt{IsForm}(y) \land x=\texttt{exists}(u,\texttt{forall}(v,\texttt{equiv}(\langle u \rangle * \texttt{paren}(\langle v \rangle),y)))]
$$
> **公理 IV** $\exist u\texttt(\forall v\texttt(u\texttt(v\texttt)\leftrightarrows a\texttt)\texttt)
这里假设:
$$
\texttt{IsAxiomV}(x)\overset{\text{def}}{\Longleftrightarrow}\exist n \leq x [x=\texttt{typelift}(n,\alpha_4)]
$$
$\texttt{IsAxiom}(x)$ 是谓词【$x$ 是公理】。
$$
\texttt{IsAxiom}(x)\overset{\text{def}}{\Longleftrightarrow}\texttt{IsAxiomI}(x) \lor \texttt{IsAxiomII}(x) \lor \texttt{IsAxiomIII}(x) \lor \texttt{IsAxiomIV}(x) \lor \texttt{IsAxiomV}(x)
$$
$\texttt{IsConseq}(x,a,b)$ 是谓词【$x$ 是 $a$ 和 $b$ 的直接推论】。
$$
\texttt{IsConseq}(x,a,b)\overset{\text{def}}{\Longleftrightarrow}a=\texttt{implies}(b,x) \lor \exist v \leq x [\texttt{IsVar}(v) \land x=\texttt{forall}(v,a)]
$$
$\texttt{IsProof}(x)$ 是谓词【$x$ 是形式证明】。
$$
\texttt{IsProof}(x)\overset{\text{def}}{\Longleftrightarrow}\texttt{len}(x)>0 \land \forall n \leq \texttt{len}(x)[n>0\Rightarrow \texttt{IsAxiomAt}(x,n) \lor \texttt{ConseqAt}(x,n)]
$$
其中,$\texttt{IsAxiomAt}(x,n) \overset{\text{def}}{\Longleftrightarrow} \texttt{IsAxiom}(x[n])$,$\texttt{ConseqAt}(x,n)\overset{\text{def}}{\Longleftrightarrow} \exist p,q<n [p,q>0 \Rightarrow \texttt{IsConseq}(x[n],x[p],x[q])]$。
$\texttt{Proves}(p,x)$ 是谓词【$p$ 是 $x$ 的形式证明】。
$$
\texttt{Proves}(p,x) \overset{\text{def}}{\Longleftrightarrow} \texttt{IsProof}(p) \land \texttt{IsEndedWith}(p,x)
$$
$\texttt{IsProvable}(x)$ 是谓词【存在 $x$ 的形式证明】。
$$
\texttt{IsProvable}(x) \overset{\text{def}}{\Longleftrightarrow} \exist p [\texttt{Proves}(p,x)]
$$
---
至此,总计五十八个函数的定义,带我们走到了这一步,我们终于定义了 $x$ 存在形式证明的谓词,但是仍然有一个小小的缺憾,它不是一个原始递归函数,此前的五十七个函数均为原始递归函数。
写下这句话的时间是二零二六年的三月二十三日,距离我写下这篇文章的第一个子,已经过了七十二天,接下来还有一小部分的论证,我们便可以触及到这个伟大的定理了。
---
# 证明
接下来会多次用到表现定理,因此我将其重新摘抄于此,方便读者观看。
>
> 若 $R$ 是包含两个变量的原始递归谓词,则对于任意数 $m,n$,都存在包含两个变量的逻辑公式 $r$,使得以下关系成立:
>
> + 下称表现定理 I:$R(n,m) \Rightarrow$ 存在 $r\langle \overline{m},\overline{n}\rangle$ 的形式证明。
> + 下称表现定理 II:$\neg R(n,m)\Rightarrow$ 存在 $\texttt{not(}r\langle \overline{m},\overline{n}\rangle\texttt)$ 的形式证明。
> 这里 $r\langle \overline{m},\overline{n}\rangle$ 的意思是把 $r$ 中的变量替换为数项 $\overline m,\overline n$。
由于这个证明的难度较高,所以我会以与书中相同的方式来引导读者观看整个证明。
我们定义双变量谓词 $Q$:
$$
Q(x,y)\overset{\text{def}}{\Longleftrightarrow} \neg \texttt{Proves}(x,\texttt{subst}(y,\boxed{y_1},\overline{y}))
$$
值得一提的是,$\boxed{x_1}\overset{\text{def}}{\Longleftrightarrow}17$,$\boxed{y_1}\overset{\text{def}}{\Longleftrightarrow}19$。
我们运用表现定理 II 可以得到对于任意数 $m.n$,存在双变量逻辑公式 $q\langle \overline m,\overline n \rangle$,满足:
$$
\neg Q(m,n) \Rightarrow \text{存在}\texttt{not}(q\langle \overline m,\overline n \rangle)\text{的形式证明}
$$
此处将 $q\langle \overline m,\overline n \rangle$ 定义为 $\texttt{subst}(\texttt{subst}(q,\boxed{x_1},\overline m),\boxed{y_1},\overline n)$。
+ A0:$\neg Q(m,n) \Rightarrow \texttt{IsProvable}(\texttt{not}(q\langle \overline m,\overline n \rangle))
由 Q 的定义可得:
- A1:\texttt{Proves}(m,n \langle \overline n\rangle) \Rightarrow \texttt{IsProvable}(\texttt{not}(q\langle \overline m,\overline n \rangle))
其中 n \langle \overline n \rangle 定义为 \texttt{subst}(n,\boxed{y_1},\overline{n})。
运用表现定理 I 可以得到:
- B0:Q(m,n) \Rightarrow \texttt{IsProvable}(q\langle \overline m,\overline n \rangle)
由 Q 的定义可得:
- B1:\neg \texttt{Proves}(m,n \langle \overline n\rangle)) \Rightarrow \texttt{IsProvable}(q\langle \overline m,\overline n \rangle)
我们定义 p:
p\overset{\text{def}}{=}\texttt{forall}(\boxed{x_1},q \langle \boxed{x_1},\boxed{y_1} \rangle)
我们将这个 p 记作 p \langle \boxed{y_1} \rangle,有:
- C1:p \langle \boxed{y_1} \rangle=\texttt{forall}(\boxed{x_1},q \langle \boxed{x_1},\boxed{y_1} \rangle)
用 \overline p 代换 \boxed{y_1},有:
- C2:p \langle \overline p \rangle=\texttt{forall}(\boxed{x_1},q \langle \boxed{x_1},\overline p \rangle)
这里设 p \langle \overline p \rangle 为 \texttt{subst}(p,\boxed{y_1},\overline p)。
我们定义 r。
- C3:r \langle \boxed{x_1} \rangle \overset{\text{def}}{=} q \langle \boxed{x_1},\overline p \rangle
用 \overline m 代换 x_1,有:
- C4:r \langle \overline m \rangle \overset{\text{def}}{=} q \langle \overline m,\overline p \rangle
我们重新拾起 A1。
- A1:\texttt{Proves}(m,n \langle \overline n\rangle) \Rightarrow \texttt{IsProvable}(\texttt{not}(q\langle \overline m,\overline n \rangle))
用 p 代换 n,有:
- A2:\texttt{Proves}(m,p \langle \overline p\rangle) \Rightarrow \texttt{IsProvable}(\texttt{not}(q\langle \overline m,\overline p \rangle))
由 A2 与 C2 有:
- A3:\texttt{Proves}(m,\texttt{forall}(\boxed{x_1},q \langle \boxed{x_1},\overline p \rangle)) \Rightarrow \texttt{IsProvable}(\texttt{not}(q\langle \overline m,\overline p \rangle))
由 A3 与 C3 有:
- A4:\texttt{Proves}(m,\texttt{forall}(\boxed{x_1},r \langle \boxed{x_1} \rangle)) \Rightarrow \texttt{IsProvable}(\texttt{not}(q\langle \overline m,\overline p \rangle))
由 A4 与 C4 有:
- A5:\texttt{Proves}(m,\texttt{forall}(\boxed{x_1},r \langle \boxed{x_1} \rangle)) \Rightarrow \texttt{IsProvable}(\texttt{not}(r \langle \overline m \rangle))
我们重新拾起 B1。
- B1:\neg \texttt{Proves}(m,n \langle \overline n\rangle)) \Rightarrow \texttt{IsProvable}(q\langle \overline m,\overline n \rangle)
用 p 代换 n:
- B2:\neg \texttt{Proves}(m,p\langle \overline p\rangle)) \Rightarrow \texttt{IsProvable}(q\langle \overline m,\overline p \rangle)
由 B2 和 C2 有:
- B3:\neg \texttt{Proves}(m,\texttt{forall}(\boxed{x_1},q \langle \boxed{x_1},\overline p \rangle)) \Rightarrow \texttt{IsProvable}(q\langle \overline m,\overline p \rangle)
由 B3 和 C3 有:
- B4:\neg \texttt{Proves}(m,\texttt{forall}(\boxed{x_1},r \langle \boxed{x_1} \rangle)) \Rightarrow \texttt{IsProvable}(q\langle \overline m,\overline p \rangle)
由 B4 和 C4 有:
- B5:\neg \texttt{Proves}(m,\texttt{forall}(\boxed{x_1},r \langle \boxed{x_1} \rangle)) \Rightarrow \texttt{IsProvable}(r \langle \overline m \rangle)
我们定义 g。
g\overset{\text{def}}{=}\texttt{forall}(\boxed{x_1},r \langle \boxed{x_1} \rangle)
接下来我们将证明 \neg \texttt{IsProvable}(\texttt{forall}(\boxed{x_1},r \langle \boxed{x_1} \rangle)) 与 \neg \texttt{IsProvable}(\texttt{not}(\texttt{forall}(\boxed{x_1},r \langle \boxed{x_1} \rangle)))。
先做一个假设。
相容的意思是不存在一个命题 S 使得 S 与 \neg S 都存在形式证明。
我们想要证明 \neg \texttt{IsProvable}(g),使用反证法,假设 D1 成立。
- D1:\texttt{IsProvable}(\texttt{forall}(\boxed{x_1},r \langle \boxed{x_1} \rangle))
假设其形式证明为 s,则有:
- D2:\texttt{Proves}(s,\texttt{forall}(\boxed{x_1},r \langle \boxed{x_1} \rangle))
用 s 代换 A5 中的 m,有:
- D3:\texttt{Proves}(s,\texttt{forall}(\boxed{x_1},r \langle \boxed{x_1} \rangle)) \Rightarrow \texttt{IsProvable}(\texttt{not}(r \langle \overline s \rangle))
由 D2 和 D3 有:
- D4:\texttt{IsProvable}(\texttt{not}(r \langle \overline s \rangle))
由 D1 可知,\texttt{forall}(\boxed{x_1},r \langle \boxed{x_1} \rangle) 是一个定理,根据公理 III-I,有:
- D5:\texttt{IsProvable}(r \langle \overline s \rangle)
D4 与 D5 可以推出这个形式系统是矛盾的,与 D0 相悖,因此假设 D1 不成立,有:
- D6:\neg \texttt{IsProvable}(\texttt{forall}(\boxed{x_1},r \langle \boxed{x_1} \rangle))
先做一个假设。
先来解释一些概念!\omega 矛盾的意思是对于单变量逻辑公式 f \langle \boxed{x_1} \rangle 而言,下面两个条件有能成立。
根据 D6,我们有 E1 对于任意 $t$ 成立。
+ E1:$\neg \texttt{Proves}(t,\texttt{forall}(\boxed{x_1},r \langle \boxed{x_1} \rangle))
根据 B5,我们有 E2 对于任意 t 成立。
- E2:\neg \texttt{Proves}(t,\texttt{forall}(\boxed{x_1},r \langle \boxed{x_1} \rangle)) \Rightarrow \texttt{IsProvable}(r \langle \overline t \rangle)
由 E1 和 E2 可得 E3 对于任意 t 成立。
- E3:\texttt{IsProvable}(r \langle \overline t \rangle)
运用反证法,假设 E4 成立。
- E4:\texttt{IsProvable}(\texttt{not}(\texttt{forall}(\boxed{x_1},r \langle \boxed{x_1} \rangle)))
根据 E3 与 E4 可得形式系统 P 存在 \omega 矛盾,与 E0 相悖,因此假设 E4 不成立,有:
- E5:\neg \texttt{IsProvable}(\texttt{not}(\texttt{forall}(\boxed{x_1},r \langle \boxed{x_1} \rangle)))
根据 D6 和 E5,我们可以得到:
以上便是第一不完备定理的证明了,请读者休息休息吧!
第一不完备定理所表述的是,任何 \omega 相容的形式系统,只要蕴涵皮亚诺算术公理,就可以在其中构造在体系中既不能证明也不能否证的命题。
这里有些奇怪的是我在网上搜到的表述全都是,任何相容的形式系统,只要蕴涵皮亚诺算术公理,就可以在其中构造在体系中既不能证明也不能否证的命题,但是我们在 E0 中使用到了形式系统是 \omega 相容的,但是这篇文章本来就是理性愉悦,所以也无所谓了!
2026.3.31 添加注:\omega 相容其实是一个挺普遍的条件,如果一个形式系统存在 \omega 矛盾,那么它就会有某种程度上的矛盾(即会出现有点违背逻辑的结果),因此第一完备性定理并不是什么只针对很特殊的形式系统的结论!