乐读窝

程序员的数学思维修炼

乐读窝 > 科普学习 > 程序员的数学思维修炼

8.2命题逻辑

书籍名:《程序员的数学思维修炼》    作者:周颖



命题逻辑是数理逻辑的基础部分,什么是命题?如何表示命题?如何构造复杂的命题?下面我们来讨论这些问题。



8.2.1 什么是命题


命题是指一个判断的语义,通俗地说,能判断真假的陈述句就称为命题。例如:

以上6个语句都是陈述句,并且每个陈述句都能判断出真假,因此,这6个语句都是命题。

其中(1)、(2)、(3)这3个语句所陈述的内容与事实相符,都是正确的,称为真命题,或称命题的值为“真”,可记为True或数字1。

而(4)、(5)、(6)这3个语句所陈述的内容明显与事实不符,是不正确的(9不是一个素数、三角形内角和为180度、2乘3的积小于10),称为假命题,或称命题的值为“假”,可记为False或数字0。

接着看下面的例子:

对于第(7)句,由于现在是2013年,目前只有经过特殊训练的航天员才能通过神舟飞船上太空,而2020年时普通民众是否能乘坐神舟飞船上太空,还是一个未知的值。但到2020年年底时,这句语句的值就是一个确定值了,如果到时普通民众可以坐神舟飞船上太空,则这个陈述句是正确的,为真命题,其值为True或数字1;反之,则这个陈述句是不正确的,为假命题,其值为False或数字0。

对于第(8)句,从十进制角度来看,其陈述的内容是不正确的;但是,从二进制角度来看,其陈述的内容又是正确的。对于这种对错不确定的陈述句,不能称为命题。

对于第(9)句所陈述的内容与事实相符,是正确的,为真命题。只是这句与前面那些陈述句有所不同,是根据一个命题推出另一个命题。

需要注意,命题必须是一个陈述句,如果为其他类型的语句,也不能称为命题。例如:

第(10)句为祈使句、第(11)句为疑问句、第(12)句为感叹句,对于这些不是陈述句的表述,都不能称为命题。

总结一下:能够判断真假的陈述句叫做命题,正确的命题叫做真命题,错误的命题叫做假命题。命题的值要么为True,要么为False,不能确定为True或False的不能称为命题。



8.2.2 命题的逻辑形式


前面列举了很多命题的例子,从这些例子可以看出,命题的形式多种多样。对于这些种类繁多的命题,可使用简单的逻辑形式进行表达。命题的逻辑形式就是命题各部分之间的联系方式,许多内容上千差万别的命题,其各部分之间的联系方式可能是相同的,从而具有相同的形式。

通常可用带下标(或不带下标)的英文字母A、B、C、……、P、Q、R、……,Ai、Bi、Ci……、Pi、Qi、Ri等表示命题。

对于命题:

可用逻辑形式表示为如下形式:

即将“事件”用S表示,P表示“产生它的原因”。

而对于下面的命题:

可用逻辑形式表示为如下形式:

这里用S表示“这个班的人”,P表示“出生于1997年”。

再看一个类似形式的命题:

也可用相同的逻辑形式来表示。

对于以上3个描述不同事物、内容有很大区别的命题,通过用逻辑形式来表示可以看出,这3个命题具有共同的形式。这种命题的逻辑形式相同,就是这3个命题所共同具有的、各部分之间的联系方式。



8.2.3 简单命题


了解命题的概念和逻辑形式之后,接下来我们来看命题的分类。根据命题是否可分解为其他命题,可将命题分为简单命题和复合命题。

简单命题是指不包含其他命题作为其组成部分的命题,即在结构上不能再分解出其他命题的命题。

简单命题一般又分为两类,一类是性质命题(直言命题),它只有一个主项和一个谓项,谓项反映的是对象的性质。例如:

另一类的是关系命题,它不限于一个主项,谓项反映的是主项之间存在的关系,例如:

以下的例子都是简单命题:

简单命题一般难以划分前提和结论,因此简单命题的真假判断不能依靠命题逻辑推理,其真假只能依据客观事实或生活经验自行判断。例如,本节中(1)~(7)的命题中,(1)、(2)、(3)、(5)项都可以根据客观事实或生活经验判断为真命题。而第(4)项如果张三和李四是同学,则是真命题,否则为假命题。第(6)、(7)项也需要根据实际情况进行判断,如果所陈述的内容与事实相符,则是真命题,否则为假命题。



8.2.4 复合命题


复合命题是指可以分解为更简单命题的命题。而且,这些简单命题之间是通过逻辑联结词“或”、“且”、“非”、“如果……那么……”、“当且仅当”等和标点符号复合而构成的一个命题。

