英语到一阶逻辑

English to First order Logic

我正在做《人工智能现代方法》一书中的练习之一。

问题是:将英语转换为 FOL

Politicians can fool some of the people all of the time, and they can fool all of the people
some of the time, but they can’t fool all of the people all of the time.

而且,这是给它的答案。

∀ x Politician(x) ⇒
(∃ y ∀ t Person(y) ∧ Fools(x, y, t)) ∧
(∃ t ∀ y Person(y) ⇒ Fools(x, y, t)) ∧
¬(∀ t ∀ y Person(y) ⇒ Fools(x, y, t))

我的疑问是

我们通常使用带有通用量词的蕴涵,但这里他们使用

(∃ y ∀ t Person(y) ∧ Fools(x, y, t))

这部分问题 - can fool some of the people all of the time

这不是错了吗?

但是,第二种情况

they can fool all of the people some of the time

他们使用暗示。

我对存在量词和通用量词的顺序感到困惑。

谁能解开我的疑惑?

谢谢。

We normally use Implication with Universal Quantifier

您已经注意到一个规律,但这不是规律,例如

There is always somebody worse off than yourself.

您的教科书将其形式化为:

∀t ∃x x is a person ∧ x is worse of than yourself at t

在这种情况下,困扰你的连词是必要的 只是因为隐含的论域(范围 变量)是无所不包的——字面意思是 "everything"——所以我们是 不得不声明 x,并且比 你自己。在自然语言中,UoD 几乎总是 受语音上下文限制,或明确限制代词, 例如某人。在这种情况下,将 UoD 限制为更自然 并简单地形式化为:

∀t ∃p p is worse of than yourself at t

Isn't this wrong?

您指的是:

∃ y ∀ t Person(y) ∧ Fools(x, y, t)

是的,这是错误的。这表示:

There is something y such that, at any time t, y is a person and y is
fooled by x at t.

但是当我们说政治家总是可以愚弄一些人时, 有时所有的人,我们实际上并不是说存在任何 永远被我们的政客愚弄的特定人。清楚地, 我们甚至不想暗示有任何特定的傻瓜,其一生跨越任何特定政客的整个政治生活,而得出这种推论的人工智能将是失败的。我们实际上是说,一直以来,都有一些人被我们的政客愚弄,有时,每个人都被我们的政客愚弄。即:

∀ t ∃ y Person(y) ∧ Fools(x, y, t)

和:

∃ t ∀ y Person(y) ⇒ Fools(x, y, t)

这个例子说明了重要的一点,即智能地形式化一个陈述 或者用自然语言表达的论点,你需要形式化它的意思, 在其上下文中,而不仅仅是 "what it looks like"。 x愚弄了一些人 所有时间 看起来都像您教科书的版本:

∃ y ∀ t Person(y) ∧ Fools(x, y, t)

因为在"all"之前提到了"some"。但是自然语言是量化的 精度很低,主流的英语精通者不认为 这句谚语就是教科书上说的。 (我敢肯定,即使是 如果引起他们的注意,这本书会同意的。)

所以你被存在和普遍的顺序所困扰是正确的 量词。

∀ y ∃ x F(x,y)

说:

For anything y, there is something x such that F(x,y)

和:

∃ x ∀ y F(x,y)

说:

There is something x such that, for anything y, F(x,y)

而且它们通常不能互换。比较(UoD = 人):

Everyone has a mother
∀ x ∃ y Mother(y,x)

∃ y ∀ x Mother(y,x)
Someone is the mother of everyone.