介绍
定义 1 一个复合命题,如果无论其中命题变量的真值如何,它总是为真,则称为重言式(tautology)。一个复合命题,如果它总是为假,则称为矛盾式(contradiction)。一个既不是重言式也不是矛盾式的复合命题称为偶然式(contingency)。
例1 我们可以使用一个命题变量来构造永真式和矛盾式的例子。请考虑 p ∨ ¬ p p \lor \neg p p∨¬p 和 p ∧ ¬ p p \land \neg p p∧¬p 的真值表,如表 1 所示。由于 p ∨ ¬ p p \lor \neg p p∨¬p 始终为真,因此它是一个永真式。由于 p ∧ ¬ p p \land \neg p p∧¬p 始终为假,因此它是一个矛盾式。
逻辑等价
当复合命题在所有可能的情况下都具有相同的真值时,称它们是逻辑等价的。我们还可以通过以下方式定义这一概念。
定义 1 复合命题 p p p 和 q q q 被称为逻辑等价的,当且仅当 p ↔ q p \leftrightarrow q p↔q 是重言式(恒真命题)。符号 p ≡ q p \equiv q p≡q 表示 p p p 和 q q q 是逻辑等价的。
判断两个复合命题是否等价的一种方法是使用真值表。特别地,复合命题 p p p 和 q q q 是等价的,当且仅当它们真值的列相同。
例2 证明 ¬ ( p ∨ q ) \neg (p \lor q) ¬(p∨q) 和 ¬ p ∧ ¬ q \neg p \land \neg q ¬p∧¬q 是逻辑等价的。
解 这些复合命题的真值表在表 3 中给出。因为复合命题 ¬ ( p ∨ q ) \neg (p \lor q) ¬(p∨q) 和 ¬ p ∧ ¬ q \neg p \land \neg q ¬p∧¬q 在 p p p 和 q q q 的所有可能的真值组合中真值相同,因此 ¬ ( p ∨ q ) ↔ ( ¬ p ∧ ¬ q ) \neg (p \lor q) \leftrightarrow (\neg p \land \neg q) ¬(p∨q)↔(¬p∧¬q) 是一个重言式(恒真命题),因此这些复合命题是逻辑等价的。
例3 证明
p
→
q
p \rightarrow q
p→q 和
¬
p
∨
q
\neg p \lor q
¬p∨q 是逻辑等价的。(这被称为条件-析取等价。)
解 我们为这些复合命题构建了真值表,见表 4。因为 ¬ p ∨ q \neg p \lor q ¬p∨q 和 p → q p \rightarrow q p→q 的真值相同,所以它们是逻辑等价的。
例4 证明 p ∨ ( q ∧ r ) p \lor (q \land r) p∨(q∧r) 和 ( p ∨ q ) ∧ ( p ∨ r ) (p \lor q) \land (p \lor r) (p∨q)∧(p∨r) 是逻辑等价的。这是析取对合取的分配律。
解答:我们为这些复合命题构建了真值表,见表 5。由于 p ∨ ( q ∧ r ) p \lor (q \land r) p∨(q∧r) 和 ( p ∨ q ) ∧ ( p ∨ r ) (p \lor q) \land (p \lor r) (p∨q)∧(p∨r) 的真值相同,因此这些复合命题是逻辑等价的。
表 6 包含了一些重要的等价式。在这些等价式中, T T T 表示始终为真的复合命题, F F F 表示始终为假的复合命题。我们还在表 7 和表 8 中分别展示了一些关于条件语句和双条件语句的有用等价式。
析取的结合律表明,表达式 p ∨ q ∨ r p \lor q \lor r p∨q∨r 是良好定义的,因为无论我们首先将 p p p 与 q q q 进行析取,然后将 p ∨ q p \lor q p∨q 与 r r r 进行析取,还是先将 q q q 与 r r r 进行析取,然后再将 p p p 与 q ∨ r q \lor r q∨r 进行析取,结果都是一样的。类似地,表达式 p ∧ q ∧ r p \land q \land r p∧q∧r 也是良好定义的。通过扩展这种推理,可以得出 p 1 ∨ p 2 ∨ ⋯ ∨ p n p_1 \lor p_2 \lor \cdots \lor p_n p1∨p2∨⋯∨pn 和 p 1 ∧ p 2 ∧ ⋯ ∧ p n p_1 \land p_2 \land \cdots \land p_n p1∧p2∧⋯∧pn 是良好定义的,只要 p 1 , p 2 , ⋯ , p n p_1, p_2, \cdots, p_n p1,p2,⋯,pn 是命题。
此外,注意德摩根律的扩展形式:
¬
(
p
1
∨
p
2
∨
⋯
∨
p
n
)
≡
(
¬
p
1
∧
¬
p
2
∧
⋯
∧
¬
p
n
)
\neg (p_1 \lor p_2 \lor \cdots \lor p_n) \equiv (\neg p_1 \land \neg p_2 \land \cdots \land \neg p_n)
¬(p1∨p2∨⋯∨pn)≡(¬p1∧¬p2∧⋯∧¬pn)
和
¬
(
p
1
∧
p
2
∧
⋯
∧
p
n
)
≡
(
¬
p
1
∨
¬
p
2
∨
⋯
∨
¬
p
n
)
\neg (p_1 \land p_2 \land \cdots \land p_n) \equiv (\neg p_1 \lor \neg p_2 \lor \cdots \lor \neg p_n)
¬(p1∧p2∧⋯∧pn)≡(¬p1∨¬p2∨⋯∨¬pn)
我们有时使用符号
⋁
j
=
1
n
p
j
\bigvee_{j=1}^n p_j
⋁j=1npj 表示
p
1
∨
p
2
∨
⋯
∨
p
n
p_1 \lor p_2 \lor \cdots \lor p_n
p1∨p2∨⋯∨pn,以及
⋀
j
=
1
n
p
j
\bigwedge_{j=1}^n p_j
⋀j=1npj 表示
p
1
∧
p
2
∧
⋯
∧
p
n
p_1 \land p_2 \land \cdots \land p_n
p1∧p2∧⋯∧pn。使用这种符号,德摩根律的扩展形式可以简洁地写为:
¬
(
⋁
j
=
1
n
p
j
)
≡
⋀
j
=
1
n
¬
p
j
\neg \left( \bigvee_{j=1}^n p_j \right) \equiv \bigwedge_{j=1}^n \neg p_j
¬(j=1⋁npj)≡j=1⋀n¬pj
和
¬
(
⋀
j
=
1
n
p
j
)
≡
⋁
j
=
1
n
¬
p
j
\neg \left( \bigwedge_{j=1}^n p_j \right) \equiv \bigvee_{j=1}^n \neg p_j
¬(j=1⋀npj)≡j=1⋁n¬pj
(这些等式的证明将在第 5.1 节中给出)。
要证明包含 n n n 个变量的两个复合命题的等价性,真值表需要 2 n 2^n 2n 行。(注意,每增加一个命题变量,真值表的行数就会加倍。有关解决这类问题的详细信息,请参见第 6 章。)由于 2 n 2^n 2n 增长得非常快(见第 3.2 节),使用真值表来建立等价性在变量数量增多时变得不切实际。更快速的方法是使用我们已经知道的逻辑等价式。如何实现这一点将在后面讨论。
使用德摩根律
例5 使用德摩根律来表达“Miguel has a cellphone and he has a laptop computer”和“Heather will go to the concert or Steve will go to the concert”的否定形式。
解答:设 p p p 表示“Miguel has a cellphone”, q q q 表示“Miguel has a laptop computer”。因此,Miguel has a cellphone and he has a laptop computer 可以用 p ∧ q p \land q p∧q 表示。根据德摩根律的第一个等价式, ¬ ( p ∧ q ) \neg(p \land q) ¬(p∧q) 等价于 ¬ p ∨ ¬ q \neg p \lor \neg q ¬p∨¬q。因此,我们可以将原陈述的否定形式表达为“Miguel does not have a cellphone or he does not have a laptop computer”。
设 r r r 表示“Heather will go to the concert”, s s s 表示“Steve will go to the concert”。因此,Heather will go to the concert or Steve will go to the concert 可以用 r ∨ s r \lor s r∨s 表示。根据德摩根律的第二个等价式, ¬ ( r ∨ s ) \neg(r \lor s) ¬(r∨s) 等价于 ¬ r ∧ ¬ s \neg r \land \neg s ¬r∧¬s。因此,我们可以将原陈述的否定形式表达为“Heather will not go to the concert and Steve will not go to the concert”。
构造新的逻辑等价式
例6 证明 ¬ ( p → q ) \neg (p \rightarrow q) ¬(p→q) 和 p ∧ ¬ q p \land \neg q p∧¬q 是逻辑等价的。
¬ ( p → q ) ≡ ¬ ( ¬ p ∨ q ) ≡ ¬ ( ¬ p ) ∧ ¬ q ≡ p ∧ ¬ q \begin{align*} \neg (p \rightarrow q) &\equiv \neg (\neg p \lor q)\\ &\equiv \neg (\neg p) \land \neg q\\ &\equiv p \land \neg q \end{align*} ¬(p→q)≡¬(¬p∨q)≡¬(¬p)∧¬q≡p∧¬q
例7 证明 ¬ ( p ∨ ( ¬ p ∧ q ) ) \neg (p \lor (\neg p \land q)) ¬(p∨(¬p∧q)) 和 ¬ p ∧ ¬ q \neg p \land \neg q ¬p∧¬q 是通过推导一系列逻辑等价式而得到的逻辑等价式。
¬ ( p ∨ ( ¬ p ∧ q ) ) ≡ ¬ p ∧ ¬ ( ¬ p ∧ q ) ≡ ¬ p ∧ [ ¬ ( ¬ p ) ∨ ¬ q ] ≡ ¬ p ∧ ( p ∨ ¬ q ) ≡ ( ¬ p ∧ p ) ∨ ( ¬ p ∧ ¬ q ) ≡ F ∨ ( ¬ p ∧ ¬ q ) ≡ ( ¬ p ∧ ¬ q ) ∨ F ≡ ¬ p ∧ ¬ q \begin{align*} \neg (p \lor (\neg p \land q)) &\equiv \neg p \land \neg (\neg p \land q)\\ &\equiv \neg p \land [\neg (\neg p) \lor \neg q]\\ &\equiv \neg p \land (p \lor \neg q)\\ &\equiv (\neg p \land p) \lor (\neg p \land \neg q)\\ &\equiv \mathbf{F} \lor (\neg p \land \neg q)\\ &\equiv (\neg p \land \neg q) \lor \mathbf{F}\\ &\equiv \neg p \land \neg q\\ \end{align*} ¬(p∨(¬p∧q))≡¬p∧¬(¬p∧q)≡¬p∧[¬(¬p)∨¬q]≡¬p∧(p∨¬q)≡(¬p∧p)∨(¬p∧¬q)≡F∨(¬p∧¬q)≡(¬p∧¬q)∨F≡¬p∧¬q
例8 证明 ( p ∧ q ) → ( p ∨ q ) (p \land q) \rightarrow (p \lor q) (p∧q)→(p∨q) 是一个重言式(恒真命题)。
( p ∧ q ) → ( p ∨ q ) ≡ ¬ ( p ∧ q ) ∨ ( p ∨ q ) ≡ ( ¬ p ∨ ¬ q ) ∨ ( p ∨ q ) ≡ ( ¬ p ∨ p ) ∨ ( ¬ q ∨ q ) ≡ T ∨ T ≡ T \begin{align*} (p \land q) \rightarrow (p \lor q) &\equiv \neg (p \land q) \lor (p \lor q)\\ &\equiv (\neg p \lor \neg q) \lor (p \lor q)\\ &\equiv (\neg p \lor p) \lor (\neg q \lor q)\\ &\equiv \mathbf{T} \lor \mathbf{T}\\ &\equiv \mathbf{T} \end{align*} (p∧q)→(p∨q)≡¬(p∧q)∨(p∨q)≡(¬p∨¬q)∨(p∨q)≡(¬p∨p)∨(¬q∨q)≡T∨T≡T
因此, ( p ∧ q ) → ( p ∨ q ) (p \land q) \rightarrow (p \lor q) (p∧q)→(p∨q) 是一个重言式。
可满足性
当一个复合命题有一个真值赋值使得它为真(即它是一个重言式或偶然式)时,称该命题是可满足的。当不存在这样的赋值,即该复合命题对所有赋值都是假的时候,称该命题是不可满足的。注意,一个复合命题是不可满足的,当且仅当它的否定在所有赋值下都为真,也就是说,当且仅当它的否定是一个重言式。
当我们找到某个特定的真值赋值,使得复合命题为真时,我们就证明了它是可满足的;这样的赋值称为该可满足性问题的解。然而,为了证明一个复合命题是不可满足的,我们需要证明对其变量的每一个真值赋值都会使它为假。尽管我们可以总是使用真值表来确定一个复合命题是否可满足,但通常这样做并不高效,如例 9 所示。
例9 确定以下复合命题是否是可满足的:
(
p
∨
¬
q
)
∧
(
q
∨
¬
r
)
∧
(
r
∨
¬
p
)
(p \lor \neg q) \land (q \lor \neg r) \land (r \lor \neg p)
(p∨¬q)∧(q∨¬r)∧(r∨¬p)
(
p
∨
q
∨
r
)
∧
(
¬
p
∨
¬
q
∨
¬
r
)
(p \lor q \lor r) \land (\neg p \lor \neg q \lor \neg r)
(p∨q∨r)∧(¬p∨¬q∨¬r)
(
p
∨
¬
q
)
∧
(
q
∨
¬
r
)
∧
(
r
∨
¬
p
)
∧
(
p
∨
q
∨
r
)
∧
(
¬
p
∨
¬
q
∨
¬
r
)
(p \lor \neg q) \land (q \lor \neg r) \land (r \lor \neg p) \land (p \lor q \lor r) \land (\neg p \lor \neg q \lor \neg r)
(p∨¬q)∧(q∨¬r)∧(r∨¬p)∧(p∨q∨r)∧(¬p∨¬q∨¬r)
解 我们通过推理真值来解决这个问题,而不是使用真值表。
注意, ( p ∨ ¬ q ) ∧ ( q ∨ ¬ r ) ∧ ( r ∨ ¬ p ) (p \lor \neg q) \land (q \lor \neg r) \land (r \lor \neg p) (p∨¬q)∧(q∨¬r)∧(r∨¬p) 在 p p p、 q q q 和 r r r 三个变量具有相同的真值时为真。因此,它是可满足的,因为存在一个赋值使得它为真。
类似地, ( p ∨ q ∨ r ) ∧ ( ¬ p ∨ ¬ q ∨ ¬ r ) (p \lor q \lor r) \land (\neg p \lor \neg q \lor \neg r) (p∨q∨r)∧(¬p∨¬q∨¬r) 在至少一个变量 p p p、 q q q 或 r r r 为真,并且至少一个变量为假时为真(参见 1.1 节的练习 43)。因此, ( p ∨ q ∨ r ) ∧ ( ¬ p ∨ ¬ q ∨ ¬ r ) (p \lor q \lor r) \land (\neg p \lor \neg q \lor \neg r) (p∨q∨r)∧(¬p∨¬q∨¬r) 是可满足的,因为存在一个赋值使得它为真。
最后,注意,对于命题 ( p ∨ ¬ q ) ∧ ( q ∨ ¬ r ) ∧ ( r ∨ ¬ p ) ∧ ( p ∨ q ∨ r ) ∧ ( ¬ p ∨ ¬ q ∨ ¬ r ) (p \lor \neg q) \land (q \lor \neg r) \land (r \lor \neg p) \land (p \lor q \lor r) \land (\neg p \lor \neg q \lor \neg r) (p∨¬q)∧(q∨¬r)∧(r∨¬p)∧(p∨q∨r)∧(¬p∨¬q∨¬r) 要为真, ( p ∨ ¬ q ) ∧ ( q ∨ ¬ r ) ∧ ( r ∨ ¬ p ) (p \lor \neg q) \land (q \lor \neg r) \land (r \lor \neg p) (p∨¬q)∧(q∨¬r)∧(r∨¬p) 和 ( p ∨ q ∨ r ) ∧ ( ¬ p ∨ ¬ q ∨ ¬ r ) (p \lor q \lor r) \land (\neg p \lor \neg q \lor \neg r) (p∨q∨r)∧(¬p∨¬q∨¬r) 都必须为真。要使第一个命题为真,三个变量必须具有相同的真值;而要使第二个命题为真,至少一个变量必须为真,至少一个必须为假。然而,这两个条件是矛盾的。因此,我们得出结论,没有任何赋值使得 ( p ∨ ¬ q ) ∧ ( q ∨ ¬ r ) ∧ ( r ∨ ¬ p ) ∧ ( p ∨ q ∨ r ) ∧ ( ¬ p ∨ ¬ q ∨ ¬ r ) (p \lor \neg q) \land (q \lor \neg r) \land (r \lor \neg p) \land (p \lor q \lor r) \land (\neg p \lor \neg q \lor \neg r) (p∨¬q)∧(q∨¬r)∧(r∨¬p)∧(p∨q∨r)∧(¬p∨¬q∨¬r) 为真。因此,它是不可满足的。