数学证明和数学/逻辑/间接证明原理
在上一节中,我们研究了与蕴涵相关的推理规则。大多数数学定理都采用蕴涵的形式,因此这些规则非常重要。(从某种意义上说,所有数学定理都采用蕴涵的形式,但我们稍后会讨论这一点。)
但逻辑不仅仅是蕴涵,所以我们需要一些额外的推理规则来处理其他逻辑连接词。其中最基本的是反证法。
我们首先介绍矛盾的概念。你可以把它想象成一个已知为假的陈述。具有讽刺意味的是,这样的陈述在逻辑中起着重要的作用,逻辑的目的是证明某些陈述总是正确的。
有几个逻辑符号表示矛盾;其中一个是 ,在这种情况下,始终为真的陈述的符号是 。也许 是因为它与字母“T”(表示 True)相似,将其倒置意味着相反。另一个符号是 ,在这种情况下,符号 代表始终为真的陈述。由于我们大多数情况下避免使用这些符号,因此我们将简单地用文字拼写出 来表示表格格式的证明。对于以散文形式给出的证明,通常会写类似“这是荒谬的”或“这是一个矛盾”之类的话。单词“矛盾”本身来自拉丁语短语,意思是“反对”,指的是彼此含义相反的语句。
可以使用蕴涵和矛盾来“定义”所有剩余的逻辑连接词。首先,我们可以取语句
- 蕴涵
作为
- 非 的定义。
我们已经在逻辑连接词部分给出了“非 ”的定义,现在我们创建了一个新的、竞争的定义。只要我们可以确信这两个定义相互一致,这就没有问题。因此,我们需要确信语句
- 蕴涵
当 为真时,结果为假,当 为假时,结果为真。但是语句 蕴含 的定义是当 为真时,结果为假,当 为假且 为假时,结果为真。因此定义是吻合的。
给定这样的定义,我们可以创建两个新的推理规则。第一个用定义替换定义的表达式,第二个进行相反的替换。所以我们有
- 从非 推导出 蕴含
和
- 从 蕴含 推导出非 .
通过将这些规则与上一页的规则结合起来,我们得到了更实用的形式
- 从 ,非 推导出
和
- 如果通过假设 可以推导出 ,那么推导出非 .
示例证明 #1
[edit | edit source]让我们首先使用上述规则来证明
- 命题 1: 蕴含非非 .
这是一个蕴含关系,因此我们从假设前提开始,推导出结论。所以证明的结构如下:
行 | 语句 | 理由 |
---|---|---|
1 | 前提 | |
(某个东西) | ||
n | 非非 | ? |
n+1 | 蕴含非非 | 由 1 和 n 推出 |
现在的目标是证明非非 ,但我们可以通过假设非 并推导出矛盾来实现。证明的新形式是
行 | 语句 | 理由 |
---|---|---|
1 | 前提 | |
2 | 非 | 前提 |
(某个东西) | ||
n−1 | ? | |
n | 非非 | 由 2 和 n−1 推出 |
n+1 | 蕴含非非 | 由 1 和 n 推出 |
现在我们需要证明 ,但语句 和 非 已经被假设,所以只需要进行最后的填充即可。
行 | 语句 | 理由 |
---|---|---|
1 | 前提 | |
2 | 非 | 前提 |
3 | 重复 1 | |
4 | 2 和 3 之间的矛盾 | |
5 | 非非 | 由 2 和 4 推出 |
6 | 蕴含非非 | 由 1 和 5 推出 |
用散文形式表达
- 命题 1: 蕴含非非 .
- 证明: 假设 。现在假设不 。根据原始假设,我们同时拥有不 和 ,这是一个矛盾。所以假设不 一定是假的,换句话说,不是不 。从原始假设 可以得出,不是不 ,因此我们可以得出结论 蕴含不是不 。
我们证明
- 命题 2: ( 蕴含 ) 蕴含 (不 蕴含不 )。
对于任何蕴含 蕴含 ,蕴含不 蕴含不 被称为其“逆否命题”。正如我们将看到的,逆否命题在逻辑上等价于原始蕴含,这与逆命题不同。命题 2 是证明该等价性的第一步。
你可以从头开始证明,这留作练习,但另一种方法是使用上一页的命题 5 作为捷径。改写为推理规则,该命题指出
- 从 蕴含 推导出 ( 蕴含 ) 蕴含 ( 蕴含 )。
这产生了一个更简单的证明
行 | 语句 | 理由 |
---|---|---|
1 | 意味着 | 前提 |
2 | 非 | 前提 |
3 | 意味着 | “非”的定义 |
4 | 意味着 | 重复 1 |
5 | ( 意味着 ) 意味着 ( 意味着 ). | 上一页命题5 |
6 | 蕴涵 | 从3和5得出 |
7 | 非 | “非”的定义 |
8 | 非 意味着 非 | 从2和7得出 |
9 | ( 意味着 ) 意味着 (非 意味着 非 ). | 从1和8得出 |
间接证明方法
[edit | edit source]我们几乎得到了一种非常有用和重要的证明方法,称为反证法,或者对于喜欢拉丁语的人来说,称为Reductio ad absurdum,大致翻译成归谬法。使用这种方法的证明被称为间接证明,因为它不像所谓的直接证明那么直接,直接证明依赖于目前为止使用的方法。
为了使用这种方法来证明一个命题 ,假设它是假的,然后推导出矛盾。如果假设一个命题是假的会导致不可能的结果,那么这个命题就必须是非假的,即为真的。换句话说,如果假设非 你可以推导出矛盾,也就是说,如果非非 ,那么你可以推导出 .
我们将以新的推论规则的形式重新说明这一点
- 从非非 推导出 .
另一种说法是
- 如果假设不为 ,可以推导出 ,那么可以推导出 .
这是最后一个推论规则,无法从定义或其他推论规则中推导出。我们将像对否定一样定义析取、合取和等价,这些定义会产生两个推论规则,但可以通过像上一页中的命题 2 一样证明蕴涵来推导出。
为了使这个推论规则发挥作用,让我们从命题 1 的逆命题开始
- 命题 3: 不不 蕴涵 .
这很容易推导出,证明留作练习。
- 命题 4: (不 蕴涵 不 ) 蕴涵 ( 蕴涵 )
从构建一个轮廓开始,就像之前一样。
行 | 语句 | 理由 |
---|---|---|
1 | 非 意味着 非 | 前提 |
2 | 前提 | |
(某个东西) | ||
n−1 | ? | |
n | 意味着 | 由 2 和 n−1 推出 |
n+1 | (不 蕴涵 不 ) 蕴涵 ( 蕴涵 ) | 由 1 和 n 推出 |
此时我们需要证明 ,但直接证明似乎行不通,所以假设不为 并尝试推导出矛盾。
行 | 语句 | 理由 |
---|---|---|
1 | 非 意味着 非 | 前提 |
2 | 前提 | |
3 | 非 | 前提 |
(某个东西) | ||
n−2 | ? | |
n−1 | 从 3 和 n−2 | |
n | 意味着 | 由 2 和 n−1 推出 |
n+1 | (不 蕴涵 不 ) 蕴涵 ( 蕴涵 ) | 由 1 和 n 推出 |
我们现在有足够的假设来开始填充一些推理并完成证明。
行 | 语句 | 理由 |
---|---|---|
1 | 非 意味着 非 | 前提 |
2 | 前提 | |
3 | 非 | 前提 |
4 | 非 意味着 非 | 重复 1 |
5 | 非 | 从 3 和 4 |
6 | 迭代 2 | |
7 | 从 5 和 6 | |
8 | 从 3 和 7 | |
9 | 意味着 | 从 2 和 8 |
10 | (不 蕴涵 不 ) 蕴涵 ( 蕴涵 ) | 从 1 和 9 |
用散文形式表达
- 命题 4: (不 蕴涵 不 ) 蕴涵 ( 蕴涵 )
- 证明: 假设并非 蕴涵并非 。现在假设 。我们需要证明 ,所以假设并非如此,换句话说,并非 。那么根据第一个假设,并非 。但这与第二个假设相矛盾。假设并非 导致了矛盾,所以 。因此, 蕴涵 。从最初的假设并非 蕴涵并非 ,可以得出结论: (并非 蕴涵并非 ) 蕴涵 ( 蕴涵 )。
注意,虽然这不是严格必要的,但我们陈述了接下来要证明的内容,并以“假设并非如此”的形式插入了一个小小的路标,以表明接下来将使用间接论证。其他具有相同目的的短语可能包括“假设并非”和“如果错误,那么”。
- 命题 5:并非 ( 蕴涵 ) 蕴涵并非
- 命题 6:并非 ( 蕴涵 ) 蕴涵
- 命题 7: (( 蕴含 ) 蕴含 ) 蕴含
- 命题 8: 非 蕴含 ( 蕴含 )
- 命题 9: 蕴含
- 命题 10: 非