哥德尔不完备定理证明
0. 哥德尔不完备定理
每个数学系统都存在一些语句永远无法被证明.
1. 哥德尔数
\(\hspace{0.1cm}\)符号\(\hspace{0.1cm}\) | \(\hspace{0.1cm}\)哥德尔数\(\hspace{0.1cm}\) | \(\hspace{0.1cm}\)含义\(\hspace{0.1cm}\) |
---|---|---|
\(\sim\) | \(1\) | 非 |
\(\vee\) | \(2\) | 或 |
\(\supset\) | \(3\) | 如果 \(\cdots\) 则 \(\cdots\) |
\(\exists\) | \(4\) | 存在 |
\(=\) | \(5\) | 等于 |
\(0\) | \(6\) | 零 |
\(s\) | \(7\) | 后继 |
\((\) | \(8\) | 标点符号 |
\()\) | \(9\) | 标点符号 |
\(,\) | \(10\) | 标点符号 |
\(+\) | \(11\) | 加 |
\(\times\) | \(12\) | 乘 |
\(x\) | \(13\) | 变量 |
\(y\) | \(17\) | 变量 |
\(z\) | \(19\) | 变量 |
比如说公式 \(0=0\),
它的每一位哥德尔数分别是:
\(6\hspace{0.2cm}5\hspace{0.2cm}6\) (作指数)
给这三位分别分配一个质数:
\(2\hspace{0.2cm}3\hspace{0.2cm}5\) (作底数)(当位数更多时以此类推)
所以公式 \(0=0\) 的哥德尔数是 \(2^6\times 3^5\times 5^6\),也就是 \(243000000\).
如果我们得知哥德尔数 \(243000000\),
那么我们可以对它进行唯一的分解质因数,得到 \(2^6\times 3^5\times 5^6\),
因此,一个公式只能对应一个哥德尔数,一个哥德尔数只能对应一个公式.
众所周知,数学证明可能需要多个公式组合在一起,
举一个十分简单的例子:
\(x=0\)
\(y=s0\)
\(y=sx\)
我们要先根据上述基础部分,得出这三个公式的哥德尔数,
\(x=0\hspace{0.5cm}\to\hspace{0.5cm}2^{13}\times 3^5\times 5^6\)
\(y=s0\hspace{0.5cm}\to\hspace{0.5cm}2^{17}\times 3^5\times 5^7\times 7^6\)
\(y=sx\hspace{0.5cm}\to\hspace{0.5cm}2^{17}\times 3^5\times 5^7\times 7^{13}\)
然后再给每个公式分配一个质数:\(2\hspace{0.2cm}3\hspace{0.2cm}5\).
所以,这段数学证明的哥德尔数是:
\(2^{2^{13}\times 3^5\times 5^6}\times 3^{2^{17}\times 3^5\times 5^7\times 7^6}\times 5^{2^{17}\times 3^5\times 5^7\times 7^{13}}\)
这是一个极大的数.
2. \(\textbf{sub(\textit{a},\textit{b},\textit{c})}\)
哥德尔的想法是,他可以用公式本身的哥德尔数代入到公式中,从而产生无穷无尽的麻烦.
我们可以考虑公式 \((\exists x)(x=sy)\),它的意思是“存在 \(x\),使得 \(x\) 是 \(y\) 的后继”,简而言之就是“\(y\) 有后继”.
假设它的哥德尔数为 \(m\).
而现在,我们定义一个 \(\text{sub}\) 函数:
\(\text{sub}(a,b,c)\) 表示在一个哥德尔数为 \(a\) 的命题中,找到所有哥德尔数为 \(c\) 的符号,将其替换为 \(b\).
于是我们可以把刚刚的哥德尔数为 \(m\) 的公式做这样的操作:
\(\text{sub}(m,m,17)\) 表示把哥德尔数为 \(m\) 的公式中,哥德尔数为 \(17\) 的符号(就是 \(y\))替换为 \(m\).
也就是这段公式:
\((\exists x)(x=sm)\)
它表示“\(m\) 有后继”.
接下来,有了这些条件,我们的证明就要开始了.
3. 证明
我们先假设有这样一个命题:“哥德尔数是 \(\textbf{sub(\textit{y},\textit{y},17)}\) 的命题无法证明”.
它的哥德尔数为 \(n\).
然后,我们再来考虑这样一个命题:“哥德尔数是 \(\textbf{sub(\textit{n},\textit{n},17)}\) 的命题无法证明”.
那么什么是哥德尔数是 \(\textbf{sub(\textit{n},\textit{n},17)}\) 的命题呢?
我们根据 \(\text{sub}\) 函数的定义,找到哥德尔数是 \(n\) 的命题,它就是:
哥德尔数是 \(\textbf{sub(\textit{y},\textit{y},17)}\) 的命题无法证明.
然后,我们找到这个命题中哥德尔数为 \(17\) 的符号(就是 \(y\)).
哥德尔数是 \(\textbf{sub(\textit{\colorbox{red}{\colorbox{white}{y}}},\textit{\colorbox{red}{\colorbox{white}{y}}},17)}\) 的命题无法证明.
现在,将它们替换为 \(n\) 这个数字,也就是,这个命题变成了:
哥德尔数是 \(\textbf{sub(\textit{\colorbox{green}{\colorbox{white}{n}}},\textit{\colorbox{green}{\colorbox{white}{n}}},17)}\) 的命题无法证明.
于是,一个很神奇的事情就发生了:
\(\text{sub}(n,n,17)\) 代表的命题就是“哥德尔数是 \(\text{sub}(n,n,17)\) 的命题无法证明”
所以,这个命题说自己是无法证明的.
我们再来好好分析一下:
我们假设“哥德尔数是 \(\text{sub}(n,n,17)\) 的命题无法证明”是一个假命题,那么它的反面一定是一个真命题.
而它的反面是“哥德尔数是 \(\text{sub}(n,n,17)\) 的命题可以证明”.
所以,我们得知了哥德尔数是 \(\text{sub}(n,n,17)\) 的命题可以证明.
而哥德尔数是 \(\text{sub}(n,n,17)\) 的命题是啥呢?
它就是“哥德尔数是 \(\text{sub}(n,n,17)\) 的命题无法证明”,我们推出了它可以证明,那么它一定是一个真命题(只有真命题可以被证明).
但是这就矛盾了,一开始我们假设“哥德尔数是 \(\text{sub}(n,n,17)\) 的命题无法证明”是一个假命题,现在又推出它是一个真命题.
这只能说明原来的假设是错误的,所以“哥德尔数是 \(\text{sub}(n,n,17)\) 的命题无法证明”是一个真命题.
而这个命题说的就是自己无法证明,所以,这是一个\({\color{red}\textbf{真却无法证明}}\)的命题.
于是我们就证明了最初我们说的“每个数学系统都存在一些语句永远无法被证明”.
这就是哥德尔第一不完备定理.
出处:https://www.cnblogs.com/I-like-magic/
如果您觉得阅读本文对您有帮助,请点击一下右下方的推荐按钮,您的推荐将是我写作的最大动力!
版权声明:本文为博主原创或转载文章,欢迎转载,但转载文章之后必须在文章页面明显位置注明出处,否则保留追究法律责任的权利。