NknSのSitE

Back

DM Predicate Logic & Logic Inference

Records About Predicate Logic and Inference Rules

Part 5 谓词逻辑与推理理论#

谓词逻辑基础#

x sort [file] # to sort the lines in file in Lexicographical order​lscd# relative paths​bash#

  • 个体词 (Individual):表示研究对象(主语、宾语)。
    • 常量:a,b,ca, b, c(如“苏格拉底”)。
    • 变量:x,y,zx, y, z(泛指个体)。
  • 个体域 (Domain):个体变量的取值范围(常用 DD 表示)。
  • 谓词 (Predicate):刻画个体的性质或关系的词。
    • P(x)P(x):xx 是人。
    • Q(x,y)Q(x, y):xx 喜欢 yy。
    • nn 元谓词:描述 nn 个体之间的关系。

量词 (Quantifiers)#

  • 全称量词 (Universal Quantifier, ∀\forall):
    • ∀xP(x)\forall x P(x):对个体域中所有的 xx,P(x)P(x) 为真。
    • 对应自然语言:“所有”、“每一个”、“任意”。
  • 存在量词 (Existential Quantifier, ∃\exists):
    • ∃xP(x)\exists x P(x):在个体域中存在至少一个 xx,使得 P(x)P(x) 为真。
    • 对应自然语言:“存在”、“有一些”、“至少一个”。

翻译规则(重要)#

统一个体域为全总个体域时,需引入特性谓词限定范围:

  1. 全称量词 + 蕴涵:∀x(M(x)→P(x))\forall x (M(x) \rightarrow P(x))
    • “所有的人都是要死的” ⇒\Rightarrow 对任意 xx,如果 xx 是人,则 xx 会死。
    • 错误写法:∀x(M(x)∧P(x))\forall x (M(x) \wedge P(x)) (意味着宇宙万物都是人且都会死)。
  2. 存在量词 + 合取:∃x(M(x)∧P(x))\exists x (M(x) \wedge P(x))
    • “有些人登上了月球” ⇒\Rightarrow 存在 xx,既是人,又登上了月球。
    • 错误写法:∃x(M(x)→P(x))\exists x (M(x) \rightarrow P(x)) (若存在非人的东西,该式自动为真,无法准确表达含义)。

量词的性质与等值式#

  • 量词转换律:

    ¬(∀x)P(x)⇔(∃x)¬P(x)\neg (\forall x) P(x) \Leftrightarrow (\exists x) \neg P(x) ¬(∃x)P(x)⇔(∀x)¬P(x)\neg (\exists x) P(x) \Leftrightarrow (\forall x) \neg P(x)
  • 量词分配律:

    (∀x)(P(x)∧Q(x))⇔(∀x)P(x)∧(∀x)Q(x)(\forall x)(P(x) \wedge Q(x)) \Leftrightarrow (\forall x)P(x) \wedge (\forall x)Q(x) (∃x)(P(x)∨Q(x))⇔(∃x)P(x)∨(∃x)Q(x)(\exists x)(P(x) \vee Q(x)) \Leftrightarrow (\exists x)P(x) \vee (\exists x)Q(x)

    (注意:∀\forall 对 ∨\vee,∃\exists 对 ∧\wedge 无分配律)

  • 辖域收缩与扩张(QQ 中不含 xx):

    (∀x)(P(x)∨Q)⇔(∀x)P(x)∨Q(\forall x)(P(x) \vee Q) \Leftrightarrow (\forall x)P(x) \vee Q (∃x)(P(x)∧Q)⇔(∃x)P(x)∧Q(\exists x)(P(x) \wedge Q) \Leftrightarrow (\exists x)P(x) \wedge Q

前束范式 (Prenex Normal Form)#

定义#

所有量词都位于公式最前端,且辖域延伸至公式末端。 形式:(Q1x1)(Q2x2)…(Qnxn)M(Q_1 x_1) (Q_2 x_2) \dots (Q_n x_n) M 其中 Qi∈{∀,∃}Q_i \in \{\forall, \exists\},MM 为不含量词的公式。

转换步骤#

  1. 消去 →,↔\rightarrow, \leftrightarrow。
  2. 利用摩根律将 ¬\neg 内移至原子谓词前。
  3. 利用改名规则避免变元冲突。
  4. 利用量词移动规则将量词提到最前。

示例:求 ¬((∀x)P(x)→(∃y)Q(y))\neg ((\forall x) P(x) \rightarrow (\exists y) Q(y)) 的前束范式。

¬(¬(∀x)P(x)∨(∃y)Q(y))(消去→)(∀x)P(x)∧¬(∃y)Q(y)(摩根律)(∀x)P(x)∧(∀y)¬Q(y)(量词转换)(∀x)(∀y)(P(x)∧¬Q(y))(量词前移)\begin{aligned} \neg (\neg (\forall x) P(x) \vee (\exists y) Q(y)) \quad & (\text{消去} \rightarrow) \\ (\forall x) P(x) \wedge \neg (\exists y) Q(y) \quad & (\text{摩根律}) \\ (\forall x) P(x) \wedge (\forall y) \neg Q(y) \quad & (\text{量词转换}) \\ (\forall x) (\forall y) (P(x) \wedge \neg Q(y)) \quad & (\text{量词前移}) \end{aligned}

推理理论 (Inference Theory)#

基本概念#

  • 推理:从一组前提 G1,G2,…,GnG_1, G_2, \dots, G_n 推出结论 HH 的思维过程。
  • 有效推理:当且仅当 G1∧G2∧⋯∧Gn→HG_1 \wedge G_2 \wedge \dots \wedge G_n \rightarrow H 为永真式。 记作:{G1,G2,…,Gn}⇒H\{G_1, G_2, \dots, G_n\} \Rightarrow H。

常用推理规则#

  1. 假言推理 (Modus Ponens): P,P→Q⇒QP, P \rightarrow Q \Rightarrow Q
  2. 拒取式 (Modus Tollens): ¬Q,P→Q⇒¬P\neg Q, P \rightarrow Q \Rightarrow \neg P
  3. 假言三段论: P→Q,Q→R⇒P→RP \rightarrow Q, Q \rightarrow R \Rightarrow P \rightarrow R
  4. 析取三段论: P∨Q,¬P⇒QP \vee Q, \neg P \Rightarrow Q
  5. 化简律: P∧Q⇒PP \wedge Q \Rightarrow P
  6. 附加律: P⇒P∨QP \Rightarrow P \vee Q
  7. 合取引入: P,Q⇒P∧QP, Q \Rightarrow P \wedge Q
  8. 二难推论: P∨Q,P→R,Q→R⇒RP \vee Q, P \rightarrow R, Q \rightarrow R \Rightarrow R

谓词逻辑推理规则#

除了上述命题逻辑规则外,增加四个量词规则:

  1. 全称特指 (US): (∀x)P(x)⇒P(c)(\forall x) P(x) \Rightarrow P(c) (cc 为任意个体或特定常量)。
  2. 全称推广 (UG): P(x)⇒(∀x)P(x)P(x) \Rightarrow (\forall x) P(x) (xx 必须是任意的,不能受限)。
  3. 存在特指 (ES): (∃x)P(x)⇒P(c)(\exists x) P(x) \Rightarrow P(c) (cc 必须是新的常量,之前未出现过)。
  4. 存在推广 (EG): P(c)⇒(∃x)P(x)P(c) \Rightarrow (\exists x) P(x)。

推理证明方法#

  1. 直接证明法:由前提利用推理规则推导至结论。
  2. 间接证明法 (反证法):假设结论的否定 ¬H\neg H 成立,将其加入前提集合,推导出矛盾(如 R∧¬RR \wedge \neg R)。
  3. 附加前提证明法 (CP规则):若结论是 P→QP \rightarrow Q 形式,可将 PP 作为附加前提,只需证明 QQ 成立。

例题: 前提:∀x(P(x)→Q(x)),∀x(Q(x)→R(x))\forall x (P(x) \rightarrow Q(x)), \forall x (Q(x) \rightarrow R(x)) 结论:∀x(P(x)→R(x))\forall x (P(x) \rightarrow R(x))

证明:

  1. ∀x(P(x)→Q(x))\forall x (P(x) \rightarrow Q(x)) (前提)
  2. P(y)→Q(y)P(y) \rightarrow Q(y) (US, 1)
  3. ∀x(Q(x)→R(x))\forall x (Q(x) \rightarrow R(x)) (前提)
  4. Q(y)→R(y)Q(y) \rightarrow R(y) (US, 3)
  5. P(y)→R(y)P(y) \rightarrow R(y) (假言三段论, 2, 4)
  6. ∀x(P(x)→R(x))\forall x (P(x) \rightarrow R(x)) (UG, 5)