01 命题逻辑
命题逻辑的符号
命题逻辑的字母表包括以下内容:
- 变量符号(variable symbos):一般认为变量应当记为
,这里能够用自然数做下标,是因为我们默认命题逻辑能够使用的变量总数是至多可数的(有时为了方便,也可以把变量记为 或 ); - 连接符号(connectives):非(
),与( ),或( ); - 括号(parentheses):(
),( )。括号用来区分命题中各个部分的优先级; - TRUE: 这四个英文字母整体是一个命题逻辑中的符号;
- FALSE: 这五个英文字母整体是一个命题逻辑中的符号;
命题逻辑的语法
根据命题逻辑的字母表,我们可以把字母表中的字母任意排列连接成字符串,这些字符串可以是任意的,比如
我们归纳地定义命题:
单个变量
是一个命题; TRUE是一个命题;FALSE是一个命题;
如果
是一个命题,那么 是一个命题, 是一个命题 如果
是命题,那么 是一个命题, 是一个命题;
这就是命题逻辑的全部语法了。
命题逻辑的语义
即便是符合命题逻辑语法的一个命题逻辑符号串,在没有被赋予语义之前也是没有意义的。“为一个命题赋予语义”就是用元语言(自然语言)对命题逻辑符号串做出解释。例如,如果我们有
在命题逻辑中,我们只关心命题的唯一一种属性:真或假。我们首先为每个原子变量赋予真或假的属性,然后建立一套规则推导出任何命题的真或假。
设变量符号集合记为
基于真值指派
- 如果
,那么 ; ; - 设
是满足命题逻辑语法的proposition,那么如果 则 ;如果 则 ; - 设
是满足命题逻辑语法的proposition,那么如果 ; - 设
是满足命题逻辑语法的proposition,那么 的语义通过下面的表格来定义,称为真值表(truth table):
永真式,矛盾式,可满足性
有一些命题是特殊的。
有的命题在任何真值指派(解释)下都永远取
有的命题在任何解释下都永远取
有的命题满足:存在至少一个解释
Remark: 我们必须区分“语言”和“语言所指向的东西”。命题的语义是由元语言(自然语言)赋予的,并不意味着命题的语义是一串元语言符号。事实上,对每个原子变量赋予真值,然后根据上面这些规则可以推出命题的真值,这一过程是客观、唯一的,并不依赖于自然语言的描述。自然语言只是帮助阅读这篇文章的人理解“语义是什么”,而不是“语义本身”。那么“语义本身”是什么呢?依据维特根斯坦,这是不可言说的,但是我们已经通过语言领会了它。
语义后承&语义等价
有一些“命题对(pair)”之间有特殊的关系。例如,对于任何一个(关于
以上定义可以推广。设
如果
如果对于两个命题
显然,“
Remark1: 永真式、矛盾式、可满足性、语义后承、语义等价,这些都是关于命题本身的性质,而与具体的解释的选取无关。例如,特别要注意,我们讨论的“后承”不是选定某一解释之后的后承关系,而是在任何解释下都成立的后承关系的。
Remark2: 我们如何“证明”两个命题是语义后承关系,或语义等价关系?一如我们如何“证明”一个命题是否是永真式。唯一的判定标准是按照真值指派代入,然后按照语义的规则计算,再依据永真式、语义后承关系、语义等价关系的定义来做判断。一旦真值指派确定,那么一个命题逻辑符号串是否是永真式,两个命题逻辑符号串之间是否是语义后承关系,答案是唯一确定的。我们可以用自然语言写一个“证明”来说明在某一特定解释下,两个命题之间究竟是否满足语义后承关系。当然,这个“证明”只是为了帮助我们揭示答案,而不需要满足任何语法规则(如果愿意的话甚至可以通过非文字的方式,比如说话,或者画图)。
命题逻辑语义的性质
根据命题逻辑语义的定义,我们可以“证明”以下这些重要性质成立:
;这称为排中律(law of excluded middle) ; ; ; ; ; ;这称为双重否定律(law of double negation) , ;这称为幂等律(idempotant law) ;这称为与交换律(commutative law for and) ;这称为或交换律(commutative law for or) ;这称为与结合律(commutative law for and) ;这称为或结合律(commutative law for and) ; ;这称为分配律(distributive laws) ; ;这称为德摩根律(De Morgan’s law) ; ;这称为吸收律(absorption laws) - 如果
并且 ,那么 ;这称为语义后承关系的传递性(transitivity of consequence) - 如果
并且 ,那么 ;这称为语义等价关系的传递性(transitivity of equivalence) - 如果
,那么 ;如果 并且 ,那么 ;如果 并且 ,那么 ;这三者分别称为语义等价关系关于非、与、或的合同性(congruence property) - 对于任意命题集合
,如果 且 ,那么 ; - 对于任意命题集合
,如果 ,那么 ;特别地,当 时,我们有 可以推出 。结合双重否定律以及传递性,我们得到 当且仅当 。这称为逆否律(law of contrapositive)
所有以上这些性质都是可以“证明”的。再次提醒,这里所说的“证明”只是对事实的解释说明。下面我们展示一些证明的例子。这些证明中我们也大量运用了假设和推理,但这些假设和推理与命题逻辑中定义的“语义后承”无关。自然语言的假设和推理是建立在我们对“命题逻辑的语义的定义”这一客观对象的共同理解的基础之上的。我们可以把命题逻辑的这些语义性质理解为一些人们发现的自然规律,而证明中的所有假设和推理只是在用“物理定律”(语义的定义)论证为什么存在这些自然规律。
证明排中律
:
即证对于任何解释,都有 。分类讨论,若 ,那么根据真值表可知 ;若 ,那么 ,根据真值表可知 。证毕。 证明德摩根律
:
即证对于任何解释,都有 当且仅当 。左推右,若 ,那么 ,查询真值表可知 与 中至少有一个是 。若 为false,那么 ,根据真值表可知 ;若 为false,那么 ,根据真值表可知 。右推左,若 ,那么 和 中至少有一个为 ,所以 和 中至少有一个为 ,所以 ,所以 。 证明逆否律“对于任意命题集合
,如果 ,那么 ”:
要证,也就是要证对于任何解释 ,如果 则 。根据 ,可知 (也即对于任意 , ), 。现在,如果 ,那么 ,于是根据 可知 ,矛盾。因此 。证毕。
功能完全性
在命题逻辑中, 我们只引入了三个连接词符号
我们可以从搜索的角度理解功能完全性这个问题:对于任何一个真值表,我们可以按照长度穷举所有符合语法的命题逻辑命题,检查该命题是否满足真值表。但搜索无法构成一个有效的证明,因为真值表有无穷多个,并且如果找到了一个不存在命题与之对应的真值表,穷举就会无穷进行下去不会停止。所以,我们再次需要通过“证明”的方式来解决功能完全性问题。
析取范式&合取范式
人们注意到一件重要的事:不必关注所有符合语法的命题逻辑命题。有一些命题虽然合法,但存在比它形式更简单的语义等价命题。例如,
析取范式(Disjunctive Normal Forms, DNF)的定义:单个变量符号
下面我们证明,任何一个命题都语义等价于某一个析取范式。固定一个命题
可见,若
我们可以定义和析取范式类似的另一类范式,称为合取范式。同样,把单个变量符号
我们可以利用我们在析取范式中得到的结果,证明任何一个命题都语义等价于某一个合取范式。固定一个命题
-功能完全性
根据我们已经得到的结论——“任何命题都语义等价于某个析取范式”——我们几乎已经证明了
例如,下面这张真值表可以这样构造析取范式:
既然任何真值表都能找到一个析取范式与之对应,那么说明任何真值表都能找到一个命题逻辑命题与之对应。所以
-功能完全性
事实上,连符号
- 归纳基础:若
为 或 ,只需取 为 ; - 归纳步骤:
(1) 假设且 只含有符号 ,则根据 的congruency有 ,显然 只含有符号 ;
(2) 假设,且 只含有符号 ,那么根据 的congruence有 ,显然 只含有符号 ;
(3) 假设,且 只含有符号 ,那么根据 的congruence有 ,又根据De Morgan’s Law, ,根据等价的传递性 ,显然 只含有符号 ;
注意,以上归纳法不同于自然数集上的归纳法,而是根据命题的结构做pattern match(模式匹配)的分类讨论来归纳的。这样的归纳法称为“结构归纳法(structural induction)”。
同理,可以证明
然而,