布尔逻辑

简介

「布尔(Boolean)」 是一种逻辑数据类型,它是(狭义的)逻辑的核心

布尔类型的值有且仅有两种,即:

  • 「真(true)」

  • 「假(false)」

运算

「非(not)」是一元运算,表示将值翻转 [1]

  • true => false

  • false => true

「与(and)」是二元运算,表示“且”关系 [2]

  • ab 均为真时,a and b 为真

  • 否则为假

a and btruefalse
truetruefalse
falsefalsefalse

「或(or)」是二元运算 [3]

  • ab 之一为真时,a or b 为真

  • 否则为假

a or btruefalse
truetruetrue
falsetruefalse

「异或(xor)」是二元运算 [4]

  • 当 a、b 不同时为真

  • 否则为假

a xor btruefalse
truefalsetrue
falsetruefalse

练习

  1. notand 的复合运算表示 or

  2. notor 的复合运算表示 and

  3. notor 的复合运算表示 xor

  4. 证明异或满足分配律与结合律

A: 你是否要按下按钮?
这里的逻辑应如何描述?

Note

可以尝试使用 Venn 图来方便理解、刻画

  • 1

    在数学上记作「否定(¬)」

  • 2

    在数学上记作「合取(∧)」

  • 3

    在数学上记作「析取(∨)」

  • 4

    也记作