数理逻辑

命题

非真即假的封闭陈述句就是命题 (proposition)。一个命题的真值 (truth value) 表示命题的真假情况,本课程定义 1 为真,0 为假。

一个无法被分解的命题称为简单命题或原子命题 (atomic proposition),简单命题通过联结词 (logical connectives) 联结得到复合命题 (compound propositions)

命题的判断

一个命题需要满足以下两个条件:1)是陈述句;2)非真即假,即仅有唯一真值。
条件 1)比较好达成,但要注意数学表达式(如 1<21 < 2)也是一种陈述句。
条件 2)可能就有点难了。我们只看它能否理论上判断有唯一真值,不需要确定它是真是假。例如 “我喝了 114514 杯红茶”,我们现在可能无法确定到底是高手在民间还是吹牛批,但它有唯一真值!而 x+1>2x + 1 > 2 就不是一个命题,因为它有时真有时假。而 “这句话是假的” 同样不是一个命题,因为它同时是真和假。
和 ChatGPT 交流后发现,命题还有一个特征:陈述的主语必须无歧义。换句话说,主语不能是指代模糊的 xx、“He” 等。如果你需要上下文、需要自圆其说,那么他就不是一个命题。例如 “它是整数”,谁是整数?它是 1,是 “笔记本”,还是 “福州大学”?我们无法判断。这个特征需要灵活运用,因为在一些语境下,可能默认代词有指称。

直到现在我们讲的还是简单命题。对于复合语句呢?我们只需要其分解为简单陈述句,然后分别判断即可。只有所有简单陈述句都是命题,复合语句才是命题。
例如 “如果明天不下雨,我们就去公园”,这句话可以分为 “明天下雨” 和 “我们去公园”,这两个都是命题,所以一整句话也是一个命题。

语句是否为命题,和语句的语意合理情况无关。例如 “北京是首都当且仅当 2 + 2 = 4”,虽然荒谬但确实是命题。

我们习惯上用字母 pp, qq, rr, ss, … 来表示命题变量 (propositional variables),即表示命题的变量。

我们有 5 个联结词:

否定 (Negation)

pp 为一命题,则 pp 的否定记作 ¬p\neg p ,指 “不是 pp 所指的情形”,pp 的否定与 pp 的真值相反。(NOT)

否定运算符的记号并没有统一的标准,只是 " ¬\neg " 比较常用而已

Warning

抽取简单命题时,不可抽取否定语句。例如上面的 “如果明天不下雨”,抽取的就是 “明天下雨” 而不是 “明天不下雨”。

命题的否定也可以看作否定运算符 (negation operator) 作用在命题上的结果。

合取 (Conjunction)

pp, qq 为命题,pp, qq 的合取即命题 “pp 并且 qq”,记作 “pqp\land q”,当 pp, qq 皆为真命题时,pqp\land q 为真,否则为假。(AND)

如果一个命题为假,那么整个合取式固定为假;如果一个命题为真,那么整个合取式的真值取决于另一个命题。

析取 (Disjunction)

pp, qq 为命题,pp, qq 的析取即命题 “ppqq”,记作 “pqp\lor q”,当 pp, qq 皆为假命题时,pqp \lor q 为假, 否则为真。(OR)

如果一个命题为真,那么整个析取式固定为真;如果一个命题为假,那么整个析取式的真值取决于另一个命题。

异或 (Exclusive or)

pp, qq 为命题,pp, qq 的异或(记作 pqp\oplus q)是这样的一个命题:当 pp, qq 中恰好有一个为真时命题为真,否则为假。

换句话说,命题 pp, qq 的真值相同则为假 (0) ,真值不同则为真 (1)。

pp qq pqp\oplus q
T T F
T F T
F T T
F F F

联想到异或运算,其实是同一个概念,二进制位相同则为 0,二进制位不同则为 1。

和析取相比,异或排除了 ppqq 同时成立的情况,因此也称 “排斥或”。与之相对的,“析取” 也称 “相容或”

蕴涵 (Implication)

或称条件语句 (Conditional Statement)。

pp, qq 为命题,蕴含 pqp\rightarrow q 是命题 “如果 pp,则 qq”,当 pp 为真而 qq 为假时,条件语句 pqp\rightarrow q 为假,否则为真。在蕴涵中,pp 称为假设(hypothesis,或前件 antecedent,前提 premise),qq 称为结论(conclusion,或后件 consequence)。

pp qq pqp\rightarrow q
T T T
T F F
F T T
F F T
Note

为什么 pp 为假时,qq 不论真假,命题一定为真?
如果 qq 为假,不必多说,确实符合这个命题。
如果 qq 为真,命题没有规定 pp 为假的情况,并且仍然在一定程度上符合命题。
因此,如果 pp 为假,我们不需要使用 pqp\rightarrow q。既然我们不会使用它,我们可以将其真值定义为任何我们喜欢的东西,但也要符合其他的联结词。

蕴含式中 ppqq 的顺序很重要。如果交换 ppqq,会产生一个不同的命题。

常用的自然语言描述:

  • 只要 pp,就 qq
  • 因为 pp,才 qq
  • pp 仅当 qq
  • 只有 qqpp
  • 除非 qqpp
  • 除非 qq,否则非 pp¬q¬p\neg q \rightarrow \neg p,假言易位)

等价 (Biconditional)

如果 pqp\rightarrow qqpq\rightarrow p,则称 ppqq 等价,即 pqp\leftrightarrow q,也叫双条件。等价式中的两个命题可以交换。

命题公式