[英]XSLT stylesheet how to perform (a + b)(c + d) = ac + ad + bc + bd
[英]Propositional formula for A, B, AC and BC
我正在努力获取以下真值表的命题公式:A,B,AC,BC。
对于A和B来说很简单:A xorB。但是,当您插入新的文字C时...
我尝试通过输入真值表(A&〜B&〜C)||使用Wolfram (〜A&B&〜C)|| (A和〜B和C)|| (〜A&B&C)。 但是,建议的最小形式是错误的,因为它们不考虑C。
有人可以使用(A xor B)=> C之类的逻辑连接词来帮助以命题逻辑表达这一点吗? 谢谢!
您可以使用Karnaugh映射来执行最小化 (在其他方法中-这是最简单的方法,您必须引入一个虚拟变量D并在结果中忽略它)。
解决方案对于不考虑C
是正确的-只要A xor B
评估为true, C
评估的内容都没有关系。 我只是检查了一下,以提醒自己有关卡诺地图的构建方式。 尝试为自己绘制一个完整的真值表以查看该情况。
看一下表达式:
(A & ~B & ~C) || (~A & B & ~C) ||
(A & ~B & C) || (~A & B & C)
除了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
是表达式的结果。 例如,如果采用第一行: |F|F|F||F|
结果为假,与|F|F|T||F|
(将C
翻转)。 通过对每个( A
, B
)配置执行此操作,可以看到C
的值无关紧要。
因此,您可以简单地从公式中排除C
,结果是:
(A & ~B) || (~A & B)
意思是A xor B
Wolfram Alpha得出了相同的结论(请参阅ANF表达式)。
我有答案
(A xor B)和(C =>(A或B))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.