惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Martin Fowler
Martin Fowler
D
DataBreaches.Net
F
Fortinet All Blogs
阮一峰的网络日志
阮一峰的网络日志
博客园_首页
Apple Machine Learning Research
Apple Machine Learning Research
H
Help Net Security
M
MIT News - Artificial intelligence
美团技术团队
人人都是产品经理
人人都是产品经理
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
The Cloudflare Blog
有赞技术团队
有赞技术团队
L
LangChain Blog
博客园 - Franky
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 【当耐特】
S
SegmentFault 最新的问题
V
Visual Studio Blog
Blog — PlanetScale
Blog — PlanetScale
Hugging Face - Blog
Hugging Face - Blog
B
Blog
I
InfoQ

Watermelonabc的Blog

又一个黑客模拟游戏 又一个黑客模拟游戏 家庭辅导一晚,有点感想 家庭辅导一晚,有点感想 福州大学单片机原理与应用(跨学科)复习 福州大学单片机原理与应用(跨学科)复习 福州大学毛概期末复习 福州大学毛概期末复习 x86 汇编语言详解 - 2 x86 汇编语言详解 -2 CCB 2026 Half-Final Guangzhou CCB 2026 Half-Final Guangzhou 视频也可以含恶意代码吗 视频也可以含恶意代码吗 Hello,2026 Hello,2026 2025 福州大学算法与数据结构复习 2025 福州大学算法与数据结构复习 2025 福州大学习概期末复习 2025 福州大学习概期末复习 Frida 入门 Frida 入门 记一场贴吧交流 记一场贴吧交流 虚拟机保护 虚拟机保护 2025 强网杯 S9 Reverse 复现 2025 强网杯 S9 Reverse 复现 你如何在 FZU 取到快递 你如何在 FZU 取到快递
2025 福州大学离散数学笔记
Watermelonabc · 2025-09-09 · via Watermelonabc的Blog

数理逻辑

命题

非真即假的封闭陈述句就是命题 (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 " 比较常用而已

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

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

合取 (Conjunction)

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

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

析取 (Disjunction)

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

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

异或 (Exclusive or)

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

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

pp qq p⊕qp\oplus q
T T F
T F T
F T T
F F F

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

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

蕴涵 (Implication)

或称条件语句 (Conditional Statement)。

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

pp qq p→qp\rightarrow q
T T T
T F F
F T T
F F T

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

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

常用的自然语言描述:

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

等价 (Biconditional)

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

命题公式