例如,如下命题就是复合命题。

对于第(1)项命题,可分解为以下两个命题,并用“或”联结词联结。

类似地,对于第(2)项命题,可分解为:

而对于第(3)项命题,很可能会将其判断为简单命题,注意其中包含了“非”联结词,这是一个复合命题,应分解为:



8.2.5 复合命题的联结词


命题逻辑中的联结词可归纳为5种:合取联结词(且)、析取联结词(或)、否定联结词(非)、条件联结词(如果……则……)、双条件联结词(当且仅当),下面分别介绍。

1.合取联结词(且)

用联结词“且”将简单命题p与简单命题q联结起来成为一个新命题,记作p∧q,读作“p且q”,或“p合取q”。

对于复合命题p∧q,该如何判断其真假呢?

当两个简单命题p和q都是真命题时,形成的新命题“p且q”就是真命题。如果两个命题p和q其中有一个是假命题,形成的新命题“p且q”就是假命题。

对简单命题,我们是直接以事实为依据来判定其真假。复合命题则不同,它是由联结词联结支命题而构成的,复合命题描述的是支命题之间的逻辑关联。支命题之间的逻辑关联就表现为支命题的真假对整个复合命题真假的制约关系,因此,复合命题的真假是由支命题的真假决定的。

要判断复合命题的真假,可通过真值表进行操作。将复合命题中各支命题的真假情况列在一张表中,然后根据联结词的不同,即可得到不同的真假情况。

对于用“且”联结词联结的复合命题,命题的真假由联结的两个支命题决定。例如,对于“p且q”这个复合命题,可制作如表8-1所示的真值表。

表8-1 真值表

在表8-1中,用数字1表示逻辑真,数字0表示逻辑假。只有当p和q都是真命题时,新命题“p且q”才是真命题。

对于联结词“且”,还可用电路来实现,如图8-2所示,命题p和q各表示一个开关,灯表示复合命题“p∧q”的真假。当p和q这两个开关都接通后,复合命题“p∧q”的结果才为真(灯亮),其他情况灯都不亮。

图8-2

可以看出,联结词“且”与自然语言中的“和”、“与”、“并且”、“而且”、“同时”、“即……又……”等的含义相当。

2.析取联结词(或)

用联结词“或”把p与q联结起来成为一个新命题,记作p∨q,读作“p或q”,或“p析取q”。

对于复合命题p∨q,可按以下规则判断真假:

当两个命题p和q中有一个是真命题时,形成的新命题“p或q”就是真命题。当两个命题p和q都是假命题时,复合命题“p或q”就是假命题,其真值表如表8-2所示。

表8-2 析取联结词真值表

从表8-2中可看到,只有当p和q都是假命题时,新命题“p或q”才是假命题,其他情况下,新命题“p或q”都是真命题。

对于联结词“或”,也可用电路来实现。如图8-3所示,命题p和q各表示一个开关,灯表示复合命题“p∨q”的真假。当p和q这两个开关都断开后,复合命题“p∨q”的结果才为假(灯灭),其他情况灯都亮。

图8-3

可以看出,联结词“或”与自然语言中的“或者”的含义相当,但是也要注意,联结词“或”与自然语言中的“或”的意义并不完全相同,自然语言中的“或”既可以表示“排斥或”,也可以表示“可兼或”,而在数理逻辑中的联结词“或”表示“可兼或”。

例如,有以下复合命题:

在这个复合命题中,“或”是一种“排斥或”,即“打篮球”和“踢足球”只能二选一,不能同时都为真命题。

而下面的复合命题:

在这个复合命题中,“或”是一种“可兼或”,即“参加会议的领导是董事长”或“参加会议的领导是总经理”这两个简单命题有可能都是真命题。

3.否定联结词(非)

对于一个命题p,如果仅将它的结论否定,就得到一个新命题,记作¬p,读作“非p”。

对于命题“¬p”的真假可以很简单地判定:在命题和它的非命题中,有一个且只有一个是真命题。

也就是说,在命题“非p”中,若命题p为真命题,则复合命题“非p”为假命题;反之,若p为假命题,则复合命题“非p”为真命题,其真值表如表8-3所示。

表8-3 否定联结词真值表

对于联结词“非”,也可用电路来实现。如图8-4所示,命题p表示一个开关,灯表示复合命题“¬p”的真假。当p开关断开后,复合命题“¬p”的结果才为真(灯亮),当p开关接通后,复合命题“¬p”的结果为假(灯灭)。

图8-4

联结词“非”与自然语言中的“非”、“不”、“没有”等语义相当。

4.充分条件联接词(如果……那么……)

