本文章转载于教学平台讨论区,本学期结束后讨论区将关闭,来年新的学生无法从讨论区中看见本文章,故特此将该文章转载于博客。
各位同学,相信大家在今天的学习中可能被谓词的形式化给绕糊涂了,所以我想在这里再跟大家聊聊我们应该如何理解形如“所有的A都是B”和“有的A是B”的形式化。当然,你使用反义句去思考是一种方法,但是有没有什么语义上的理解方式能够让我们直接理解背后的原因呢?——答案是有的,请听我细细道来。
一、“所有的A都是B”的形式化
首先我们先来看课本中的例子,在限制论域为全总个体域的前提下,我们是怎样形式化“所有的素数都是整数”的呢?答案是:
$$(\forall x)(Prime(x) \Rightarrow Integer(x))$$为什么这种形式化是对的,而不是课本上写出的反例\((\forall x)(Prime(x) \wedge Integer(x))\)?
我们可以从推理的角度来理解这个问题,首先,我们先来看命题“所有的素数都是整数”,这个命题显然是真命题,也就是说,由这句话形式化而得到的谓词公式的真值应该是真!
而题目中限定了论域是全总个体域,也就是说,\(x\)是包罗万象的,它可以是整数,也可以是小数,甚至不是个数,比如是个梨子、苹果、或者你们的老师我!
我们已经学了基本的量词消去规则,所以说,我们的答案的那个蕴涵式构成的谓词公式,可以写为:
$$(Prime(梨子) \Rightarrow Integer(梨子)) \wedge (Prime(2.5) \Rightarrow Integer(2.5)) \wedge \cdots \wedge (Prime(2) \Rightarrow Integer(2))$$也就是说我把论域里的每个元素都展开来写了(实际上我不能这么做,因为全总个体域不是可数无限集——你不能把每个小数都列出来)。
那么你看,我们答案给你的基于蕴涵式构成的谓词公式的真值是真的吧?
为什么是真的呢——因为合取式的每一项都是真的!即:\(Prime(梨子) \Rightarrow Integer(梨子)\)是真的(因为前提是假的),\(Prime(2.5) \Rightarrow Integer(2.5)\)也是真的(因为前提是假的),而当前提为真的时候,结论也一定是真的,例如\(Prime(2) \Rightarrow Integer(2)\)。
而如果我们使用反例,即合取式来构造形式化后的结果,那么我们把全称量词展开来,也就是说:
$$(Prime(梨子) \wedge Integer(梨子)) \wedge (Prime(2.5) \wedge Integer(2.5)) \wedge \cdots \wedge (Prime(2) \wedge Integer(2))$$这个式子的真值为假!因为\(Prime(梨子)\)是假的,所以合取了以后整个公式的真值一定为假!这与“所有的素数都是整数”的真值应当为真相矛盾!
所以对于这种情况,我们应该使用蕴涵式来构造谓词公式。
二、“有的A是B”的形式化
我们继续看课本上的例子——“有的素数是奇数”,正确答案是:
$$(\exists x)(Prime(x) \wedge Odd(x))$$首先我们还是先理解“有的素数是奇数”是真命题还是假命题,这个命题显然是真命题,因为素数3就是一个奇数。
——你看,我为了像你证明这个以存在量词开头的命题是真命题,我采用的方法是找证据法!意思就是说,我找到了一个证据,它使得这个命题成立了!
对于全称量词引导的命题,我们如果要证明它成立不太容易,但是如果我们要反驳它,只需要找一个反例即可。而存在量词引导的命题,我们要证明它成立是比较简单的,只需要找证据,而如果要反驳它,则需要看每一个元素是不是都导致假命题,所以与全称量词引导的命题相反,反驳存在量词引导的命题是比较麻烦的。
那么问题来了,我们为了证明有的素数是奇数,你就必须给我找一个证据!
这个证据可不能瞎找,比如我给你的证据是3,这个证据是足以支撑这个命题成立的,但是如果我给你一个证据是4,这个证据是不能够证明出原命题成立的!
这是什么意思呢?——我给你的证据是3,我们代入形式化的命题公式,有\(Prime(3) \wedge Integer(3)\)为真——所以这个证据足以支撑了命题的成立,而如果我说我给你个证据是4,那么我们有\(Prime(4) \wedge Integer(4)\)为假(因为\(Prime(4)\)为假),所以4作为证据不能够支撑命题的成立!
那么我们再来看典型的反例,如果你把这个语句的形式化写为:
$$(\exists x)(Prime(x) \Rightarrow Odd(x))$$这时候,我跟你说,我证明出这个命题是成立的了!那么你就会问我,那你找到的是什么数啊?我说我找到了4,你跟我说这不是胡扯吗,4又不是素数,怎么可以作为这个命题成立的证据呢?那我紧接着说:“你把4代进去试试?”,你会发现\(Prime(4) \Rightarrow Odd(4)\)的真值居然是真的(因为前提\(Prime(4)\)是假的)——这说明这个形式化的公式是不正确的。
因此,我们当形式化形如“所有的A都是B”的语句的时候,应该采用蕴涵式来构建谓词公式,而形式化形如“有的A是B”的时候,应该采用合取词来构建谓词公式,希望上面的这些分析过程能够帮助你更好的理解自然语句的形式化。