使用 Mathematica 制作真值表

使用 Mathematica 内置的 BooleanTable 函数制作逻辑表达式的真值表。

核心是使用 BooleanTable 函数。以下是代码,使用时修改前两行即可。

expression := {(P && Q && R), (P || Q || R), Xor[P, Q, R]};
variables := {P, Q, R};
table = Reverse@Boole@BooleanTable[expression, variables];
Flatten[{
  {Flatten@{variables, expression}},
  Table[
    Flatten[{
      Characters@IntegerString[i - 1, 2, Length@variables], 
      table[[i]]}],
    {i, 1, Length@table}]
}, 1] // TableForm // TraditionalForm

在 Wolfram Mathematica 10.0 将产生以下的输出。

以上代码的输出