联结词“如果……那么……”也经常使用,例如,对于命题“如果下雨,那么地就是湿的”就是用这个联结词来联结两个命题。

对于“如果p,那么q”这种形式的复合命题,叫做p蕴涵q,记作p→q。p称为前件(或前提),q称为后件(或结论)。

通过“如果……那么……”这种联结词联系的命题称为假言命题,表示事物间的条件关系如下(如图8-5所示)。

图8-5

如果有事物情况p,则必然有事物情况q;

如果没有事物情况p,未必有事物情况q。

对于以上逻辑关系,p就是q的充分而不必要的条件,简称充分条件。因此,这类假言命题也称为充分条件假言命题。

在自然语言中,前件为假,不管结论真假,整个语句的意义往往无法判断。但是,在充分条件假言命题逻辑中,如果前件真而后件假,则该充分条件假言命题才是假的;如果不是“前件真而后件假”,则该充分条件假言命题都是真。这种真假关系可用表8-4表示。

表8-4 充分条件联结词真值表

也可这样理解:充分条件的特征是肯定前件就必须肯定后件,否定后件就必须否定前件。只否定前件是不能否定后件的,只肯定后件也不能肯定前件。

对于表8-4所示的真值表没有前几种联结词的真值表好理解,下面我们用一个例子来解释一下。例如,有以下复合命题:

前件是“下雨”,后件是“地就会湿”。分以下4种情况:

(1)前件为真命题(即下雨),后件也为真命题(即地湿了),则复合命题为真命题。

(2)前件为真命题(即下雨),后件为假命题(即地没有湿),则复合命题也为假命题。

(3)前件为假命题(即不下雨),后件为真命题(即地湿了),则复合命题也为真命题。

(4)前件为假命题(即不下雨),后件为假命题(即地没有湿),则复合合题为真合题。

可以看出,只有当前件为真命题,后件为假命题时,复合命题“p→q”才是假命题。

需要注意的是,当p为假时,只是命题“p→q”为真,而非后件的结论q为真。

5.必要条件联接词(只有……才……)

联结词“只有……才……”也是经常使用的,例如,对于命题“只有年满十八周岁,才有选举权”就是用这个联结词来联结两个命题。

对于“只有p,才q”这种形式的复合命题,叫做由p逆蕴涵q,记作p←q。p称为前件(或前提),q称为后件(或结论)。

通过“只有……才……”这种联结词联系的命题也是一个假言命题,表示事物间的条件关系如下(如图8-6所示)。

图8-6

如果没有事物情况p,则必然没有事物情况q;

如果有事物情况p,而未必有事物情况q。

对于以上逻辑关系,p就是q的必要而不充分的条件,简称必要条件。因此,这类假言命题也称为必要条件假言命题。

必要条件假言命题与其支命题(前件、后件)之间的真假关系是:如果前件假而后件真,则该必要条件假言命题才是假的;如果不是“前件假而后件真”,则该充分条件假言命题是真的。这种真假关系如表8-5所示真值表表示。

表8-5 必要条件联结词真值表

6.充要条件联结词(当且仅当)

首先来看下面这个复合命题:

这个复合命题可改成以下形式:

可以看出,这可以用条件联接词进行连接,即可用“p→q”来表示。

在命题中添加“当且仅当”后,得到如下命题:

在这个命题中,当p(冰淇淋是香草口味)为真命题时,q(小王吃冰淇淋)为真命题;反过来,当q(小王吃冰淇淋)为真命题时,p(冰淇淋是香草口味)必为真命题。而当p(冰淇淋是香草口味)为假命题时,q(小王吃冰淇淋)也为假命题(即冰淇淋不是香草口味,小王不会吃);当q(小王吃冰淇淋)为假命题时,p(冰淇淋是香草口味)也为假命题(即小王不吃冰淇淋,则冰淇淋不为香草口味)。

如果既有p→q,又有q→p,就称“p当且仅当q”,记作p↔q。

通过“当且仅当”这种联结词联结的命题也是一个假言命题,表示事物间的条件关系如下(如图8-7所示)。

图8-7

如果有事物情况p,则必然有事物情况q;

如果没有事物情况p,则必然没有事物情况q。

对于以上逻辑关系,p就是q的充分必要条件,简称充要条件。因此,这类假言命题也称为充分必要条件假言命题。

充分必要条件假言命题与其支命题(前件、后件)之间的真假关系是:如果前件与后件同真或同假,则该充分必要条件假言命题是真的;如果如果前件与后件不同真、不同假,则该充分必要条件假言命题是假的。这种真假关系如表8-6所示。

表8-6 充要条件联结词真值表