Skip to content

5.7.5 布尔函数、布尔表达式

1. 布尔函数

B 表示有两个元素的布尔代数 (如第 529 页 5.7.3),那么 n 重布尔函数 f 是一个从 BnB 的映射. 有 2nn 重布尔函数. 所有具有运算

(5.304)(fg)(b)=f(b)g(b),(5.305)(fg)(b)=f(b)g(b)(5.306)f¯(b)=f(b)

n 重布尔函数的集合是一个布尔代数. 这里 b 总是表示 B={0,1} 的元素的 n 组,并且方程右边的运算是在 B 中实施的. 互异元素 0 和 1 对应于函数 f0f1 , 并且对于所有 bBn ,

(5.307)f0(b)=0,f1(b)=1.

A : 在 n=1 的情形,即对于仅有一个布尔变量的情形,存在 4 个布尔函数:

恒等 f(b)=b ,否定 f(b)=b¯ ,重言 f(b)=b ,矛盾 f(b)=b .(5.308)

B: 在 n=2 的情形,即对于两个布尔变量 ab 的情形,存在 16 个布尔函数, 这里最重要的是它们的名称和记号. 它们列在表 5.6 中.

函数名称

不同的记号

不同的符号

(ab)=(00),(01),(10),(11) 的值表

Sheffer 或 NAND

ab ab NAND(a,b)

1,1,1,0

Peirce 或 NOR

a+b ab NOR(a,b)

1,0,0,0

反等价 或 XOR

a¯b+ab¯ a XOR b ab,ab

0,1,1,0

等价

a¯b¯+ab ab ab

1,0,0,1

蕴涵

a¯+b,ab

1,1,0,1

2. 布尔表达式

布尔表达式是用归纳的方式定义的: 设 X={x,y,} 是一个布尔变量(它们只能够在 {0,1} 中取值) 的 (可数) 集:

(1)常数 0 和 1 作为 X 中的布尔变量恰为布尔表达式.(5.309)

(2) 如果 ST 是布尔表达式,那么 T¯,(ST)(ST) 也是布尔表达式.(5.310)

如果一个布尔表达式含变量 x1,,xn ,那么它表示一个 n 重布尔表达式 fT : 设 b 是布尔变量 x1,,xn 的一个 “赋值”,即 b=(b1,,bn)Bn .

对表达式 T 用下列方式指派一个布尔函数:

(1) 如果 T=0 ,那么 fT=f0 ; 如果 T=1 ,那么 fT=f1 .(5.311a)

(2) 如果 T=xi ,那么 fT(b)=bi ; 如果 T=S¯ ,那么 fT(b)=fS(b) .(5.311b)

(3) 如果 T=RS ,那么 fT(b)=fR(b)fS(b) .(5.311c)

(4) 如果 T=RS ,那么 fT(b)=fR(b)fS(b) .(5.311d)

另一方面,每个布尔函数 f 可以用一个布尔表达式 T 表示 (参见第 532 页5.7.6).

3. 共点或语义等价的布尔表达式

布尔表达式 ST 称为共点或语义等价,如果它们表示相同的布尔函数. 布尔表达式相等, 当且仅当它们可以依据布尔代数的公理互相变换.

在此对于布尔表达式的变换要特别考虑两个方面:

  • 形式尽可能 “简单” 的变换 (参见第 533 页 5.7.7).

  • “正规形式” 的变换.

version 1.24.0