本页非正式地描述了我们的谓词语言,我们将其命名为。更正式的描述将在后续页面中给出。
使用 发生在领域对象的上下文中。将属性归于“所有事物”只被解释为将属性归于领域中的所有事物。
变量在一般陈述中充当领域中对象的占位符。我们将使用小写字母n 到 z 作为变量。通常,变量对应于陈述中的代词。例如,考虑语句“对于任何数字,如果它是偶数,那么它就不是奇数”。引入变量 x 将产生“对于任何数字 x,如果 x 是偶数,那么 x 就不是奇数”。
一个运算符字母是一个函数,它接受固定数量的对象(或表示对象的变量),并在领域中返回一个对象。我们将运算符字母写成小写字母 a 到 m。一个接受n 个对象的运算符字母称为n 元运算符字母。允许使用零元运算符字母,它们仅仅表示一个固定的对象。通常,上下文足以确定每个运算符字母的位数。
对于本页的例子,我们也允许使用数字()作为零元运算符字母。
一个项可以是以下任何一种:
- 一个变量
- 一个零元运算符字母。
- 一个n 元运算符字母(其中)后跟一个包含n 个项的括号列表。
例子包括 (变量);(零元运算符字母);(一元运算符字母 作用于 );以及 (二元运算符字母 作用于 和 )。
如果一个项不包含任何变量,那么它被称为名称。每个名称都指定了领域中的一个特定对象,而包含变量的项则没有。
在本页的剩余部分,假设以下翻译。
在域中使用正确的字符集, 表示该隐,而(根据圣经传统) 表示亚当。
术语 不是一个名称,因为它包含变量。然后,术语 和 分别表示 7 和 3(假设 7 和 3 在域中)。
一个 *谓词字母* 是一个函数,它接受固定数量的对象(或代表对象的变量)并返回一个句子字母。谓词字母将由大写字母 **A** 到 **Z** 组成。相同符号将用于任何位置的谓词字母,因此,与操作字母一样,我们有时需要指定位置数量,但通常可以依靠上下文。请注意,零位置谓词字母是我们在 命题逻辑 中熟悉的句子字母。
一个 *原始公式* 要么是以下之一
- 一个零位置谓词字母(即句子字母)。
- 一个 *n* 位置谓词字母(其中 *),后面跟着一个包含 *n* 个项的括号列表。
示例包括
如果 表示“雪是白色的”,那么它是真的。但是,如果它表示“雪是蓝色的”,那么它是假的。
假设我们将以下翻译添加到上面的翻译中
我们说 对所有秃头的事物都是真的,对所有非秃头的事物都是假的。因此 是真的,而 是假的。 是真是假取决于亚当是否秃头。
现在加上
到上面的翻译中。那么 既不是真也不是假,因为 和 是没有指代任何事物的变量,变量 或 也是如此。但如果我们用数字替换变量,那么 是真的,而 是假的。
谓词语言 将使用命题联结词,就像它们在命题语言 中使用的那样。这些是
使用上面已经设置的翻译(以及让数字成为零位运算符字母),
为真,而
为假。
量词是特殊符号,允许我们构建关于所有事物或关于某些(至少一个)事物的通用句子。
- 翻译成英文为“对所有 x”。
- 被称为全称量化。
- 为真,如果 对域中的所有对象都为真。粗略地说,如果
- 其中每个 表示域中的一个对象,并且域中的所有对象都已命名。 然而,这只是一个粗略的描述。 首先,我们不要求域中的所有对象在谓词语言中都有一个名称。 其次,我们允许域中存在无限多个对象,但不允许存在无限长的句子。
- 有些作者使用 来代替 。这种符号半过时,并且使用频率越来越低。
- 翻译成英文是 “存在一个 *x*”,或者更清晰一点,“存在至少一个 *x*”。
- 被称为 *存在量化*。
- 为真,如果 对域中的至少一个对象为真。 粗略地说,它为真,如果
- 其中每个 表示域中的一个对象,并且域中的所有对象都已命名。 然而,这只是一个粗略的描述。 首先,我们不要求域中的所有对象在谓词语言中都有一个名称。 其次,我们允许域中存在无限多个对象,但不允许存在无限长的句子。
使用翻译方案
我们进行如下翻译。
- 所有数字都是质数。
- 一些数字是质数。
- 没有数字是素数。 (给出了两个等价的替代方案)
- 有些数字不是素数。
现在使用翻译方案
我们可以翻译如下。
- 乔治爱玛莎。
- 玛莎爱乔治。
- 乔治和玛莎彼此相爱。
我们可以进一步翻译如下。
- 每个人都爱每个人。 (第二个选择假设域中只有人)
- 每个人都爱每个人。 (第二个选项假设领域中只有人)
- 有人爱着另一个人。 (第二个选项假设领域中只有人)
- 每个人都爱着某个人。 (第二个选项假设领域中只有人)
- 有人被每个人爱着。 (第二个选项假设领域中只有人)
- 每个人都被某个人爱着。 (第二个选项假设领域中只有人)