谓词逻辑

12 minIntermediate2026/6/14

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

1. 量词与谓词

1.1 谓词

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

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

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

1.2 量词

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

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

1.3 量词与联结词的关系

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

xP(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)

xP(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 量词的否定

¬xP(x)x¬P(x)\neg\forall x\,P(x) \Leftrightarrow \exists x\,\neg P(x)

¬xP(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. ffnn 元函数符号,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 自由变元与约束变元

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

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

2.3 量词的辖域

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

2.4 约束变元换名

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

xP(x,y)zP(z,y)\forall x\,P(x, y) \Leftrightarrow \forall z\,P(z, y)

3. 等值演算

3.1 基本等值式

量词德摩根律

¬xAx¬A,¬xAx¬A\neg\forall x\,A \Leftrightarrow \exists x\,\neg A, \quad \neg\exists x\,A \Leftrightarrow \forall x\,\neg A

量词分配律

x(AB)xAxB\forall x(A \land B) \Leftrightarrow \forall x\,A \land \forall x\,B

x(AB)xAxB\exists x(A \lor B) \Leftrightarrow \exists x\,A \lor \exists x\,B

注意x(AB)⇎xAxB\forall x(A \lor B) \not\Leftrightarrow \forall x\,A \lor \forall x\,Bx(AB)⇎xAxB\exists x(A \land B) \not\Leftrightarrow \exists x\,A \land \exists x\,B

量词与蕴含

xABx(AB)(x 不在 B 中自由出现)\forall x\,A \to B \Leftrightarrow \exists x(A \to B) \quad (x \text{ 不在 } B \text{ 中自由出现})

xABx(AB)(x 不在 B 中自由出现)\exists x\,A \to B \Leftrightarrow \forall x(A \to B) \quad (x \text{ 不在 } B \text{ 中自由出现})

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

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

3.2 量词的顺序

xyP(x,y)yxP(x,y)\forall x\,\forall y\,P(x,y) \Leftrightarrow \forall y\,\forall x\,P(x,y)

xyP(x,y)yxP(x,y)\exists x\,\exists y\,P(x,y) \Leftrightarrow \exists y\,\exists x\,P(x,y)

不同量词不可交换xyP(x,y)⇎yxP(x,y)\forall x\,\exists y\,P(x,y) \not\Leftrightarrow \exists y\,\forall x\,P(x,y)

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

4. 前束范式

4.1 定义

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

Q1x1Q2x2QnxnBQ_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. 将量词前移

:求 ¬xP(x)xQ(x)\neg\forall x\,P(x) \to \exists x\,Q(x) 的前束范式。

  1. ¬xP(x)xQ(x)¬¬xP(x)xQ(x)xP(x)xQ(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. 换名:xP(x)yQ(y)\forall x\,P(x) \lor \exists y\,Q(y)
  3. 量词前移:xy(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

xy(P(x,y))\forall x\exists y\,(P(x,y)) 的 Skolem 化:用 f(x)f(x) 替换 yy,得 xP(x,f(x))\forall x\,P(x, f(x))

5. 推理理论

5.1 推理规则

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

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

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

存在量词引入(EG)A(c)xA(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))xP(x)\exists x\,P(x)。结论 xQ(x)\exists x\,Q(x)

  1. xP(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. xQ(x)\exists x\,Q(x)(EG,5)

6. 一阶逻辑形式化

6.1 形式化步骤

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

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

论域:实数集 R\mathbb{R} 谓词:G(x,y)G(x,y) 表示 xyx \geq yZ(x)Z(x) 表示 xx 是整数 xy(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) 也可记为 !xP(x)\exists! x\,P(x)

6.2 常见形式化模式

自然语言形式化
所有 AA 都是 BBx(A(x)B(x))\forall x(A(x) \to B(x))
有些 AABBx(A(x)B(x))\exists x(A(x) \land B(x))
没有 AABBx(A(x)¬B(x))\forall x(A(x) \to \neg B(x))
并非所有 AA 都是 BBx(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 嵌套量词的理解

xyL(x,y)\forall x\,\exists y\,L(x,y)

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

yxL(x,y)\exists y\,\forall x\,L(x,y)

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

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