跳到内容

形式逻辑/谓词逻辑/谓词语言

来自维基教科书,开放的书籍,开放的世界
← 目标 ↑ 谓词逻辑 形式语法 →



谓词语言

[编辑 | 编辑源代码]

本页非正式地描述了我们的谓词语言,我们将其命名为。更正式的描述将在后续页面中给出。

语言成分

[编辑 | 编辑源代码]

使用 发生在领域对象的上下文中。将属性归于“所有事物”只被解释为将属性归于领域中的所有事物。

变量在一般陈述中充当领域中对象的占位符。我们将使用小写字母nz 作为变量。通常,变量对应于陈述中的代词。例如,考虑语句“对于任何数字,如果它是偶数,那么它就不是奇数”。引入变量 x 将产生“对于任何数字 x,如果 x 是偶数,那么 x 就不是奇数”。

一个运算符字母是一个函数,它接受固定数量的对象(或表示对象的变量),并在领域中返回一个对象。我们将运算符字母写成小写字母 am。一个接受n 个对象的运算符字母称为n 元运算符字母。允许使用零元运算符字母,它们仅仅表示一个固定的对象。通常,上下文足以确定每个运算符字母的位数。

对于本页的例子,我们也允许使用数字()作为零元运算符字母。

一个可以是以下任何一种:

  • 一个变量
  • 一个零元运算符字母。
  • 一个n 元运算符字母(其中)后跟一个包含n 个项的括号列表。

例子包括 (变量);(零元运算符字母);(一元运算符字母 作用于 );以及 (二元运算符字母 作用于 )。

如果一个项不包含任何变量,那么它被称为名称。每个名称都指定了领域中的一个特定对象,而包含变量的项则没有。

在本页的剩余部分,假设以下翻译。

在域中使用正确的字符集, 表示该隐,而(根据圣经传统) 表示亚当。

术语 不是一个名称,因为它包含变量。然后,术语 分别表示 7 和 3(假设 7 和 3 在域中)。

原始公式

[edit | edit source]

一个 *谓词字母* 是一个函数,它接受固定数量的对象(或代表对象的变量)并返回一个句子字母。谓词字母将由大写字母 **A** 到 **Z** 组成。相同符号将用于任何位置的谓词字母,因此,与操作字母一样,我们有时需要指定位置数量,但通常可以依靠上下文。请注意,零位置谓词字母是我们在 命题逻辑 中熟悉的句子字母。

一个 *原始公式* 要么是以下之一

  • 一个零位置谓词字母(即句子字母)。
  • 一个 *n* 位置谓词字母(其中 *),后面跟着一个包含 *n* 个项的括号列表。

示例包括

例子

[edit | edit source]
Image showing Yul Brynner is bald
尤尔·伯连纳的图像
Image showing Don King is not bald
唐·金的图像

如果 表示“雪是白色的”,那么它是真的。但是,如果它表示“雪是蓝色的”,那么它是假的。

假设我们将以下翻译添加到上面的翻译中

我们说 对所有秃头的事物都是真的,对所有非秃头的事物都是假的。因此 是真的,而 是假的。 是真是假取决于亚当是否秃头。

现在加上

到上面的翻译中。那么 既不是真也不是假,因为 是没有指代任何事物的变量,变量 也是如此。但如果我们用数字替换变量,那么 是真的,而 是假的。

句子连接词

[edit | edit source]

谓词语言 将使用命题联结词,就像它们在命题语言 中使用的那样。这些是

使用上面已经设置的翻译(以及让数字成为零位运算符字母),

为真,而

为假。

量词

[edit | edit source]

量词是特殊符号,允许我们构建关于所有事物或关于某些(至少一个)事物的通用句子。

  • 翻译成英文为“对所有 x”。
  • 被称为全称量化
  • 为真,如果 对域中的所有对象都为真。粗略地说,如果
其中每个 表示域中的一个对象,并且域中的所有对象都已命名。 然而,这只是一个粗略的描述。 首先,我们不要求域中的所有对象在谓词语言中都有一个名称。 其次,我们允许域中存在无限多个对象,但不允许存在无限长的句子。
  • 有些作者使用 来代替 。这种符号半过时,并且使用频率越来越低。

  • 翻译成英文是 “存在一个 *x*”,或者更清晰一点,“存在至少一个 *x*”。
  • 被称为 *存在量化*。
  • 为真,如果 对域中的至少一个对象为真。 粗略地说,它为真,如果
其中每个 表示域中的一个对象,并且域中的所有对象都已命名。 然而,这只是一个粗略的描述。 首先,我们不要求域中的所有对象在谓词语言中都有一个名称。 其次,我们允许域中存在无限多个对象,但不允许存在无限长的句子。

翻译

[edit | edit source]

使用翻译方案

我们进行如下翻译。

所有数字都是质数。
一些数字是质数。
没有数字是素数。   (给出了两个等价的替代方案)
有些数字不是素数。


现在使用翻译方案

我们可以翻译如下。

乔治爱玛莎。
玛莎爱乔治。
乔治和玛莎彼此相爱。


我们可以进一步翻译如下。

每个人都爱每个人。   (第二个选择假设域中只有人)
每个人都爱每个人。   (第二个选项假设领域中只有人)
有人爱着另一个人。   (第二个选项假设领域中只有人)
每个人都爱着某个人。   (第二个选项假设领域中只有人)
有人被每个人爱着。   (第二个选项假设领域中只有人)
每个人都被某个人爱着。   (第二个选项假设领域中只有人)
华夏公益教科书