本节要点
- 两个谓词逻辑量词:
∀ 和
∃;
- 有界量词和无界量词:
(∀x∈S:F)≡(∀x:(x∈S)⇒F)
(∃x∈S:F)≡(∃x:(x∈S)∧F)
- 重言式
(∃x∈S:F)≡¬(∀x∈S:¬F)
-
(∃x∈{}:F)≡FALSE(∀x∈{}:F)≡TRUE
-
∀ 通用量化是对合取
∧的概括,
∃ 存在量化是对析取
∨的概括;
-
∀ 通用量化对合取
∧满足分配率和结合律,
∃ 存在量化是对析取
∨满足分配率和结合律;
- 约束变量和自由变量;
一旦我们有了集合,我们可以很自然地说某个公式对于集合的所有元素或者部分元素为真。谓词逻辑在命题逻辑的基础上引入了两个量词:
-
∀ 全称量词(for all)
-
∃ 存在量词(there exists)
公式
∀x∈S:F断言公式
F对集合
S中的每个元素
x都为真,而
∀n∈Nat:n+1>n则断言公式
n+1>n对自然数集
Nat的所有元素
n都为真,这个公式恰好是正确的。
公式
∃x∈S:F断言公式
F对集合
S中至少一个元素
x为真,而
∃n∈Nat:n2=2则断言存在一个自然数
n,其平方等于2,这个公式显然是错的。
公式
F对
S中的某个
x成立当且仅当
F不是对
S中的所有
x都不成立。也就是说,当且仅当
¬F不是对
S中的所有
x都成立。因此,这个公式
(1.1)
(∃x∈S:F)≡¬(∀x∈S:¬F)是谓词逻辑的重言式,这意味着公式对标识符
S和
F的所有取值都成立。
由于空集中不存在元素,所以公式
∃x∈{}:F对于每个公式
F都为假。根据(1.1),这意味着
∀x∈{}:F对于每一个
F都为真。
公式
∃x∈S:F和
∀x∈S:F中的量词被认为是“有界”的,因为这些公式只对集合
S中的元素作出断言。还有“无界”量词,公式
∀x:F断言,
F适用于所有值
x,
∃x:F断言
F适用于至少一个
x的值——该值不受任何特殊限制。有界和无界量词关联的重言式如下:
(∀x∈S:F)≡(∀x:(x∈S)⇒F)
(∃x∈S:F)≡(∃x:(x∈S)∧F)
(1.1)对于无界量词的类比也是一种重言式:
(∃x:F)≡¬(∀x:¬F)
在可能的情况下,在规约中使用有界量化比使用无界量化更好。这使得规约更容易被人和工具理解。
通用量化是合取的概括,如果S是一个有限集,则
(∀x∈S:F)是通过将集合
S中的每个元素分别代入公式
F的合取。例如:
(∀x∈{2,3,7}:x<yx)≡(2<y2)∧(3<y3)∧(7<y7)
当我们正式地介绍一个通用的量化公式时,我们有时是在非正式地谈论无限个公式的合取。例如,对于所有自然数x,公式
x<yx的合取就是这个公式
(∀x∈Nat:x<yx)。类似地,存在量化则概括了析取。
逻辑学家有相应规则来证明如(1.1)这样的谓词逻辑重言式,但是你不需要知道它们,如果你足够熟悉谓词逻辑,简单的重言式是显而易见的,将
∀视为合取,将
∃视为析取会对你有帮助。例如,结合律和分配率应用于合取和析取将得到重言式:
(∀x∈S:F)∧(∀x∈S:G)≡(∀x∈S:F∧G)
(∃x∈S:F)∨(∃x∈S:G)≡(∃x∈S:F∨G)
这两个重言式对于任意集合
S和公式
F和
G都成立。
数学家们会使用一些明显的缩写来表示嵌套的量词。例如:
∀x∈S,y∈T表示
∀x∈S:(∀y∈T)
∃w,x,y,z∈S:F表示
∃w∈S:(∃x∈S:(∃y∈S:(∃z∈S:F)))
在表达式
∃x∈S:F中,逻辑学家说
x是一个约束变量,
x在
F中的出现是受限的。例如,
n是公式
∃n∈Nat:n+1>n中的一个“约束变量”,
n在子表达式
n+1>n中的两次出现都是受限的。一个没有受限的变量
x被称为“自由变量”,没有受限的变量
x的出现称为“自由出现”。这个术语其实是相当具有误导性的。一个“真正”的“约束变量"不会出现在公式中(这里的意思应该是不可替代),因为用新变量替换它不会改变公式。下面两个公式是等价的:
∃n∈Nat:n+1>n
∃x∈Nat:x+1>x
将第一个公式中的
n叫做变量有点像将
a叫做公式中的一个变量,因为
a也出现在名称
Nat中。尽管如此,谈论公式中约束变量的出现还是很方便的。