有 谁 来 了 ? 0000000000──摩根定律运用一例
作者:罗良富http://www.luos.org 【文档说明】此文是我继《数学福尔摩斯判案记》后的又一篇逻辑文章,发表于《大众逻辑》1984年第六期。 这两篇文章,是自己学习“高等数学”、“逻辑学”的总结和运用,由此而锻炼形成的特殊的思维方式,为以后的文字工作和编程起了重要的作用。
“先别近屋。你猜猜,家里都有谁来了?”冬冬放学回来,妈妈在门前问他。 “哦!”冬冬仰着头,想了想说,“可能是奶奶来了,或者是叔叔来了。如果是叔叔来了的话,那婶婶也来了。” “不对,”妈妈摇了要头,说,“来的客人虽没超出你说的范围,但与你说的情况不一样。再想想,看到底谁来了。” 冬冬猜了好一阵,都没猜中。 难怪冬冬猜不中,就是成年人,若没经过逻辑训练,要回答这个问题,也是不容易的。因为,这里涉及到复合判断的负判断问题。 符合判断因其内部又包含着判断,故其负判断的等值判断不能象直言判断的负判断那样由对当关系推得。解决这一问题的最好办法是引进命题逻辑的德.摩根定律。 德.摩根定律是:否定选言得联言,否定联言得选言。即:
p∪q = p∩q p∩q = p∪q 具体地说就是,将一个符合判断的真值形式中的全部“∪”换成“∩”,全部“∩”换成“∪”,命题变元换成其否定,否定换为变元,就得到与这个符合判断等值的判断的真值形式。 联言判断和选言判断的负判断,都可直接应用德.摩根定律的两个公式。而蕴涵关系“→”不能直接进入逻辑运算,故求假言判断的负判断的等值判断时,需将其真值形式中的“→”消去,变换为只含有“∪”和“∩”的表达式。三种假言判断的负判断的等值判断分别是:
p → q = |
q∪q= p∩q |
p → q = |
p∪q= p∩q |
p←→q = |
( p∩q )∪( p∩q ) |
= |
( p∪q )∩( p∪q ) | 现在,我们以冬冬的判断为例,来说明德.摩根定律在求与符合判断的负判断等值的判断中的应用。 第一步,抽象出冬冬所作判断的真值形式。用 p 代表奶奶来了,q 代表叔叔来了,r 代表婶婶来了,则冬冬所作的判断为:
( p∪q )∩( q → r ) 第二步,消去表达式中的蕴涵符号“ → ”:
( p∪q )∩( q → r ) = ( p∪q )∩( q ∪r ) 第三步,根据德.摩根定律进行逻辑变换:
( p∪q )∩( q ∪r ) |
= ( p∩q )∪( q∩r ) | 这就是来客的两种可能情况。但前一种前一种情况没有对婶婶作出判断,后一种没有对奶奶作出判断,而他们都是既可能来了,也可能没有来。所以,
[( p∩q )∩( r∪r )]∪[( q∩r )∩( p∪p )] 00000000 = ( p∩q∩r )∪( p∩q∩r )∪( p∩q∩r )∪( p∩q∩r ) 这四种情况才是来客的全部可能情况。翻译成自然语言是:(1) 只有婶婶来了;(2) 或者谁也没有来;(3) 或者只有婶婶没有来;(4) 或者只有叔叔来了。 根据语境,肯定是有人来了。所以第 (2) 种情况是不存在的。 又因与冬冬说的情况不一样,则第 (3) 、(4) 情况也不是。 所以是只有婶婶来了。 (说明:由于表达式特殊,制作成网页时可能有误) |