我有以下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))
的意思是:"至少有一天我们聚会"?
暗示不是翻译成"如果 a 然后 b"吗?
我想我可以以某种方式看到正确翻译的逻辑,但有些含义让我不确定......
在这里小心。这个公式:
∀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))
不满意。但是,只有当您至少有一方时,您的陈述才是正确的,因为您确实通过了至少一次考试。