Wetts's blog

Stay Hungry, Stay Foolish.

0%

离散数学及其应用(原书第7版)-第1章-逻辑和证明

命题逻辑

条件命题的真值表

当 p 和 q 都为真,以及当 p 为假(与 q 的真值无关)时,语句 p->q 为真。

命题等价式

条件命题的逻辑等价式

  • p->q≡┐p∨q
  • p->q≡┐q->┐p
  • p∨q≡┐p->q
  • p∧q≡┐(p->┐q)
  • ┐(p->q)≡p∧┐q
  • (p->q)∧(p->r)≡p->(q∧r)
  • (p->r)∧(q->r)≡(p∨q)->r
  • (p->q)∨(p->r)≡p->(q∨r)
  • (p->r)∨(q->r)≡(p∧q)->r

双条件命题的逻辑等价式

  • p<->q≡(p->q)∧(q->p)
  • p<->q≡┐p<->┐q
  • p<->q≡(p∧q)∨(┐p∧┐q)
  • ┐(p<->q)≡p<->┐q

谓词和量词

谓词

语句“x 大于3”有两个部分。第一部分即变量 x 是语句的主语。第二部分(__谓词__“大于3”)表明语句的主语居右的一个性质。我们可以用 P(x) 表示语句“x 大于3”,其中 P 表示谓词“大于3”,而 x 是变量。语句 P(x) 也可以说成是命题函数 P 在 x 的值。一旦给变量 x 赋一个值,语句 p(x) 就成为命题并具有真值。

量词

量化表示在何种程度上谓词对于一定范围的个体成立。在自然语言中,所有、某些、许多、没有,以及少量这些词都可以用在量化上。这里我们集中讨论两类量化:全称量化,它告诉我们一个谓词在所考虑范围内对每一个体都为真;存在量化,它告诉我们一个谓词对所考虑范围内的一个或多个个体为真。

全称量词

许多数学命题断言某一性质对于变量在某一特定域内的所有值均为真,这一特定域称为变量的 __论域__(dormain of discourse)(或 __全体域__(universe of discourse)),时常简称为 __域__(domain)。这些语句可以用全称量化表示。

对特定论域而言 P(x) 的全称量化是这样一个命题:它断言 P(x) 对 x 在其论域汇总的所有值均为真。

注意,论域规定了变量 x 所有可能取的值。当我们改变论域时,P(x) 的全称量化的意义也随之改变。在使用全称量化时必须指定论域,否则语句的 全称量化 就是无定义的。

P(x)全称量化 是语句“P(x) 对 x 在其论域的所有值为真。”

符号 ∀xP(x) 表示 P(x) 的全称量化,其中 ∀ 称为 __全称量词__。命题 VxP(x) 读做“对所有 x,_P(x)_”或“对每个 x,_P(x)_”。一个使 P(x) 为假的个体称为 ∀xP(x) 的 __反例__。

通常,我们会做一个隐式的假设,即量词的论域均为非空的。注意如果论域为空,那么 ∀xP(x) 对任何命题函数 P(x) 都为真,因为论域中没有单个 x 使 P(x) 为假。

存在量词

P(x)存在量化 的命题“论域中存在一个个体 x 满足 _P(x)_。”

我们用符号 ョxP(X) 表示 P(x) 的存在量化,其中 ョ 称为 __存在量词__。存在量化 ョxP(X) 可读做“有一个 x 满足 _P(x)_”、“至少有一个 x 满足 _P(x)”或“对某个 x,_P(x)”。

通常,我们会做一个隐式的假设,即量词的论域均为非空的。如果论域为空,那么无论 Q(x) 是什么命题函数,当论域为空时论域中没有一个个体能使 Q(x) 为真,所以 ョxP(X) 为假。

唯一性量词

对于我们能定义的不同量词的数量使没有限制的,如“恰好有 2 个”、“有不超过 3 个”、“至少有 100 个”等。所有其他量词中最常见的使 __唯一性量词__,用符号 ョ! 或 ョ1表示。_ョ!xP(x)_(或 _ョ1xP(x)_)这种表示法是指“存在一个唯一的 x 使得 P(x) 为真”。(其他表示唯一性量词的语句有“恰好存在一个”、“有且只有一个”)比如,_ョ!x(x-1=0)_,其中论域使实数集合,表示存在一个唯一的实数 x 使得 x-1=0。

约束论域的量词

∀x<0(x2>0)

涉及量词的逻辑等价式

∀x(P(x)∧Q(x))≡∀xP(x)∧∀xQ(x)

量化表达式的否定

  • ┐∀xP(x)≡ョx┐P(x)
  • ┐ョxQ(x)≡∀x┐Q(x)

嵌套量词

