谓词表示个体的性质或个体间的关系。
- 一元谓词 P(x):x 具有性质 P
- 二元谓词 P(x,y):x 和 y 具有关系 P
- n 元谓词 P(x1,x2,…,xn)
论域(个体域):个体变元的取值范围。
全称量词 ∀:∀xP(x) 表示”对所有 x,P(x) 成立”。
存在量词 ∃:∃xP(x) 表示”存在 x,使得 P(x) 成立”。
在有限论域 D={a1,a2,…,an} 上:
∀xP(x)⇔P(a1)∧P(a2)∧⋯∧P(an)
∃xP(x)⇔P(a1)∨P(a2)∨⋯∨P(an)
¬∀xP(x)⇔∃x¬P(x)
¬∃xP(x)⇔∀x¬P(x)
例:¬∀x(P(x)→Q(x))⇔∃x¬(P(x)→Q(x))⇔∃x(P(x)∧¬Q(x))
项的递归定义:
- 个体常量和个体变元是项
- 若 f 是 n 元函数符号,t1,…,tn 是项,则 f(t1,…,tn) 是项
原子公式:P(t1,…,tn),其中 P 是谓词符号,ti 是项。
合式公式:由原子公式通过联结词和量词递归构造。
- 约束变元:出现在量词作用范围内的变元,如 ∀xP(x) 中的 x
- 自由变元:不受量词约束的变元,如 P(x)∧∀yQ(y) 中的 x
闭公式:不含自由变元的公式。
∀xP(x)∧Q(x) 中 ∀x 的辖域仅为 P(x),Q(x) 中的 x 是自由的。
可将约束变元换名为不出现在公式中的其他变元:
∀xP(x,y)⇔∀zP(z,y)
量词德摩根律:
¬∀xA⇔∃x¬A,¬∃xA⇔∀x¬A
量词分配律:
∀x(A∧B)⇔∀xA∧∀xB
∃x(A∨B)⇔∃xA∨∃xB
注意:∀x(A∨B)⇔∀xA∨∀xB,∃x(A∧B)⇔∃xA∧∃xB
量词与蕴含:
∀xA→B⇔∃x(A→B)(x 不在 B 中自由出现)
∃xA→B⇔∀x(A→B)(x 不在 B 中自由出现)
A→∀xB⇔∀x(A→B)(x 不在 A 中自由出现)
A→∃xB⇔∃x(A→B)(x 不在 A 中自由出现)
∀x∀yP(x,y)⇔∀y∀xP(x,y)
∃x∃yP(x,y)⇔∃y∃xP(x,y)
不同量词不可交换:∀x∃yP(x,y)⇔∃y∀xP(x,y)
例:∀x∃y(x+y=0) 为真(对每个 x,取 y=−x),但 ∃y∀x(x+y=0) 为假(不存在一个 y 对所有 x 满足 x+y=0)。
前束范式:所有量词都在公式最前面的等值形式,形如
Q1x1Q2x2⋯QnxnB
其中 Qi∈{∀,∃},B 为不含量词的公式(称为母式)。
- 消去 → 和 ↔
- 将 ¬ 内移至原子公式前
- 约束变元换名(使不同量词使用不同变元名)
- 将量词前移
例:求 ¬∀xP(x)→∃xQ(x) 的前束范式。
- ¬∀xP(x)→∃xQ(x)⇔¬¬∀xP(x)∨∃xQ(x)⇔∀xP(x)∨∃xQ(x)
- 换名:∀xP(x)∨∃yQ(y)
- 量词前移:∀x∃y(P(x)∨Q(y))
将前束范式中的存在量词用 Skolem 函数消去:
- ∃x 前面有 ∀y1,…,∀yk:用 f(y1,…,yk) 替换 x
- ∃x 前面无全称量词:用常量 c 替换 x
例:∀x∃y(P(x,y)) 的 Skolem 化:用 f(x) 替换 y,得 ∀xP(x,f(x))。
全称量词消去(UI):∀xA(x)⊢A(c)(c 为论域中任意个体)
全称量词引入(UG):A(c)(c 为任意个体)⊢∀xA(x)
存在量词消去(EI):∃xA(x)⊢A(c)(c 为特定个体,不能是已有常量)
存在量词引入(EG):A(c)⊢∃xA(x)
- EI 必须在 UI 之前使用
- EI 引入的常量不能在其他前提中出现
- UG 要求变元是任意的
例:前提 ∀x(P(x)→Q(x)),∃xP(x)。结论 ∃xQ(x)。
- ∃xP(x)(前提)
- P(a)(EI,1)
- ∀x(P(x)→Q(x))(前提)
- P(a)→Q(a)(UI,3)
- Q(a)(MP,2, 4)
- ∃xQ(x)(EG,5)
- 确定论域
- 定义谓词
- 将自然语言翻译为谓词公式
例:将”所有实数都大于或等于某个整数”形式化。
论域:实数集 R
谓词:G(x,y) 表示 x≥y,Z(x) 表示 x 是整数
∀x∃y(Z(y)∧G(x,y))
例:将”存在唯一的 x 使得 P(x) 成立”形式化。
∃x(P(x)∧∀y(P(y)→y=x))
也可记为 ∃!xP(x)。
| 自然语言 | 形式化 |
|---|
| 所有 A 都是 B | ∀x(A(x)→B(x)) |
| 有些 A 是 B | ∃x(A(x)∧B(x)) |
| 没有 A 是 B | ∀x(A(x)→¬B(x)) |
| 并非所有 A 都是 B | ∃x(A(x)∧¬B(x)) |
注意:“所有 A 都是 B” 形式化为 ∀x(A(x)→B(x)),而非 ∀x(A(x)∧B(x))。后者要求论域中所有元素都是 A 且都是 B。
∀x∃yL(x,y)
“每个人都爱某个人”——对每个人,都存在一个人被他爱。
∃y∀xL(x,y)
“有一个人被所有人爱”——存在一个人,所有人都爱他。
两者的逻辑强度不同,后者更强。