我正在努力尝试获得以下真值表的命题公式:A,B,AC,BC。
对于A和B,它很容易:一个xor B.但是,当你插入一个新的文字C ...
我尝试通过输入真值表(A& ~B& ~C)||来使用Wolfram (~A& B& ~C)|| (A& ~B& C)|| (~A& B& C)。但是,建议的最小形式是错误的,因为它们不考虑C。
有人可以使用逻辑连接词帮助在命题逻辑中表达这一点,例如(A xor B)=> ç?谢谢!
答案 0 :(得分:2)
您可以通过使用Karnaugh maps执行最小化(在其他方法中 - 这个是最简单的,您必须引入虚拟变量D并在结果中忽略它)。
关于不考虑C
的解决方案是正确的 - 只要C
评估为真,A xor B
评估的内容并不重要。我只是检查了一下,提醒自己卡诺图是如何构建的。试着给自己画一个完整的真值表来看看。
答案 1 :(得分:1)
看一下表达式:
(A & ~B & ~C) || (~A & B & ~C) ||
(A & ~B & C) || (~A & B & C)
除了ties.method
的否定之外,两行都是相同的,这意味着 C
无关紧要:C
的值不会改变任何与函数输出有关的东西。
这也是从真值表中得出的结论:
C
这里|A|B|C||F|
+-+-+-++-+
|F|F|F||F|
|F|F|T||F|
|F|T|F||T|
|F|T|T||T|
|T|F|F||F|
|T|F|T||F|
|T|T|F||F|
|T|T|T||F|
是表达式的结果。例如,如果您选择第一行:F
,则结果为false,|F|F|F||F|
(翻转|F|F|T||F|
)的结果相同。通过对每个(C
,A
)配置执行此操作,可以看出B
的值并不重要。
因此,您只需从公式中排除C
即可:
C
这意味着 (A & ~B) || (~A & B)
。
Wolfram Alpha得出了相同的结论(参见ANF表达式)。
答案 2 :(得分:0)
我有答案
(A xor B)和(C =>(A或B))