我有以下问题:
我有两个必须成为逻辑等价的命题公式。只有其中一个包含一个“变量”,因为该变量可以被任何命题公式替换。现在的问题是,我需要找到变量的实际替换,以便逻辑等价变为真。例子:
(a ^ ~b) 或 x = a
这里,x 表示变量。通过将 x 替换为 a ^ b 可以使这个逻辑等价成立,因此它变为:
(a ^ ~b) 或 (a ^ b) = a
所以这就是问题所在。我需要一种算法,该算法将“具有一个变量 x 的方程”作为输入,并给出变量 x 的输出值,以使方程成为逻辑等价。
永远只有一个变量。(实际上我可能会遇到多个变量的问题,但我想先解决简单的情况)。有问题的公式可以有任何形式(它们不在 CNF 或 DNF 中)。此外,公式实际上可以为 FALSE 或 TRUE,并且在某些情况下,没有解决方案(例如,对于“a 或 x = false”,没有解决方案)或多个解决方案(例如,对于“a and x = false”) “任何错误的命题都是有效的答案)。
我所拥有的只是一个画面推理器,它告诉我一个公式是否可以满足。所以我可以测试一个解决方案。但我的问题是给我一个解决方案。