【发布时间】:2014-07-17 03:54:45
【问题描述】:
我正在尝试解决命题逻辑中的一个问题,我认为我从未在任何地方看到过该问题。我在这里发布它,看看是否有人有一个有希望的标准解决方案。
问题:给定一个命题可满足逻辑公式F和一个命题p出现在F,判断是否存在一个可满足命题公式phi不包含 p这样那个
phi => (F => p)
如果有,请提供这样的 phi。
出于直觉,我将 phi 称为“p wrt F 的间接蕴涵项”,因为它需要在不提及 p 的情况下暗示 p。相反,它提到了通过F 影响 p 的其他命题。
这里有一个例子,其中“法国”、“里昂”、“巴黎”和“柏林”都是命题:
F is "paris => france and lyon => france and berlin => not france"
p is "france"
那么解决方案 phi 是 paris or lyon,因为这意味着 (F => france)
(更新:实际上精确的解决方案是(paris or lyon) and not berlin,因为我们没有在任何地方说明这些命题是互斥的,所以paris 和berlin(或lyon 和berlin)在同时暗示矛盾。在有适当背景知识的情况下,解决方案将简化为paris or lyon)。
这类似于寻找公式(F => p) 的蕴涵项的问题,但并不相同,因为一个简单的蕴涵项可以包含p(实际上,主要蕴涵项就是p)。
再次,我在这里发布它是希望有更多经验的人看到它并说:“啊,但这只是某个问题的变体”。这将是理想的,因为它可以让我利用现有的算法(尤其是可满足性)和概念。
另外,只是为了提供额外的信息,我实际上是在尝试为等式逻辑解决这个问题,即命题是等式的命题逻辑。这当然更复杂,但命题案例可能是一个很好的垫脚石。
感谢您的宝贵时间。
【问题讨论】:
-
为了清楚起见,我认为您的问题需要调整一些内容。您的 F 和 p 示例格式不正确。 “法国”不是一个命题。或许可以使用“我住在法国”之类的话。
-
其次,“确定可满足的命题公式phi”不太正确,因为不可能有这样的公式。如果有一个这样的公式,那么它们的数量是无限的。因此,也许“确定是否存在可满足的命题公式 phi”更好。
-
谢谢。我确实将“法国”这个名字用于“我在法国”或类似的命题。我添加了一条评论来澄清。你对不存在这样的 phi 的可能性是正确的。事实上,也许更好但更难理解的表述是放弃“可满足”要求,只要求最一般的 phi(如果没有可满足的,则 false 只是最一般的,这将是更多一般而不是假)。
标签: algorithm logic boolean-logic