文章目录
前情回顾
- p → q p \rightarrow q p→q 这叫做单条件蕴含,它的等价式为 ¬ p ∨ q ¬p \vee q ¬p∨q (这是较小的层面,是 clause 层面的关系)
蕴含式 ⊨ \models ⊨ 或 ⇒ \Rightarrow ⇒
如果现在有两个合式公式 (这是较大的层面,两个合式公式之间的关系)
- A : ( a 1 ∨ a 2 ) ∧ ( a 3 ∨ a 4 ) . . . ( a n ∨ a n + 1 ) A:(a_1\vee a_2) \wedge(a_3 \vee a_4) ...(a_n\vee a_{n+1}) A:(a1∨a2)∧(a3∨a4)...(an∨an+1)
- B : ( b 1 ∨ b 2 ) ∧ ( b 3 ∨ b 4 ) . . . ( b n ∨ b n + 1 ) B:(b_1\vee b_2) \wedge(b_3 \vee b_4) ...(b_n\vee b_{n+1}) B:(b1∨b2)∧(b3∨b4)...(bn∨bn+1)
- 如果能证明 A → B A \rightarrow B A→B 是个永真式,那么我们可以说 A ⇒ B A \Rightarrow B A⇒B (A 蕴含 B),或者表示为 A ⊨ B A \models B A⊨B,这个式子 A ⊨ B A \models B A⊨B 成为蕴含式,也叫做 永真的条件式; 此时, A A A 称为蕴含式的前提(前件), B B B 称为蕴含式的结论(后件)
蕴含式和等价式的关系( ≡ \equiv ≡ 或 ⇔ \Leftrightarrow ⇔)
A ≡ B A\equiv B A≡B 相当于 A ⊨ B A \models B A⊨B 且 B ⊨ A B \models A B⊨A
- 注意,这里用的是 “且”,而不是 ∧ \wedge ∧ 因为这是公式之间的关系,而不是子句之间的关系,不能用逻辑联结词。
- 等价式和蕴含式,都不是公式,因为他们表示的是不同公式之间的关系!!!!
证明蕴含式的方法
- 要证明 A ⊨ B A⊨B A⊨B 就证明 A → B A\rightarrow B A→B 是重言式(tautology);可以通过真值表
- 逻辑推演:证明蕴含关系要用逻辑推演。
逻辑推演的方法
- 前件真推后件真
- 后件假推前件假
Example
逻辑推演使用的 9 个基本蕴含式
- 证明蕴含关系的基本方法:真值表法 、逻辑推演法。
- 逻辑推演法在上面我们也做了简单的展示;除了直接分析公式的真假之外,我们引入了 9 个基本的蕴含式;可以帮助进行逻辑推演**(就像在命题逻辑的等值演算一样,可以通过公式的替换来简化证明过程)**
基本蕴含式 | 公式 | 解释 |
---|---|---|
附加律 | A ⊨ ( A ∨ B ) A \models (A \vee B) A⊨(A∨B) | A A A 是真, A ∨ B A \vee B A∨B 一定为真,满足前真推后真 |
化简律 | ( A ∧ B ) ⊨ A (A\wedge B) \models A (A∧B)⊨A | A A A 是假, A ∧ B A \wedge B A∧B 一定为假,满足后假推前假 |
假言推理 | ( A → B ) ∧ A ⊨ B (A \rightarrow B) \wedge A \models B (A→B)∧A⊨B | ( A → B ) (A \rightarrow B) (A→B) 是真的, A A A 也是真的,所以 B B B 必须是真的 |
拒取式 | ( A → B ) ∧ ¬ B ⊨ ¬ A (A \rightarrow B) \wedge ¬ B \models ¬ A (A→B)∧¬B⊨¬A | ( A → B ) (A \rightarrow B) (A→B) 是真的, ¬ B ¬ B ¬B 也是真的, B B B 是假的,因此 A A A 一定也是假的 |
析取三段论 | ( A ∨ B ) ∧ ¬ B ⊨ A (A \vee B) \wedge ¬ B \models A (A∨B)∧¬B⊨A | B B B 是假的, ( A ∨ B ) (A \vee B) (A∨B) 是真的,所以 A A A 一定是真的 |
假言三段论 | ( A → B ) ∧ ( B → C ) ⊨ ( A → C ) (A \rightarrow B) \wedge( B \rightarrow C)\models (A\rightarrow C) (A→B)∧(B→C)⊨(A→C) | 单条件蕴含的传递性 |
等价三断论 | ( A ↔ B ) ∧ ( B ↔ C ) ⊨ ( A ↔ C ) (A \leftrightarrow B) \wedge (B \leftrightarrow C) \models (A\leftrightarrow C) (A↔B)∧(B↔C)⊨(A↔C) | 双条件蕴含的传递性 |
构造性二难推理 | ( A → B ) ∧ ( C → D ) ∧ ( A ∨ C ) ⊨ ( B ∨ D ) (A \rightarrow B) \wedge ( C \rightarrow D) \wedge (A \vee C) \models (B\vee D) (A→B)∧(C→D)∧(A∨C)⊨(B∨D) | A , C A,C A,C 中至少有一个是真的,而且 ( A → B ) , ( C → D ) (A→B), (C→D) (A→B),(C→D) 都是真的,因此 B , D B, D B,D 有一个是真的, A A A 如果是真的,那么 C C C 就是真的,如果 B B B 是真的,那么 D D D 就是真的; A , C A,C A,C 都真,则 B , D B,D B,D 都真 |
破坏性二难推理 | ( A → B ) ∧ ( C → D ) ∧ ( ¬ B ∨ ¬ D ) ⊨ ( ¬ A ∨ ¬ C ) (A \rightarrow B) \wedge ( C \rightarrow D) \wedge (¬B \vee ¬D) \models (¬A \vee ¬C) (A→B)∧(C→D)∧(¬B∨¬D)⊨(¬A∨¬C) | B , D B, D B,D 至少有一个是假的,因此, A , C A,C A,C 中至少有一个是假的(结合 ( A → B ) , ( C → D ) (A→B), (C→D) (A→B),(C→D) 的真值表) |
推理的有效性证明
有效论证
假设 A 1 , A 2 , . . . A n A_1,A_2,...A_n A1,A2,...An 都是命题公式, B B B 也是命题公式,
- 如果对于 A 1 ∧ A 2 ∧ . . . A n ⊨ B A_1\wedge A_2 \wedge ...A_n \models B A1∧A2∧...An⊨B, A 1 ∧ A 2 ∧ . . . A n A_1\wedge A_2 \wedge ...A_n A1∧A2∧...An 为假,那么 A 1 ∧ A 2 ∧ . . . A n ⊨ B A_1\wedge A_2 \wedge ...A_n \models B A1∧A2∧...An⊨B 这个推理是有效的;
- 或者 A 1 ∧ A 2 ∧ . . . A n A_1\wedge A_2 \wedge ...A_n A1∧A2∧...An 为真时, B B B 也为真,那么称这个推理是有效的。
- 总结就是:前件假的时候,无论如何推理都是有效的,前件真的时候,后件也要为真,推理才有效。
- 如果证明 A 1 ∧ A 2 ∧ . . . A n ⊨ B A_1\wedge A_2 \wedge ...A_n \models B A1∧A2∧...An⊨B 是有效的,那么我们称 B B B 是 有效的结论
无效论证
- 若前提都是真命题,而结论是假命题(前真推后假,那么是无效论证)。
- 即 A 1 ∧ A 2 ∧ . . . A n ⊨ B A_1\wedge A_2 \wedge ...A_n \models B A1∧A2∧...An⊨B 中 A 1 ∧ A 2 ∧ . . . A n A_1\wedge A_2 \wedge ...A_n A1∧A2∧...An 为真,但是 B B B 是假。
一定要注意论证(推理) 的有效性 (Valid) 和 真(True) 的区别
Example
- 有效论证不一定 产生真实的结论,比如如果 前件假(false) 的,那么这个推论(论证)一定是有效的(valid);但是可能是 前 假 ⊨ 后 假 前假 \models 后假 前假⊨后假,得到的结论还是个假的,但推理确实有效的。
- 有效论证中可能包含假的前提,而无效的论证中却可能包含真的前提;例如 前 真 ⊨ 后 假 前真 \models 后假 前真⊨后假 这个推理就是无效的,但是前提是真的。
- 如果前提全是真的,那么有效结论也一定是真的。因为这就是 前 真 ⊨ 后 真 前真 \models 后真 前真⊨后真 才能使得推理是有效的,因为 前 真 ⊨ 后 假 前真 \models 后假 前真⊨后假 这个推理是无效的。
有效论证的 4 种判断方法
判断的方法分为两大类:
- 采用不同方法来证明 推理对应的单条件蕴含式是个永真(重言式)式:
- 真值表法
- 等值演算法
- 主析取范式法
- 采用逻辑推演法证明:(
前
真
⊨
后
真
前真\models 后真
前真⊨后真 或者
前
假
⊨
后
真
前假\models 后真
前假⊨后真 或者
前
假
⊨
后
假
前假\models 后假
前假⊨后假 或者
后
假
⊨
前
假
后假 \models 前假
后假⊨前假)
例题:
判断下列推理是否正确:
-
若 a 能被 4 整除,则 a 能被 2 整除。 a 能被 4 整除,所以 a 能被 2 整除
- 构造推理公式:
- p p p: a 能被 4 整除;
- q q q:a 能被 2 整除;
- p → q p\rightarrow q p→q:若 a 能被 4 整除,则 a 能被 2 整除
- ( p → q ) ∧ p ⊨ q (p\rightarrow q) \wedge p \models q (p→q)∧p⊨q:若 a 能被 4 整除,则 a 能被 2 整除。 a 能被 4 整除,所以 a 能被 2 整除
- 逻辑推演法:
- 采用 前真 ⊨ \models ⊨ 后真 的思路
- p ≡ T p\equiv T p≡T, p → q ≡ T p\rightarrow q \equiv T p→q≡T 所以 q ≡ T q \equiv T q≡T 所以推理是正确的。(就是假言推理形式)
- 构造推理公式:
-
下午马芳去游泳或去看电影,他没去看电影。所以他去游泳了
- 构造推理公式:
- p p p: 下午马芳去看电影;
- q q q:下午马芳去游泳;
- p ⊕ q p\oplus q p⊕q:下午马芳去游泳或去看电影 ≡ ( ¬ p ∧ q ) ∨ ( p ∧ ¬ q ) \equiv(¬ p \wedge q)\vee(p\wedge ¬ q) ≡(¬p∧q)∨(p∧¬q)
- ¬ p ¬ p ¬p:马芳下午没去看电影
- ( ¬ p ∧ q ) ∨ ( p ∧ ¬ q ) ∧ ¬ p ⊨ q (¬ p \wedge q)\vee(p\wedge ¬ q) \wedge ¬ p \models q (¬p∧q)∨(p∧¬q)∧¬p⊨q :下午马芳去游泳或去看电影,他没去看电影。所以他去游泳了
- 逻辑推演法:
- 采用 前真 ⊨ \models ⊨ 后真 的思路
- ( ¬ p ≡ T ) ≡ ( p ≡ F ) (¬ p\equiv T) \equiv (p \equiv F) (¬p≡T)≡(p≡F),
- p ∧ ¬ q ≡ F p\wedge ¬ q \equiv F p∧¬q≡F 所以 ( ¬ p ∧ q ) ≡ T (¬ p \wedge q) \equiv T (¬p∧q)≡T 所以 q ≡ T q \equiv T q≡T 所以符合前真推后真。
- 构造推理公式: