谓词逻辑

12 minIntermediate2026/6/14

量词、谓词公式、等值演算、前束范式、推理理论、一阶逻辑形式化。

1. 量词与谓词

1.1 谓词

谓词表示个体的性质或个体间的关系。

  • 一元谓词 P(x)P(x):xx 具有性质 PP
  • 二元谓词 P(x,y)P(x, y):xx 和 yy 具有关系 PP
  • nn 元谓词 P(x1,x2,…,xn)P(x_1, x_2, \ldots, x_n)

论域(个体域):个体变元的取值范围。

1.2 量词

全称量词 ∀\forall:∀x P(x)\forall x\,P(x) 表示”对所有 xx,P(x)P(x) 成立”。

存在量词 ∃\exists:∃x P(x)\exists x\,P(x) 表示”存在 xx,使得 P(x)P(x) 成立”。

1.3 量词与联结词的关系

在有限论域 D={a1,a2,…,an}D = \{a_1, a_2, \ldots, a_n\} 上:

∀x P(x)⇔P(a1)∧P(a2)∧⋯∧P(an)\forall x\,P(x) \Leftrightarrow P(a_1) \land P(a_2) \land \cdots \land P(a_n)

∃x P(x)⇔P(a1)∨P(a2)∨⋯∨P(an)\exists x\,P(x) \Leftrightarrow P(a_1) \lor P(a_2) \lor \cdots \lor P(a_n)

1.4 量词的否定

¬∀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)→Q(x))⇔∃x(P(x)∧¬Q(x))\neg\forall x(P(x) \to Q(x)) \Leftrightarrow \exists x\,\neg(P(x) \to Q(x)) \Leftrightarrow \exists x(P(x) \land \neg Q(x))

2. 谓词公式

2.1 项与公式

项的递归定义:

  1. 个体常量和个体变元是项
  2. 若 ff 是 nn 元函数符号,t1,…,tnt_1, \ldots, t_n 是项,则 f(t1,…,tn)f(t_1, \ldots, t_n) 是项

原子公式:P(t1,…,tn)P(t_1, \ldots, t_n),其中 PP 是谓词符号,tit_i 是项。

合式公式:由原子公式通过联结词和量词递归构造。

2.2 自由变元与约束变元

  • 约束变元:出现在量词作用范围内的变元,如 ∀x P(x)\forall x\,P(x) 中的 xx
  • 自由变元:不受量词约束的变元,如 P(x)∧∀y Q(y)P(x) \land \forall y\,Q(y) 中的 xx

闭公式:不含自由变元的公式。

2.3 量词的辖域

∀x P(x)∧Q(x)\forall x\,P(x) \land Q(x) 中 ∀x\forall x 的辖域仅为 P(x)P(x),Q(x)Q(x) 中的 xx 是自由的。

2.4 约束变元换名

可将约束变元换名为不出现在公式中的其他变元:

∀x P(x,y)⇔∀z P(z,y)\forall x\,P(x, y) \Leftrightarrow \forall z\,P(z, y)

3. 等值演算

3.1 基本等值式

量词德摩根律:

¬∀x A⇔∃x ¬A,¬∃x A⇔∀x ¬A\neg\forall x\,A \Leftrightarrow \exists x\,\neg A, \quad \neg\exists x\,A \Leftrightarrow \forall x\,\neg A

量词分配律:

∀x(A∧B)⇔∀x A∧∀x B\forall x(A \land B) \Leftrightarrow \forall x\,A \land \forall x\,B

∃x(A∨B)⇔∃x A∨∃x B\exists x(A \lor B) \Leftrightarrow \exists x\,A \lor \exists x\,B

注意:∀x(A∨B)⇎∀x A∨∀x B\forall x(A \lor B) \not\Leftrightarrow \forall x\,A \lor \forall x\,B,∃x(A∧B)⇎∃x A∧∃x B\exists x(A \land B) \not\Leftrightarrow \exists x\,A \land \exists x\,B

量词与蕴含:

∀x A→B⇔∃x(A→B)(x 不在 B 中自由出现)\forall x\,A \to B \Leftrightarrow \exists x(A \to B) \quad (x \text{ 不在 } B \text{ 中自由出现})

∃x A→B⇔∀x(A→B)(x 不在 B 中自由出现)\exists x\,A \to B \Leftrightarrow \forall x(A \to B) \quad (x \text{ 不在 } B \text{ 中自由出现})

A→∀x B⇔∀x(A→B)(x 不在 A 中自由出现)A \to \forall x\,B \Leftrightarrow \forall x(A \to B) \quad (x \text{ 不在 } A \text{ 中自由出现})

A→∃x B⇔∃x(A→B)(x 不在 A 中自由出现)A \to \exists x\,B \Leftrightarrow \exists x(A \to B) \quad (x \text{ 不在 } A \text{ 中自由出现})

3.2 量词的顺序

∀x ∀y P(x,y)⇔∀y ∀x P(x,y)\forall x\,\forall y\,P(x,y) \Leftrightarrow \forall y\,\forall x\,P(x,y)

∃x ∃y P(x,y)⇔∃y ∃x P(x,y)\exists x\,\exists y\,P(x,y) \Leftrightarrow \exists y\,\exists x\,P(x,y)

不同量词不可交换:∀x ∃y P(x,y)⇎∃y ∀x P(x,y)\forall x\,\exists y\,P(x,y) \not\Leftrightarrow \exists y\,\forall x\,P(x,y)

例:∀x ∃y (x+y=0)\forall x\,\exists y\,(x + y = 0) 为真(对每个 xx,取 y=−xy = -x),但 ∃y ∀x (x+y=0)\exists y\,\forall x\,(x + y = 0) 为假(不存在一个 yy 对所有 xx 满足 x+y=0x + y = 0)。

4. 前束范式

4.1 定义

前束范式:所有量词都在公式最前面的等值形式,形如

Q1x1 Q2x2⋯Qnxn BQ_1 x_1\,Q_2 x_2 \cdots Q_n x_n\,B

其中 Qi∈{∀,∃}Q_i \in \{\forall, \exists\},BB 为不含量词的公式(称为母式)。

4.2 求前束范式的步骤

  1. 消去 →\to 和 ↔\leftrightarrow
  2. 将 ¬\neg 内移至原子公式前
  3. 约束变元换名(使不同量词使用不同变元名)
  4. 将量词前移

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

  1. ¬∀x P(x)→∃x Q(x)⇔¬¬∀x P(x)∨∃x Q(x)⇔∀x P(x)∨∃x Q(x)\neg\forall x\,P(x) \to \exists x\,Q(x) \Leftrightarrow \neg\neg\forall x\,P(x) \lor \exists x\,Q(x) \Leftrightarrow \forall x\,P(x) \lor \exists x\,Q(x)
  2. 换名:∀x P(x)∨∃y Q(y)\forall x\,P(x) \lor \exists y\,Q(y)
  3. 量词前移:∀x∃y (P(x)∨Q(y))\forall x\exists y\,(P(x) \lor Q(y))

4.3 Skolem 范式

将前束范式中的存在量词用 Skolem 函数消去:

  • ∃x\exists x 前面有 ∀y1,…,∀yk\forall y_1, \ldots, \forall y_k:用 f(y1,…,yk)f(y_1, \ldots, y_k) 替换 xx
  • ∃x\exists x 前面无全称量词:用常量 cc 替换 xx

例:∀x∃y (P(x,y))\forall x\exists y\,(P(x,y)) 的 Skolem 化:用 f(x)f(x) 替换 yy,得 ∀x P(x,f(x))\forall x\,P(x, f(x))。

5. 推理理论

5.1 推理规则

全称量词消去(UI):∀x A(x)⊢A(c)\forall x\,A(x) \vdash A(c)(cc 为论域中任意个体)

全称量词引入(UG):A(c)A(c)(cc 为任意个体)⊢∀x A(x)\vdash \forall x\,A(x)

存在量词消去(EI):∃x A(x)⊢A(c)\exists x\,A(x) \vdash A(c)(cc 为特定个体,不能是已有常量)

存在量词引入(EG):A(c)⊢∃x A(x)A(c) \vdash \exists x\,A(x)

5.2 推理注意事项

  • EI 必须在 UI 之前使用
  • EI 引入的常量不能在其他前提中出现
  • UG 要求变元是任意的

例:前提 ∀x(P(x)→Q(x))\forall x(P(x) \to Q(x)),∃x P(x)\exists x\,P(x)。结论 ∃x Q(x)\exists x\,Q(x)。

  1. ∃x P(x)\exists x\,P(x)(前提)
  2. P(a)P(a)(EI,1)
  3. ∀x(P(x)→Q(x))\forall x(P(x) \to Q(x))(前提)
  4. P(a)→Q(a)P(a) \to Q(a)(UI,3)
  5. Q(a)Q(a)(MP,2, 4)
  6. ∃x Q(x)\exists x\,Q(x)(EG,5)

6. 一阶逻辑形式化

6.1 形式化步骤

  1. 确定论域
  2. 定义谓词
  3. 将自然语言翻译为谓词公式

例:将”所有实数都大于或等于某个整数”形式化。

论域:实数集 R\mathbb{R} 谓词:G(x,y)G(x,y) 表示 x≥yx \geq y,Z(x)Z(x) 表示 xx 是整数 ∀x ∃y (Z(y)∧G(x,y))\forall x\,\exists y\,(Z(y) \land G(x,y))

例:将”存在唯一的 xx 使得 P(x)P(x) 成立”形式化。

∃x(P(x)∧∀y(P(y)→y=x))\exists x\left(P(x) \land \forall y(P(y) \to y = x)\right) 也可记为 ∃!x P(x)\exists! x\,P(x)。

6.2 常见形式化模式

自然语言形式化
所有 AA 都是 BB∀x(A(x)→B(x))\forall x(A(x) \to B(x))
有些 AA 是 BB∃x(A(x)∧B(x))\exists x(A(x) \land B(x))
没有 AA 是 BB∀x(A(x)→¬B(x))\forall x(A(x) \to \neg B(x))
并非所有 AA 都是 BB∃x(A(x)∧¬B(x))\exists x(A(x) \land \neg B(x))

注意:“所有 AA 都是 BB” 形式化为 ∀x(A(x)→B(x))\forall x(A(x) \to B(x)),而非 ∀x(A(x)∧B(x))\forall x(A(x) \land B(x))。后者要求论域中所有元素都是 AA 且都是 BB。

6.3 嵌套量词的理解

∀x ∃y L(x,y)\forall x\,\exists y\,L(x,y)

“每个人都爱某个人”——对每个人,都存在一个人被他爱。

∃y ∀x L(x,y)\exists y\,\forall x\,L(x,y)

“有一个人被所有人爱”——存在一个人,所有人都爱他。

两者的逻辑强度不同,后者更强。