1

我有以下 FOL 公式:∀e(S(e)) → ∃d(P(d))

还有词汇:
variables: e:'exam', d:'day' functions: S:'successful', P:'party'

我最初将该公式翻译成:
For every successful exam, there will be a day of party

虽然显然正确的翻译是这样的:
You party at least one day after all exams were successful.

为什么正确的说我们只有在所有考试都成功后才聚会?

是否∀e(S(e))意味着:“对于所有考试,他们都会成功”?意思是: “∃d(P(d))至少有一天我们聚会”?

暗示不是转化为“if a then b”吗?

我想我可以以某种方式看到正确翻译的逻辑,但其中的含义让我不确定……

4

1 回答 1

3

在这里小心。这个公式:

∀e(S(e)) → ∃d(P(d))

真的只有一种精确的意义,即你认为显然正确的一种:

如果所有的考试都成功了,那么就会有一个聚会。

你的翻译有一个微妙但重要的原因是错误的。你的翻译:

每次成功的考试,都会有一天的聚会

对应这个公式:

∀e.∃d(S(e) → P(d))

这些公式在逻辑上不是等价的,也就是说,以下不是重言式:

(∀e(S(e)) → ∃d(P(d))) <=> (∀e.∃d(S(e) → P(d)))

要看到这一点,请考虑一下当您通过十门考试而未通过一门考试时会发生什么。无论是否有任何一方,原始公式都是空洞的,因为∀e(S(e))不满足。但是,您的陈述仅在您至少有一个聚会时才是正确的,因为您确实通过了至少一门考试。

于 2018-01-25T14:13:01.993 回答