Part 4 数理逻辑#
命题 (Propositions)#
命题是具有确切真值的陈述句。该命题可以取一个“值”,称为真值。
真值只有“真”和“假”两种,分别用 T (1) 和 F (0) 表示。
命题的分类#
- 原子命题 (简单命题):不能再分解为更为简单命题的命题。
- 复合命题:可以分解为更为简单命题的命题。通过关联词(如“或者”、“并且”、“如果…则…”)复合而成。
- 是命题:
- 太阳是圆的 (T)
- 1+1=10 (T/F,取决于进制,但在特定语境下有确切真值)
- 3能被2整除 (F)
- 非命题:
- 滚出去! (祈使句)
- 你要出去吗? (疑问句)
- x+y>0 (真值取决于变量,除非指定域)
- 本语句是假的 (悖论)
命题联结词 (Connectives)#
1. 否定 (Negation)#
设 P 是任一命题,复合命题“非 P”称为 P 的否定式,记作 ¬P。
¬P 为真⟺P 为假
2. 合取 (Conjunction)#
设 P,Q 是任两个命题,复合命题“P 并且 Q”称为 P 与 Q 的合取式,记作 P∧Q。
P∧Q 为真⟺P,Q 同为真
自然语言对应:“既…又…”,“不仅…而且…”,“虽然…但是…”。
3. 析取 (Disjunction)#
设 P,Q 是任两个命题,复合命题“P 或者 Q”称为 P 与 Q 的析取式,记作 P∨Q。
P∨Q 为真⟺P,Q 中至少有一个为真
注意:这是“可兼或”(Inclusive OR)。
4. 蕴涵 (Implication)#
设 P,Q 是任两个命题,复合命题“如果 P,则 Q”称为 P 与 Q 的蕴涵式,记作 P→Q。
P→Q 为假⟺P 为真且 Q 为假
善意推定:当前件 P 为假时,不管 Q 真假如何,则 P→Q 都为真。
自然语言对应:
- “只要 P 就 Q” ⇒P→Q
- “只有 Q 才 P” ⇒P→Q
- “P 仅当 Q” ⇒P→Q
- “除非 Q 否则 ¬P” ⇒¬Q→¬P (即 P→Q)
5. 等价 (Equivalence)#
设 P,Q 是任两个命题,复合命题“P 当且仅当 Q”称为 P 与 Q 的等价式,记作 P↔Q。
P↔Q 为真⟺P,Q 同为真假
自然语言对应:“充分必要条件”。
优先级约定#
¬→∧→∨→→→↔
(注:同级符号按从左到右顺序,括号优先级最高)
命题公式是仅由有限步使用规则构成的符号串:
- 命题变元本身是一个公式。
- 如 G 是公式,则 (¬G) 也是公式。
- 如 G,H 是公式,则 (G∧H),(G∨H),(G→H),(G↔H) 也是公式。
解释与真值表#
- 解释 (Interpretation):指派给公式中所有命题变元的一组真值。对于 n 个变元,有 2n 个不同的解释。
- 真值表 (Truth Table):将公式在所有可能解释下的真值情况列成的表。
公式的分类#
- 永真公式 (重言式, Tautology):在所有解释下都为“真”。
- 永假公式 (矛盾式, Contradiction):在所有解释下都为“假”。
- 可满足公式 (Satisfiable):至少存在一个解释使其为“真”(不是永假式)。
关系:
永真式的否定⇔矛盾式
矛盾式的否定⇔永真式
逻辑等价与蕴涵#
逻辑等价 (Logical Equivalence)#
如果公式 G,H 在任意解释下真值相同,则称 G,H 是等价的,记作 G=H (或 G⇔H)。
定理:
G=H⟺(G↔H) 是永真公式
注意:“=” 是一种关系,描述两个公式的关系;“↔” 是一种逻辑联结词,运算结果仍是公式。
基本等价公式 (24个)#
- 结合律:
G∨(H∨S)=(G∨H)∨S
G∧(H∧S)=(G∧H)∧S
- 交换律:
G∨H=H∨G
G∧H=H∧G
- 幂等律:
G∨G=G
G∧G=G
- 吸收律:
G∨(G∧H)=G
G∧(G∨H)=G
- 分配律:
G∨(H∧S)=(G∨H)∧(G∨S)
G∧(H∨S)=(G∧H)∨(G∧S)
- 同一律:
G∨0=G,G∧1=G
- 零律:
G∨1=1,G∧0=0
- 排中律:
G∨¬G=1
- 矛盾律:
G∧¬G=0
- 双重否定律:
¬(¬G)=G
- 德·摩根定律 (De Morgan’s Laws):
¬(G∨H)=¬G∧¬H
¬(G∧H)=¬G∨¬H
- 蕴涵式:
G→H=¬G∨H
- 等价式:
G↔H=(G→H)∧(H→G)
- 假言易位:
G→H=¬H→¬G
- 归谬论:
(G→H)∧(G→¬H)=¬G
代入定理与替换定理#
- 代入定理:若 G 是永真式,用任意公式 Hi 替换 G 中出现的原子变元 Pi,所得公式仍为永真式。
- 替换定理:若 G1 是 G 的子公式,且 G1=H1,则用 H1 替换 G 中的 G1 得到的新公式 H 与 G 等价(即 G=H)。
命题逻辑的应用实例#
1. 逻辑电路化简#
例:化简电路 ((P∧Q∧R)∨(P∧Q∧S))∧((P∧R)∨(P∧S))
解:
原式=((P∧Q)∧(R∨S))∧(P∧(R∨S))=P∧Q∧(R∨S)(提取公因式)(吸收律 A∧B∧A=A∧B)
2. 逻辑谜题:骑士与无赖#
背景:骑士只说真话,无赖只说假话。
场景 1:
A 说:“我们两个都是无赖”。问 A, B 身份。
- 若 A 是骑士 ⇒ 话为真 ⇒ A, B 都是无赖 ⇒ 矛盾(A 既是骑士又是无赖)。
- 若 A 是无赖 ⇒ 话为假 ⇒ “两人都是无赖”为假 ⇒ 至少有一人是骑士。因 A 是无赖,故 B 是骑士。
场景 2:
A 说:“B 在撒谎”。C 说:“B 在撒谎”。
- 结论:A 和 C 说的话相同,身份并未直接互斥,但 B 和 C 必然身份相反(一个说谎一个没说)。此题需更多信息,但可推断 B 和 C 身份不同。
3. 多数表决电路 (飞机复核系统)#
问题:三台计算机 C1,C2,C3 复核飞行计划,采用“少数服从多数”原则。求判断结果 S 的公式。
真值表分析:
只要有 2 台或 3 台为 1 (真),则 S=1。
即 (1,1,0),(1,0,1),(0,1,1),(1,1,1) 四种情况。
公式:
S=(C1∧C2∧¬C3)∨(C1∧¬C2∧C3)∨(¬C1∧C2∧C3)∨(C1∧C2∧C3)
化简:
S=(C1∧C2)∨(C1∧C3)∨(C2∧C3)
1. 基本定义#
- 文字 (Literal):命题变元或其否定(如 P,¬P)。
- 析取式 (子句):有限个文字的析取(如 P∨¬Q)。
- 合取式 (短语):有限个文字的合取(如 P∧Q∧¬R)。
2. 析取范式与合取范式#
- 析取范式 (DNF):有限个短语的析取。
A1∨A2∨⋯∨An(其中 Ai 是合取式)
- 合取范式 (CNF):有限个子句的合取。
B1∧B2∧⋯∧Bn(其中 Bi 是析取式)
定理:任何命题公式都存在与之等价的析取范式和合取范式。
3. 极小项与极大项#
对于 n 个命题变元:
-
极小项 (Minterm, mi):包含全部 n 个变元的合取式,每个变元以原形或否定形式出现一次。
- 性质:每个极小项只有一种赋值使其为真(对应真值表的一行)。
- 编码:变元为 1,否定为 0。例如 P∧¬Q∧R⇒101⇒m5。
-
极大项 (Maxterm, Mi):包含全部 n 个变元的析取式。
- 性质:每个极大项只有一种赋值使其为假。
- 编码:变元为 0,否定为 1。例如 ¬P∨Q∨¬R⇒101⇒M5。
关系:
¬mi=Mi
为了解决范式不唯一的问题,引入主范式。
主析取范式 (PDNF)#
由极小项的析取构成。
- 求法:选出真值表中结果为 T (1) 的行,将对应的极小项析取。
- 用途:判断两公式是否等价(主析取范式唯一);判断是否为永假式(主析取范式为空)。
主合取范式 (PCNF)#
由极大项的合取构成。
- 求法:选出真值表中结果为 F (0) 的行,将对应的极大项合取。
- 用途:判断是否为永真式(主合取范式为空)。
范式转换算法#
由 PDNF 求 PCNF:
若公式 G 的主析取范式包含极小项下标集合为 I,全集为 U={0,1,…,2n−1}。
则 G 的主合取范式包含的极大项下标集合为 U−I。
例:
设 G(P,Q,R) 的主析取范式为 m0∨m1∨m3∨m4∨m6∨m7。
则缺少的下标为 {2,5}。
故主合取范式为 M2∧M5。
5. 范式的应用#