许多悖论都可以视为不加限制地使用逻辑, 得到对矛盾的伪证.
1. 小试牛刀: 说谎者悖论
"这句话为假." 这句话的存在本身就能导出矛盾.
• 如果这句话是真的, 那么根据它的内容, 它是假的.
• 如果这句话是假的, 那么它必须是真的.
因此这句话既真又假, 矛盾.
2. 强说谎者悖论
对说谎者悖论的一个自然的补丁是认为自然语言中有些句子是无意义的. "我在说谎"这句话就是无意义的. 但这个补丁只是把自然语言的真值扩展到了三值: 真, 假, 无意义. 它完全没有解决这个悖论. 考虑 "这句话为假或者无意义".
• 如果这句话为真, 那么它为假或无意义.
• 如果这句话为假或无意义, 那么它为真.
因此这句话既是真的, 也或者为假, 或者无意义, 矛盾.
3. Curry 悖论
Curry 悖论似乎允许我们证明任何命题. 下面我们试着证明荒谬的0=1.
考虑这句话: "如果这句话是真的, 那么0=1." 记之为 k, 于是 k 所说的就是:如果 k 为真, 那么 0=1.
1. 如果 k 为真, 那么平凡地, k 为真.
2. 在 1 中展开 k 的定义得到, 如果 k 为真, 那么如果 k 为真, 那么 0=1.
3. 综合 1, 2 得到:如果 k 为真, 那么 0=1.
4. 但 3 就是 k! 所以 k 是真的.
5. 综合 3, 4 得到:0=1.
4. Tarski 真不可定义性
The best part of this unified scheme is that it shows that there are really no paradoxes. There are limitations. Paradoxes are ways of showing that if you permit one to violate a limitation, then you will get an inconsistent systems.[1]
将上面的悖论形式化到一阶算术, 就能得到著名的 Tarski 定理. 固定一个算术公式到自然数的Gödel 编码 φ(x)↦⌜φ(x)⌝.
Theorem. (Tarski) 集合 {n∈ℕ│n } 在算术语言中是不可定义的.
Proof. 假设它被公式 T(x) 定义. 固定一个函数 D:ℕ → ℕ, 使得对任意公式 φ(x),D(⌜φ(x)⌝)=⌜φ(⌜φ(x)⌝)⌝. 显然存在这样的递归函数, 因此它是可表示的.
定义公式G(x) 为 ¬T(D(x)), 则公式 G(⌜G(x)⌝) 便是"我在说谎":G(⌜(G(x)⌝) ⇔ ¬T(D(⌜G(x)⌝)) ⇔ ¬G(⌜G(x)⌝)矛盾. □
哲学上, 这一切悖论说的都是语言不能谈论自身的真值, 不然就会导致悖论. 读者可以在 Yanofsky[1]的文章里看到更多有趣的例子.
参考:1. A Universal Approach to Self-Referential Paradoxes, Incompleteness and Fixed Points https://arxiv.org/abs/math/0305282
2. A Universal Approach to Self-Referential Paradoxes, Incompleteness and Fixed Points https://arxiv.org/abs/math/0305282
数学联邦政治世界观提示您:看后求收藏(笔尖小说网http://www.bjxsw.cc),接着再看更方便。