拓扑布尔代数

在抽象代數中，**內部代數**是採用了集合的拓撲內部概念的特定類型的代數結構。內部代數之對於拓撲和模態邏輯 **S4** 如同布林代數之對於集合論和普通命題邏輯。內部代數形成了模態代數的一個簇。

## 定義

**內部代數**是帶有如下標識 (signature) 的代數結構 < _S_, ·, +, ', 0, 1, I >，其中 < _S_,・, +, ', 0, 1 > 是布林代數，字尾 I 是一元運算**內部算子**，它滿足如下恆等式：

1. _x_I ≤ _x_
2. _x_II = _x_I
3. (_xy_)I = _x_I_y_I
4. 1I = 1

_x_I 叫做 _x_ 的**內部**。

內部算子的對偶是**閉包算子** C，定義為 _x_C = ((_x_ ')I )'。_x_C 叫做 _x_ 的**閉包**。通過對偶原理，閉包算子滿足如下恆等式:

1. _x_C ≥ _x_
2. _x_CC = _x_C
3. (_x_ + _y_)C = _x_C + _y_C
4. 0C = 0

如果閉包算子被選取為原始的，則內部算子可以定義為 _x_I = ((_x_ ' )C)'。所以內部代數的理論可以使用閉包算子替代內部算子來形式化，這種情況下，考慮的是形如 < _S_, ·, +, ', 0, 1, C > 的**閉包代數**，這裡的 < _S_,・, +, ', 0, 1 > 是布林代數而 C 是滿足上述恆等式的閉包算子。閉包代數和內部代數形成了對偶對，它們是「帶有算子的布林代數」的例證。關於這個主題 (主要是波蘭拓撲學) 的早期文獻涉及了閉包算子，但是內部算子的形式化最終成為標準。

## 開放和閉合元素

內部代數的元素被稱為**開**的，若且唯若 _x_I = _x_，開元素的補被稱為**閉**的並，這也等價於 _x_C = _x_。顯然，一個元素的內部總是開的而閉包總是閉的。

既開又閉的元素叫做**閉開**的。顯然，0 和 1 是閉開的。

閉元素的內部稱為**正規開**的，開元素的閉包稱為**正規閉**的。

內部代數稱為**布林的**，若它的元素都是開的 (因此是閉開的)。布林內部代數可以同一於普通布林代數，因為它們的內部和閉包算子不提供有意義的額外結構。特殊情況是**平凡**內部代數類，它們是特徵化為恆等式 0 = 1 的單一元素的內部代數。

## 內部代數的態射

### 同態

內部代數作為代數結構的優點是有同態。給定兩個內部代數 _A_ 和 _B_，對映 _f_ : _A_ → _B_ 是**內部代數同態**，若且唯若 _f_ 是底層布林代數 _A_ 和 _B_ 之間的同態，它還保持內部和閉包。所以:

* _f_(_x_I) = _f_(_x_)I；
* _f_(_x_C) = _f_(_x_)C。

### 拓撲態射

拓撲態射 (topomorphism) 是另一種重要的更一般性的在內部代數之間的態射。對映 _f_ : _A_ → _B_ 是拓撲態射，若且唯若 _f_ 是在底層布林代數 _A_ 和 _B_ 上的同態，並且還保持 _A_ 的開放和閉合元素。所以:

* 如果 _x_ 在 _A_ 中開放的，則 _f_(_x_) 在 _B_ 中是開放的；
* 如果 _x_ 在 _A_ 中閉合的，則 _f_(_x_) 在 _B_ 中是閉合的。

所有內部代數同態都是拓撲態射，當時不是所有拓撲態射都是內部代數同態。

## 與其他數學領域的關係

### 拓撲學

給定一個拓撲空間 _**X**_ = < _X_, _T_ >，你可以形成 _X_ 的冪集布林代數:

　
: < _P_(_X_), ∩, ∪, ', ø, _X_ >

並擴充它為一個內部代數

　
: _**A**_(_**X**_) = < _P_(_X_), ∩, ∪, ', ø, _X_, I >

這裡的 I 是普通的拓撲內部算子，定義為

　
: _S_ I = $\cup $ { _O_ ∈ _T_ : _O_ ⊆ _S_ } 對於所有的 _S_ ⊆ _X_

對應的閉包算子定義為

　
: _S_ C = $\cap $ { _C_ : _S_ ⊆ _C_ 並且 _C_ 閉合在 _**X**_ 中} 對於所有的 _S_ ⊆ _X_

在 _**X**_ 中 _S_ I 是 _S_ 的最大開子集而 _S_ C 是 _S_ 的最小閉超集。內部代數 _**A**_(_**X**_) 的開放、閉合、正規開放、正規閉合和閉開元素就是 _**X**_ 在通常拓撲學意義上開集、閉集、正規開集、正規閉集和閉開集。

所有完全的原子內部代數都同構於為某個拓撲空間 _**X**_ 形成的 _**A**_(_**X**_) 內部代數。此外所有內部代數都可以被嵌入到給內部代數以**集合的拓撲域**表示的那樣一個內部代數中。結構 _**A**_(_**X**_) 的性質就是定義內部代數的真正動機。因為這種與拓撲學的親密聯絡，內部代數也叫做**拓撲布林代數**。

給定在兩個拓撲空間之間的連續對映

　
: _f_ : _**X**_ → _**Y**_

我們可以定義完全拓撲態射

　
: _**A**_(_f_) : _**A**_(_**Y**_) → _**A**_(_**X**_)

為

　
: _**A**_(_f_)(_S_) = _f_ -1[_S_]

對於 _**Y**_ 的所有子集 _S_。在兩個完全原子內部代數之間的所有完全拓撲態射可以以這種方式匯出。如果 **Top** 是拓撲空間和連續對映的範疇而 **Cit** 是完全原子內部代數和完全拓撲態射的範疇，則 **Top** 和 **Cit** 是對偶同構而 _**A**_ : **Top** → **Cit** 是作為範疇的對偶同構的逆變函子。_**A**_(_f_) 是同態若且唯若 _f_ 是連續開對映。

在這種範疇的對偶同構下很多自然的拓撲概念對應於代數性質，特別是連通性對應於不可簡約性質:

* _**X**_ 是空的若且唯若 _**A**_(_**X**_) 是平凡的
* _**X**_ 是不可分的若且唯若 _**A**_(_**X**_) is 單純的
* _**X**_ 是離散的若且唯若 _**A**_(_**X**_) 是布林的
* _**X**_ 是幾乎離散的若且唯若 _**A**_(_**X**_) 是半單純的
* _**X**_ 是有限生成的 (Alexandrov) 若且唯若 _**A**_(_**X**_) 是**算子完備**的，就是說它的內部和閉包算子分別分配於任意交和並之上。
* _**X**_ 是連通的若且唯若 _**A**_(_**X**_) 是直接不可分解的
* _**X**_ 是超連通的若且唯若 _**A**_(_**X**_) 是有限次直接不可分解的
* _**X**_ 是緊緻超連通的若且唯若 _**A**_(_**X**_) 是次直接不可分解的

#### 廣義拓撲

依據開子集的拓撲的拓撲空間的現代公式化，激發了內部代數的可供選擇的公式化: **廣義拓撲空間**是如下形式的代數結構

　
: < _B_, ·, +, ', 0, 1, _T_ >

這裡的 < _B_,・, +, ', 0, 1 > 是普通的布林代數，而 _T_ 是在 _B_ 上的一元關係 (_B_ 的子集) 使得:

1. 0,1 ∈ _T_
2. _T_ 閉合在任意並之下 (就是說，如果 _T_ 的任意子集的並存在則它就在 _T_ 中)
3. _T_ 閉合在有限交之下
4. 對於所有 _B_ 的元素 _b_，並 ∑{_a_ ∈_T_ : _a_ ≤ _b_} 存在

_T_ 被稱為在布林代數中的**廣義拓撲**。

給定一個內部代數它的開放元素形成了廣義拓撲。反過來給定一個廣義拓撲空間

　
: < _B_, ·, +, ', 0, 1, _T_ >

我們可以定義 _B_ 上的一個內部算子為 _b_ I = ∑{_a_ ∈_T_ : _a_ ≤ _b_} 因此生成了其開放元素正好都是 _T_ 的內部代數。所以廣義拓撲空間等價於內部代數。

把內部代數考慮為廣義拓撲空間，拓撲態射接著是帶有增加的算子的布林代數的標準同態，所以可以應用來自泛代數的標準結果。

#### 鄰域函數和鄰域半格

鄰域的拓撲概念可以推廣到內部代數：元素 y 被稱為是元素 x 的**鄰域**，若且唯若 x ≤ yI。x 的所有鄰域的集合 N (x) 構成形成鄰域濾子。這也導致了內部代數的另一種公式化:

在布林代數上的**鄰域函數**是從它的底層集合 B 到它的濾子的集合的對映 N 使得：

1. 對於所有 _x_ ∈ _B_，max { _y_ ∈ _B_ : _x_ ∈ _N(y)_ } 存在
2. 對於所有 _x_,_y_ ∈ _B_，_x_ ∈ _N(y)_ 若且唯若有 _z_ ∈ _B_ 使得 _y_ ≤ _z_ ≤ _x_ 並且 _z_ ∈ _N(z)_。

內部代數的元素到它的鄰域的濾子的對映 _N_ 是在內部代數底層的布林代數上的鄰域函數。此外，給定帶有底層集合 _B_ 的布林代數上鄰域函數 _N_，我們可以定義一個內部算子為 _x_I = max { y ∈ _B_ : _x_ ∈ _N(y)_ } 從而獲得一個內部代數。接著 _N(x)_ 正好就是這個內部代數內 _x_ 在的領域的濾子。所以內部代數等價於帶有指定鄰域函數的布林代數。

依據領域函數，開放元素正好就是那些元素 _x_ 使得 _x_ ∈ _N(x)_。依據開元素 _x_ ∈ _N(y)_ 若且唯若有開元素 _z_ 使得 _y_ ≤ _z_ ≤ _x_。

領域函數可以更一般的定義在 (交)- 半格上生成叫做鄰域半格的結構。內部代數可以被看作就是**布林鄰域格**，就是說底層半格形成布林代數的領域格。

### 模態邏輯

給定在模態邏輯 **S4** 中一個理論 (形式句子的集合) _M_，我們可以形成它的 Lindenbaum-Tarski 代數:

　
: _**L**_(_M_) = < _M_ / ~, ∧, ∨, ¬, _F_, _T_, □ >

這裡的～是在 _M_ 中的句子的等價關係，_p_ ~ _q_ 若且唯若 _p_ 和 _q_ 在 _M_ 中是邏輯等價的，而 _M_ / ~ 是在這個關係下等價類的集合。則 _**L**_(_M_) 是內部代數。在這種情況下的內部算子對應於模態算子 □(**必然性**)，而閉包算子對應於 ◊(**可能性**)。這種結構是模態代數和模態邏輯的更一般結果的特殊情況。

_**L**_(_M_) 的開放元素對應於只在必然為真時為真的那些句子，而閉合元素對應於只在必然為假時為假的那些句子。

因為它們與 **S4** 的關係，內部代數有時叫做 **S4 代數**或 **Lewis 代數**，得名於邏輯學家 C. I. Lewis，他首先提議了模態邏輯 **S4** 和 **S5**。

### 預序

因為內部代數是帶有算子的 (正常) 布林代數，它們可以被表示為在適當關係結構上集合域。特別是，因為它們是模態代數，它們可以被表示為在叫做 模態框架的一個單一二元關係上的集合的域。對應於內部代數的模態框架正好就是預序集合。預序集合 (也叫做「S4 - 框架」) 提供了模態邏輯 **S4** 的 Kripke 語意，而在內部代數和預序之間的聯絡密切關聯於它們與模態邏輯的聯絡。

給定一個預序集合 _**X**_ = < _X_, « > 我們可以構造一個內部代數

　
: _**B**_(_**X**_) = < _P_(_X_), ∩, ∪, ', ø, _X_, I >

從 _X_ 的冪集布林代數，這裡的內部算子 I 定義為

　
: _S_ I = { _x_ ∈ _X_: 對於所有 _y_ ∈ _X_, _x_ « _y_ 蘊涵 _y_ ∈ _S_ } 對於所有 _S_ ⊆ _X_。

對應的閉包算子定義為

　
: _S_ C = { _x_ ∈ _X_: 存在 _y_ ∈ _S_ 使得 _x_ « _y_ } 對於所有 _S_ ⊆ _X_。

_S_ I 是從 _S_ 之外的「世界」不可存取的所有「世界」的集合，而 _S_ C 是從在 _S_ 之內的某個「世界」可以存取的所有「世界」的集合。所有內部代數都可以嵌入為某個預序集合 _**X**_ 形成內部代數 _**B**_(_**X**_) 中，給予上述提及的作為集合域 (**預序域**) 的表示。

這個構造和表示定理是對模態代數和模態框架的更一般結果的特殊情況。在這種考慮下，內部代數有著特定價值，因為它們聯絡於拓撲學。這種構造提供了帶有拓撲的預序集合 _**X**_ ，這個 Alexandrov 拓撲生成拓撲空間 _**T**_(_**X**_)，它的開集是:

　
: { _O_ ⊆ _X_: 對於所有 _x_ ∈ _O_ 和所有 _y_ ∈ _X_, _x_ « _y_ 蘊涵 _y_ ∈ _O_ }。

對應的閉集是:

　
: { _C_ ⊆ _X_: 對於所有 _x_ ∈ _C_ 和所有 _y_ ∈ _X_, _y_ « _x_ 蘊涵 _y_ ∈ _C_ }。

換句話說，開集的「世界」從外部 (**上部集合**) 是不可存取的，而閉集從內部 (**下部集合**) 是不能存取所有外部「世界」的。此外 _**B**_(_**X**_) = _**A**_(_**T**_(_**X**_))。

### 一元布林代數

任何一元布林代數都可以被認為是內部算子是全稱量詞而閉包算子是存在量詞的內部代數。一元布林代數正好就是滿足恆等式 _x_IC = _x_I 的內部代數的一個簇。換句話說，它們正好是其中所有開放元素都是閉合的，或者等價的說所有閉合元素都是開發的內部代數。此外，這種內部代數正好是半單純內部代數。它們也是對應於模態邏輯 **S5** 的內部代數，所以也叫做 **S5 代數**。

由於預序集合和內部代數之間的聯絡，它們對應的預序是等價關係，反映了這種預序集合為 **S5** 提供了 Kripke 語意的事實。這還反映了在量化的一元邏輯 (一元布林代數為它提供了代數描述) 和 **S5** 之間的聯絡，這裡的模態算子 □(**必然性**) 和 ◊(**可能性**) 可以在使用模態全稱和存在量化的 Kripke 語意中解釋，而不需要藉助可及關係。

### Heyting 代數

內部代數的開放元素形成了 Heyting 代數而閉合元素形成了對偶 Heyting 代數。正規開放元素和正規閉合元素分別對應於這些代數的偽補元和對偶的偽補元，因而形成了布林代數。閉開元素對應於補元素，因而形成了這些布林代數和這個內部代數自身的公共子代數。所有 Heyting 代數可以被表示為內部代數的開放元素。

Heyting 代數對直覺邏輯扮演了內部代數對於模態邏輯 **S4** 和布林代數對於命題邏輯的相同角色。在 Heyting 代數和內部代數之間的聯絡反映了在直覺邏輯和 **S4** 之間的聯絡，直覺邏輯的理論可以被解釋為閉合在必然性下的 **S4** 理論。

### 導來代數

給定一個內部代數 _**A**_，閉包算子服從匯出算子 D 的公理。因此通過採用閉包算子為匯出算子，可以形成與 _**A**_ 有相同底層布林代數的導來代數 _**D**_(_**A**_)。

所以內部代數是導來代數。從這個角度看，它們正好是滿足恆等式 _x_D ≥ _x_ 的導來代數的一個簇。導來代數為模態邏輯 **WK4** 提供了適當的代數語意。所以導來代數對應於拓撲匯出集合和 **WK4**，如同內部 / 閉包代數的對應於拓撲內部 / 閉包和 **S4**。

給定帶有匯出算子 D 的導來代數 _**V**_，我們可以形成與 _**V**_ 有相同底層布林代數的一個內部代數 _**I**_(_**V**_)，帶有內部和閉包算子分別定義為 _x_I = _x_·_x_ ' D' 和 _x_C = _x_ + _x_D。所以所有導來代數都可以被當作內部代數。此外給定一個內部代數 _**A**_，我們有 _**I**_(_**D**_(_**A**_)) = _**A**_。但是，_**D**_(_**I**_(_**V**_)) = _**V**_ **不**對於所有導來代數 _**V**_ 成立。

## 元數學

Gregorczyk 證明了閉包代數的基本理論的不可決定性。

## 參照

* Blok, W.A., 1976, _Varieties of interior algebras,_ Ph.D. thesis, University of Amsterdam.
* Esakia, L., 2004, "Intuitionistic logic and modality via topology," _Annals of Pure and Applied Logic 127_: 155-70.
* McKinsey, J.C.C. and Alfred Tarski, 1944, "The Algebra of Topology," _Annals of Mathematics 45_: 141-91.
* Naturman, C.A., 1991, _Interior Algebras and Topology_, Ph.D. thesis, University of Cape Town Department of Mathematics.