布尔代数的运算理论

如题所述

在布尔代数上的运算被称为AND(与)、OR(或)和NOT(非)。代数结构要是布尔代数,这些运算的行为就必须和两元素的布尔代数一样(这两个元素是TRUE(真)和FALSE(假))。亦称逻辑代数.布尔(Boole,G.)为研究思维规律(逻辑学)于1847年提出的数学工具.布尔代数是指代数系统B=〈B,+,·,′〉
它包含集合B连同在其上定义的两个二元运算+,·和一个一元运算′,布尔代数具有下列性质:对B中任意元素a,b,c,有:
1.a+b=b+a, a·b=b·a.
2.a·(b+c)=a·b+a·c,
a+(b·c)=(a+b)·(a+c).
3.a+0=a,  a·1=a.
4.a+a′=1, a·a′=0.
布尔代数也可简记为B=〈B,+,·,′〉.在不致混淆的情况下,也将集合B称作布尔代数.布尔代数B的集合B称为布尔集,亦称布尔代数的论域或定义域,它是代数B所研究对象的全体.一般要求布尔集至少有两个不同的元素0和1,而且其元素对三种运算+,·,′ 都封闭,因此并非任何集合都能成为布尔集.在有限集合的情形,布尔集的元素个数只能是2n,n=0,1,2,…二元运算+称为布尔加法,布尔和,布尔并,布尔析取等;二元运算·称为布尔乘法,布尔积,布尔交,布尔合取等;一元运算 ′ 称为布尔补,布尔否定,布尔代数的余运算等.布尔代数的运算符号也有别种记法,如∪,∩,-;∨,∧,?等.由于只含一个元的布尔代数实用价值不大,通常假定0≠1,称0为布尔代数的零元素或最小元,称1为布尔代数的单位元素或最大元.布尔代数通常用亨廷顿公理系统来定义,但也有用比恩公理系统或具有0与1的有补分配格等来定义的。
最简单的布尔代数只有两个元素 0 和 1,并通过如下规则(真值表)定义: ∧ 0 1 0 0 0 1 0 1 ∨0  1  0  0  1  1  1  1  ¬ 0 1  1 0 它应用于逻辑中,解释 0 为假,1 为真,∧ 为与,∨ 为或,¬为非。涉及变量和布尔运算的表达式代表了陈述形式,两个这样的表达式可以使用上面的公理证实为等价的,当且仅当对应的陈述形式是逻辑等价的。
两元素的布尔代数也是在电子工程中用于电路设计;这里的 0 和 1 代表数字电路中一个位的两种不同状态,典型的是高和低电压。电路通过包含变量的表达式来描述,两个这种表达式对这些变量的所有的值是等价的,当且仅当对应的电路有相同的输入-输出行为。此外,所有可能的输入-输出行为都可以使用合适的布尔表达式来建模。
两元素布尔代数在布尔代数的一般理论中也是重要的,因为涉及多个变量的等式是在所有布尔代数中普遍真实的,当且仅当它在两个元素的布尔代数中是真实的(这总是可以通过平凡的蛮力算法证实)。比如证实下列定律(合意(Consensus)定理)在所有布尔代数中是普遍有效的:
(a ∨ b) ∧ (¬a ∨ c) ∧ (b ∨ c) ≡ (a ∨ b) ∧ (¬a ∨ c)
(a ∧ b) ∨ (¬a ∧ c) ∨ (b ∧ c) ≡ (a ∧ b) ∨ (¬a ∧ c)
任何给定集合 S 的幂集(子集的集合)形成有两个运算 ∨ := ∪ (并)和 ∧ := ∩ (交)的布尔代数。最小的元素 0 是空集而最大元素 1 是集合 S 自身。
有限的或者 cofinite 的集合 S 的所有子集的集合是布尔代数。
对于任何自然数n,n 的所有正约数的集合形成一个分配格,如果我们对 a | b 写 a ≤ b。这个格是布尔代数当且仅当n 是无平方因子的。这个布尔代数的最小的元素 0 是自然数 1;这个布尔代数的最大元素 1 是自然数 n。
布尔代数的另一个例子来自拓扑空间: 如果 X 是一个拓扑空间,它既是开放的又是闭合的,X 的所有子集的搜集形成有两个运算 ∨ := ∪ (并)和 ∧ := ∩ (交)的布尔代数。
如果 R 是一个任意的环,并且我们定义中心幂等元(central idempotent)的集合为
A = { e ∈ R : e2 = e,ex = xe,x ∈ R }
则集合 A 成为有两个运算 e ∨ f := e + f + ef 和 e ∧ f := ef 的布尔代数。 Image:Hasse diagram of powerset of 3.png
子集的布尔格同任何格一样,布尔代数 (A,<math>\land</math>,<math>\lor</math>) 可以引出偏序集(A,≤),通过定义
a ≤ b当且仅当a = a <math>\land</math> b (它也等价于 b = a <math>\lor</math> b)。
事实上你还可以把布尔代数定义为有最小元素 0 和最大元素 1 的分配格 (A,≤) (考虑为偏序集合),在其中所有的元素 x 都有补 &not;x 满足
x <math>\land</math> &not;x = 0 并且 x <math>\lor</math> &not;x = 1
这里的 <math>\land</math> 和 <math>\lor</math> 用来指示两个元素的下确界(交)和上确界(并)。还有,如果上述意义上的补存在,则它们是可唯一确定的。
代数的和序理论的观点通常可以交替的使用,并且二者都是有重要用处的,可从泛代数和序理论引入结果和概念。在很多实际例子中次序关系、合取(逻辑与)、析取(逻辑或)和否定(逻辑非)都是自然的可获得的,所以可直接利用这种联系。 布尔代数的运算符可以用各种方式表示。它们经常简单写成 AND、OR 和 NOT。在描述电路时,还可以使用 NAND (NOT AND)、NOR (NOT OR) 和 XOR (排斥的 OR)。数学家、工程师和程序员经常使用 + 表示 OR 和 · 表示 AND (因为在某些方面这些运算类似于在其他代数结构中的加法和乘法,并且这种运算易于对普通代数熟悉的人得到积之和范式),和把 NOT 表示为在要否定的表达式顶上画一条横线。
这里我们使用另一种常见记号,交 <math>\land</math> 表示 AND,并 <math>\lor</math> 表示 OR,和 &not; 表示 NOT。(使用只有文本的浏览器的读者将见到 LaTeX 代码而不是他们表示的楔形符号。) 在布尔代数 A 和 B 之间的同态是一个函数 f : A → B,对于在 A 中所有的 a,b 都有:
f(a <math>\lor</math> b) = f(a) <math>\lor</math> f(b)
f(a <math>\land</math> b) = f(a) <math>\land</math> f(b)
f(0) = 0
f(1) = 1
接着对于在 A 中所有的 a,f(&not;a) = &not;f(a) 同样成立。所有布尔代数的类,和与之在一起的态射(morphism)的概念,形成了一个范畴。从 A 到 B 的同构是双射的从 A 到 B 的同态。同态的逆也是同态,我们称两个布尔代数 A 和 B 为同态的。从布尔代数理论的立场上,它们是不能区分的;它们只在它们的元素的符号上有所不同。

温馨提示:答案为网友推荐,仅供参考
相似回答