布爾代數是一個集合 a,提供了兩個二元運算 <math>land</math> (邏輯與)、<math>lor</math> (邏輯或),一個一元運算 <math>lnot</math> / ~ (邏輯非)和兩個元素 0(邏輯假)和 1(邏輯真),此外,對於集合 a 的所有元素 a、b 和 c,下列公理成立:
<math> a lor (b lor c) = (a lor b) lor c </math><math> a land (b land c) = (a land b) land c </math>結合律
<math> a lor b = b lor a </math><math> a land b = b land a </math>交換律
<math> a lor (a land b) = a </math><math> a land (a lor b) = a </math>吸收律
<math> a lor (b land c) = (a lor b) land (a lor c) </math><math> a land (b lor c) = (a land b) lor (a land c) </math>分配律
<math> a lor lnot a = 1 </math><math> a land lnot a = 0 </math>互補律
上面的前三對公理: 結合律、交換律和吸收律,意味着 (a, <math>land</math>, <math>lor</math>) 是一個格。所以布爾代數也可以定義為一個分配的有補格。
從這些公理,你可以展示出最小元素 0、最大元素 1 和任何元素 a 的補 ¬a 都是唯一確定的。對於 a 中的所有的 a 和 b,下列恆等式也成立:
<math> a lor a = a</math><math> a land a = a </math>幂等律
<math> a lor 0 = a </math><math> a land 1 = a </math>有界律
<math> a lor 1 = 1 </math><math> a land 0 = 0 </math>
<math> lnot 0 = 1 </math><math> lnot 1 = 0 </math>0 和 1 是互補的
<math> lnot (a lor b) = lnot a land lnot b</math><math> lnot (a land b) = lnot a lor lnot b</math>de morgan 定律
<math> lnot lnot a = a </math> 對合律
例子
最簡單的布爾代數衹有兩個元素 0 和 1,並通過如下規則定義:
∧01
000
101
∨01
001
111
它應用於邏輯中,解釋 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 都有補 ¬x 滿足
x <math>land</math> ¬x = 0 並且 x <math>lor</math> ¬x = 1
這裏的 <math>land</math> 和 <math>lor</math> 用來指示兩個元素的下確界(交)和上確界()。還有,如果上述意義上的補存在,則它們是可唯一確定的。
代數的和序理論的觀點通常可以交替的使用,並且二者都是有重要用處的,可從泛代數和序理論引入結果和概念。在很多實際例子中次序關係、合取(邏輯與)、析取(邏輯或)和否定(邏輯非)都是自然的可獲得的,所以可直接利用這種聯繫。
在布爾代數 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(¬a) = ¬f(a) 同樣成立。所有布爾代數的類,和與之在一起的態射(morphism)的概念,形成了一個範疇。從 a 到 b 的同構是雙射的從 a 到 b 的同態。同態的逆也是同態,我們稱兩個布爾代數 a 和 b 為同態的。從布爾代數理論的立場上,它們是不能區分的;它們衹在它們的元素的符號上有所不同。
布爾的環、理想和濾子
每個布爾代數 (a, <math>land</math>, <math>lor</math>) 都引出一個環 (a, +, *),通過定義 a + b = (a <math>land</math> ¬b) <math>lor</math> (b <math>land</math> ¬a) (這個運算在集合論中叫做"對稱差"在邏輯中叫做xor(異或)) 和 a * b = a <math>land</math> b。這個環的零元素符合布爾代數的 0;環的乘法單位元素是布爾代數的 1。這個環有對於 a 中的所有的 a 保持 a * a = a 的性質;有這種性質的環叫做布爾環。
反過來,如果給出布爾環 a,我們可以把它轉換成布爾代數,通過定義 x <math>lor</math> y = x + y + xy 和 x <math>land</math> y = xy。因為這兩個運算是互逆的,我們可以說每個布爾環引發一個布爾代數,或反之。此外,映射 f : a → b 是布爾代數的同態,當且僅當它是布爾環的同態。布爾環和代數的範疇是等價的。
布爾代數 a 的理想是一個子集 i,對於在 i 中的所有 x, y 我們有 x <math>lor</math> y 在 i 中,並且對於在 a 中的所有 a 我們有 a <math>land</math> x 在 i 中。理想的概念符合在布爾環 a 中環理想的概念。a 的理想 i 叫做素理想,如果 i ≠ a;並且如果 a <math>land</math> b 在 i 中總是藴涵 a 在 i 中或 b 在 i 中。a 的理想 i 叫做極大理想,如果 i ≠ a 並且真正包含 i 的唯一的理想是 a 自身。這些概念符合布爾環 a 中的素理想和極大理想的環理論概念。
理想的對偶是濾子。 布爾代數 a 的濾子是子集 p,對於在 p 中的所有 x, y 我們有 x <math>land</math> y 在 p 中,並且對於在 a 中的所有 a,如果 a <math>lor</math> x = a 則 a 在 p 中。
表示布爾代數
可以證實所有的有限的布爾代數都同構於這個有限集合的所有子集的布爾代數。此外,所有的有限的布爾代數的元素數目都是二的幂。
stone 的著名的布爾代數的表示定理陳述了所有的布爾代數 a 都在某個(緊湊的完全不連通的 hausdorff)拓撲空間中同構於所有閉開集的布爾代數。
公理化布爾代數
在 1933 年,美國數學家 edward vermilye huntington (1874-1952) 展示了對布爾代數的如下公理化:
交換律: x + y = y + x。
結合律: (x + y) + z = x + (y + z)。
huntington 等式: n(n(x) + y) + n(n(x) + n(y)) = x。
一元函數符號 n 可以讀做'補'。
herbert robbins 接着擺出下列問題: huntington 等式能否縮短為下述的等式,並且這個新等式與結合律和交換律一起成為布爾代數的基礎? 通過一組叫做 robbins 代數的公理,問題就變成了: 是否所有的 robbins 代數都是布爾代數?
robbins 代數的公理化:
交換律: x + y = y + x。
結合律: (x + y) + z = x + (y + z)。
robbins 等式: n(n(x + y') + n(x + n(y))) = x。
這個問題自從 1930 年代一直是公開的,並成為 alfred tarski 和他的學生最喜好的問題。
在 1996 年,william mccune 在 argonne 國傢實驗室,建造在 larry wos、steve winker 和 bob veroff 的工作之上,肯定的回答了這個長期存在的問題: 所有的 robbins 代數都是布爾代數。這項工作是使用 mccune 的自動推理程序 eqp 完成的。
布爾代數是一個集合 A,提供了兩個二元運算 land (邏輯與)、lor (邏輯或),一個一元運算 lnot / ~ (邏輯非)和兩個元素 0(邏輯假)和 1(邏輯真),此外,對於集合 A 的所有元素 a、b 和 c,下列公理成立:
a lor (b lor c) = (a lor b) lor c a land (b land c) = (a land b) land c 結合律
a lor b = b lor a a land b = b land a 交換律
a lor (a land b) = a a land (a lor b) = a 吸收律
a lor (b land c) = (a lor b) land (a lor c) a land (b lor c) = (a land b) lor (a land c) 分配律
a lor lnot a = 1 a land lnot a = 0 互補律
上面的前三對公理: 結合律、交換律和吸收律,意味着 (A, land, lor) 是一個格。所以布爾代數也可以定義為一個分配的有補格。
從這些公理,你可以展示出最小元素 0、最大元素 1 和任何元素 a 的補 ¬a 都是唯一確定的。對於 A 中的所有的 a 和 b,下列恆等式也成立:
a lor a = a a land a = a 幂等律
a lor 0 = a a land 1 = a 有界律
a lor 1 = 1 a land 0 = 0
lnot 0 = 1 lnot 1 = 0 0 和 1 是互補的
lnot (a lor b) = lnot a land lnot b lnot (a land b) = lnot a lor lnot b de Morgan 定律
lnot lnot a = a 對合律