嵌套量词的顺序

要注意的是,量词的顺序是很重要的,除非所有量词为全称量词或均为存在量词。

推理规则

数学中的证明是建立数学命题真实性的有效论证。所谓的 __论证__(argument),是指一连串的饿命题并以结论为最后的命题。所谓 __有效性__(valid),是指结论或论证的最后一个命题必须根据论证过程前面的命题或 __前提__(premise)的真实性推出。也就是说,一个论证是有效的当且仅当不可能出现所有前提为真而结论为假的情况。

命题逻辑的有效论证

命题逻辑中的一个论证是一连串的命题。除了论证中最后一个命题外都叫做前提,最后那个命题叫做结论。一个论证是有效的,如果它的所有前提为真蕴含着结论为真。
命题逻辑中的论证形式是一连串涉及命题变元的复合命题。无论用什么特定命题来替换其中的命题变元,如果前提均为真时结论为真,则称该论证形式是有效的。

证明导论

专用术语

正式地,一个 __定理__(theorem)是一个能够被证明是真的语句。在数学描述中,定理一词通常是用来专指那些被认为至少有些重要的语句。不太重要的定理有时称为 __命题__(定理也可以称为 __事实__(fact)或 __结论__(result))。一个定理可以是带一个或多个前提及一个结论的条件语句的全称量化式。当然,它也可以是其他类型的逻辑语句。我们用一个 __证明__(proof)来展示一个定理是真的。证明就是建立定理真实性的一个有效论证。证明中用到的语句可以包括 __公理__(axiom)(或 __假设__(postulate)),这些是我们假定为真的语句(例如,实数公理,以及平面几何的公理)、定理的前提(如果有的话)和以前已经被证明的定理。公理可以采用无须定义的原是属于来陈述,而在定理和证明中所用的所有其他属于都必须是有定义的。推理规则和其术语的定义一起用于从其他的断言推出结论,并绑定在证明中的每个步骤。实际上,一个证明的最后一步通常恰好是定理的结论。然而,为清晰可见,我们通常会重述定理的结论作为一个证明的最后步骤。
一个不太重要但有助于证明其结论的定理称为 __引理__(lemma)。当用一系列引理来进行复杂的证明时通常比较容易理解,其中每一个引理都被独立证明。__推论__(corollary)是从一个已经被证明的定理可以直接建立起来的定理。__猜想__(conjecture)是一个被提出认为是真的命题,通常是基于部分证据、启发式论证或者专家的直觉。当猜想的一个证明被发现时,猜想就变成了定理。

证明定理的方法

直接证明法

条件语句 p->q 的 直接证明法 的构造:第一步假设 p 为真;第二步用推理规则构造,而第三步表明 q 必须也为真。

反证法

反证法利用了这样一个事实:条件语句 p->q 等价于它的逆否命题 ┐q->┐p。着意味着条件语句 p->q 的证明可以通过它的逆否命题 ┐q->┐p 为真来完成。

归谬证明法

假设我们要证明命题 p 是真的。再假定我们能找到一个矛盾式 q 使得 ┐p->q 为真。因为 q 是假的,而 ┐p->q 是真的,所以我们能够得出结论 ┐p 为假,这意味着 p 为真。
因为无论 r 是什么,命题 r∧┐r 就是矛盾式,所以如果我们能够证明对某个命题 r,┐p->(r∧┐r) 为真,就能证明 p 是真的。这种类型的证明称为 __归谬证明法__(proof by contradiction)。由于归谬证明法不是直接证明结论,所以它是另一个种间接证明法。

等价证明法
反例证明法
穷举证明法
分情形证明法

存在性证明

ョxP(x) 这类命题的证明称为 __存在性证明__(existence proof)。有多种方式来证明这类定理。有时可以通过找出一个是的 P(a) 为真的元素 a(称为一个物证)来给出 ョxP(x) 的存在性证明。这样的存在性证明称为是 __构造性的__(constructive)。也可以给出一种 __非结构性的__(nonconstructive)存在性证明,即不是找出使 P(a) 为真的元素 a,而是以某种其他方式来证明 ョxP(x) 为真。

唯一性证明

某些定理断言具有特定性质的元素唯一存在。换句话说,这些定理断言恰好只有一个元素具有这个性质。要证明这些语句,需要证明存在一个具有此性质的元素,以及没有其他元素具有此性质。__唯一性证明__(uniqueness proof)的两个部分如下:

  • 存在性:证明存在某个元素 x 具有期望的性质。
  • 唯一性:证明如果 y≠x,则 y 不具有期望的性质。

证明存在唯一元素 x 使得 P(x) 为真等同于证明语句 ョx(P(x)∧∀y(y≠x->┐P(y)))。