复合命题的真值可以通过真值表确定。为了构造一个复合命题的真值表,首先要找出相应公式中的简单命题。然后,按照这些简单命题在公式中出现的顺序,把它们写在真值表的左上方。接着,以与上述相同的方式给每个简单命题指派真假值。最后,使用2n来计算行的总数。例如,F ·~C的真值表是:
例11-62
位于这个真值表右侧的公式是F和~C的合取,前者的值在左侧第一栏,后者的值是需要首先确定的。我们通过把否定式的真值规则应用于左侧第二列的每一行而得到~C的值。一旦确定了~C的真值,我们就把它们填入右侧的波浪符下方。然后,把合取式的真值规则应用于F的值(位于真值表的左侧)和~C的值(位于波浪符下方),而得到该合取式的真值。我们把所得到的值写在合取符号(点)的下方,并用一个方框加以标记。在主联结词下方的这一列是最重要的,因为它提供了关于F·~C这一复合命题的真值的信息。它告诉我们这个复合命题为真,仅当“F”和“~C”均为真(如表中的第二行所示)。对于所有其他的真值指派,该命题均为假。
现在,我们为如下命题建构一个真值表:
例11-58a (H · M)∩~B
例11-58a的真值表是:
例11-63
上述复合命题所对应的公式包含三个简单命题:H、M和B。它们的真值的所有可能组合显示在真值表的左侧。如前面所述,我们使用2n来计算所需的行数。在这里,n等于3,因此需要八行。然后,我们把真假值指派给左侧的三个列。从最左侧的那个开始(位于H下方),位于顶部的一半是T,位于底部的一半是F。然后,到了左侧的中间这一列,与左侧的四个T对应,得到两个T和两个F;与左侧的四个F对应,也得到两个T和两个F。最后,对于左侧的最后一列,依据与上述相同的划分方法,可以得到T、F、T、F、T、F、T、F。这个约定保证了我们可以得到真值的所有可能的组合。这样,位于最顶端的一行都是T,位于最底端的一行都是F,而位于中间的则是其他可能的组合。
当我们输入这些值之后,再来查看右上角的那个复合命题公式。它是一个条件式。因此,它的主联结词是“∩”。在它的下方,将放置最终的结果(位于方框中)。但是,只有在先找到了前件H·M和后件~B的可能的真值之后,才能确定该条件式的可能的真值。那些真值构成了位于“·”和“~”下方的列。最后一步是把该条件式的真值规则应用于这两列。
专栏11-9 复合命题的真值表
在一个真值表中,指派给左侧各个简单命题的真值数目取决于待求解的公式(位于右侧上方)中出现的不同命题的数目。对于任何一个简单命题,只有两种可能的真值(真和假)。因此,对于像~P这样的复合命题,只需要两行。但是,随着命题的增加,依据公式2n计算得来的真值数目要相应增加:当n等于2时,需要四行;当n等于3时,需要八行;当n等于4时,需要十六行,以此类推。对于例11-62,需要四行。此外,为了确保能够得到所有可能的真值组合,我们采用如下约定:在最左侧字母下方的那一列,位于顶部的一半是T,位于底部的一半是F;然后,按照前面例子中阐述的模式,自左向右指派各个列中的真值。