1,它就会输出2;往里面输入67,它就会输出68。或者,f(x的爸爸)这个函数,往里面输入曹植,它就会输出曹操;往里面输入孙权,它就会输出孙坚。
逻辑学中的真值函数与数学中的函数很相似,也是输入一些值,输出一些值。在这里,我们需要认识3个最常见的真值函数。第一个叫做「否定」,它的运算方式很简单,如果命题P是真的,那么命题P的否定就是假的。如果命题P是假的,那么命题P的否定就是真的。也就是说,否定这个真值函数机器,会将输入进去的句子的真值倒转过来。输入真就会输出假,输入假就会输出真。
比如,「北京是中国的首都」,这个命题事实上是真的。那么输入否定这个真值函数机器后,这个命题就变成了「北京不是中国的首都」,那它就是假的。而「上海是俄罗斯的首都」这个命题事实上是假的,在输入否定这个真值函数机器后,变成了「上海不是俄罗斯的首都」,也就变成了真的。
第二个真值函数叫「合取」,「合并」的「合」,「录取」的「取」。「合取」这个真值函数机器,要求往里面输入的语句都是真的,它才会输出真这个真值。如果往里面输入的语句,哪怕只有1个是假的,那它就会输出假这个真值。
比如,「AndyLee是男性」「AndyLee学过心理学」「AndyLee学过逻辑学」这三个命题都是真的,把它们都输入合取机器,就变成了「AndyLee是学过逻辑学和心理学的男性」,这个命题也是真的。而「AndyLee是女孩子」「AndyLee学过心理学」「AndyLee学过逻辑学」这三个命题,至少有1个不是真的。它们合取起来,变成了「AndyLee是学过心理学和逻辑学的女孩子」,这个命题虽然部分是真的,但整体看来是假的。
第三个真值函数叫「析取」,「分析」的「析」。往析取这个真值函数机器中输入的语句,只要有1个是真的,整体就是真的。全部是假的,整体才是假的。析取这个专业的说法,也可以读作「或者」。所以下面我们将它读作「或者」。
举几个例子。AndyLee是摇滚歌手,AndyLee是萌妹子,AndyLee是编程专家。这三句话都是假的,那么析取起来,变成「AndyLee是摇滚歌手或编程专家或萌妹子」,整体也是假的。但如果换成,「AndyLee是摇滚歌手或编程专家或男性」,由于「AndyLee是男性」这个命题是真的,那么整个复合命题,虽然大部分是假的,但整体是真的。
关于真值函数这个知识点,我们就先说到这。接下来,让我们来看第二个知识点,也就是模态算子。
在现实生活中,如果我们说「AndyLee是萌妹子,AndyLee是编程专家」,那这两句话都是不符合事实的,也就是假的。但如果我们说,「AndyLee可能是萌妹子,AndyLee可能是编程专家」,那这两句话就不一定是假的了。
同样的,我们说「AndyLee是男性,AndyLee学过心理学」这两句话是真的,但如果加上必然二字,变成「AndyLee必然是男性,AndyLee必然学过心理学」,那这两句话又不一定是真的了。
「必然」和「可能」这两个词,就是模态算子。这两个模态算子可以互相转化。如果1+1必然等于2,那么1+1就不可能不等于2。也就是说,「必然」就相当于「不可能不」。而说「小张可能是大美女」,也就是说「小张并非必然不是大美女」。「可能」相当于「不必然不」。说起来比较拗口,但用逻辑符号写下来的话,会很直观。
从命题实际上的真值,我们无法推导出命题加上模态算子后的真值。比如,我实际上是男性,但我并不必然是男性,毕竟我有可能去做变性手术。这说明,实际上真,不代表必然真。但是,1+1实际上等于2,而且1+1也必然等于2。在这里,这个数学公式实际上真,而且它也必然真。
要想完全理解模态算子,我们需要用到「可能世界」这个概念。「可能世界」和科幻电影中的平行宇宙有点相似,又和物理学里的多重宇宙很像。总之,我们可以设想一个可能存在的世界,这个世界与我们这个现实世界非常相似,但又不一定完全一样。在那个可能世界里,也有太阳系和地球,地球上刚好也演化出了生物,也形成了人类文明。这个人类文明的历史发展和我们现实世界几乎一模一样,其中也存在一个和我非常相似的人,也叫AndyLee。
在这种情况下,如果那个AndyLee是萌妹子,那我们就说「AndyLee可能是萌妹子」;如果那个AndyLee是编程高手,那我们就说「AndyLee可能是编程高手」。也就是说,「可能」这个模态算子的意思就是说,至少在一个可能世界中,语句符合那个可能世