我想要一个例子,例如:

每个人都有一个母亲。

我看到它在 FOL 中表示为: $\forall x \存在 y:$ 母亲(x,y)

我认为:对于每个 x,都存在一个 y,因此 y 是 x 的母亲。

我想知道为什么以下不合适:

$\forall x:$ 有妈妈(x)

我的感觉可以这样说:对于每个 x,x 有一个母亲。

有帮助吗?

解决方案

这是一个很好的问题,归根结底取决于您想要通过 Mother 实体。

在你的第一个例子中, Mother(x, y) 是一个 (二进制) 关系. 。这意味着您可以拥有尽可能多的 y如您所愿 x. 。和 Mother 作为一种关系,您还可以制定公式来检查您是否有 y满足母性的 x.

在你的另一个例子中, hasMother(x) 是一个 谓词 那只能是 真的 或者 错误的. 。有多少妈妈这样做 x 有?不可能说。谁是 x的妈妈?我们不能说。

你还可以设想一个 mother(x) → y 功能 映射一个 x 给它的母亲 y, ,但是你只能有一个母亲,而每一个 x 需要有一个母亲(在模型中)。

这一切都归结为(a)什么是“世界”的自然表示(无论您想要建模什么),以及(b)您想要实现什么(无论您想从模型中得到什么)。

许可以下: CC-BY-SA归因
不隶属于 cs.stackexchange
scroll top