泛代數

泛代數，也稱普適代數學（Universal algebra），研究通用於所有代數結構的理論，而不是代數結構的模型。舉個例子，並不是將特殊的個別的群作為個體分別來學習，而是將整個群論的理論作為學習的主題。

## 基本思想

從泛代數角度來看，代數是擁有一組運算元的集合A。在A上的n元運算是以n個A的元素為輸入並返回一個A的元素的函數。這樣，0元運算（空運算）可簡單表示為A的一個元素或常數，通常用a表示。一元運算是簡單的從A到A的函數，常用置於參數前的符號表示，如~x。二元運算通常用置於參數間的符號表示，如x*y。元數更高或不確定的運算通常用函數符號表示，參數放在括號中，例如f(x, y, z)或f(x1,...,xn)。那麼，討論代數的一種方式就是將其稱為某$\Omega$類代數，其中$\Omega$是自然數的有序數列，表示代數運算的元數。不過也有研究者允許無窮元運算，如$\textstyle\bigwedge_{\alpha\in J} x_\alpha$，其中J是無窮指標集，是完全格代數理論中的一種運算。

### 等式

定義了運算後，代數的性質由公理進一步定義，在泛代數中通常用恆等式或等式法則的形式。例如二元運算的結合律，可由等式x ∗ (y ∗ z) = (x ∗ y) ∗ z給出。

## 簇

由等式定義的代數結構集合稱作簇或等價類。

將研究範圍限制在簇，就排除了

- 量化，包括全稱量化（$\forall$，等式前除外）和存在量化 （$\exists$）
- 邏輯與（∧）之外的邏輯運算符
- 等式以外的關係，特別是形如a ≠ b不等式和序理論

等式類研究可看作是模型論的一支，通常處理只有運算的結構（類型中可以有函數的符號，但不能有等式以外的關係的符號）。談論這種結構的語言只使用等式。

其不包含所有廣義代數結構。例如，有序交換群涉及序關係，因此不屬於這個範疇。

域類也不屬於等式類，因為沒有類型能把所有域法則寫成等式（域中元素的逆適於所有非零元素，因此不能把逆加入類型中）。

這樣限制的一個好處是，泛代數研究的結構可定義在任何具有有限積的範疇中。例如，拓撲群只是拓撲空間範疇中的一個群。

### 例子

大多數泛代數系統都是簇的例子，但不總是很明顯，因為通常的定義往往涉及量化或不等式。

#### 群

以群的定義為例。通常，一個群的定義由二元運算*完成，並遵循以下公理：

- 結合律： x ∗ (y ∗ z) = (x ∗ y) ∗ z; &nbsp；形式化：∀x,y,z. x∗(y∗z)=(x∗y)∗z.
- 單位元：存在一個元素e，使得對每個x。都有e ∗ x = x = x ∗ e; &nbsp；形式化：∃e ∀x. e∗x=x=x∗e.
- 逆元素：很容易看出單位元是唯一的，一般記作e。那麼對每個x，都有元素i使x ∗ i = e = i ∗ x; &nbsp；形式化：∀x ∃i. x∗i=e=i∗x.

（有人也使用「封閉」公理，即只要x ∗ y都屬於A，則x*y也屬於，但這裡稱*為二元運算已經暗示了這一點。）

群的這一定義並不直接符合泛代數，因為單位元和逆元素並非純粹從「對所有」元素普遍成立的等式規律表述，而還涉及存在量詞「存在……」。除了二元運算∗，還可指定空運算e和一元運算~，~x通常寫作x−1。這樣，公理變為：

- 結合律：x ∗ (y ∗ z) = (x ∗ y) ∗ z.
- 單位元：e ∗ x = x = x ∗ e；形式化：∀x. e∗x=x=x∗e.
- 逆元素：x ∗ (~x) = e = (~x) ∗ x &nbsp；形式化：∀x. x∗~x=e=~x∗x.

總結來說，通常的定義有

- 單一二元運算
- 1個等式法則（結合律）
- 2個量化法則（單位元與逆元）

而按泛代數，則有

- 3種運算：1種二元運算，1種一元運算，1種零運算
- 3個等式法則（結合律、單位元、逆元）
- 沒有量化法則（最外層的全稱量詞除外，這在簇中是允許的）

關鍵點是，額外的運算沒有增加資訊，而是唯一地遵循了群的通常定義，雖然沒有唯一指定單位元e，但很簡單就能證明它是唯一的，每個逆元素也唯一。

泛代數觀點非常適合範疇論。例如，在範疇論中定義群對象時，若對象可能不是集合，就必須用到等式法則（在一般範疇中是有意義的），而非量化法則（指單個元素）。此外，逆元和單位元在範疇中被指定為態射。例如，拓撲群中的逆不僅必須逐元素存在，還要給出連續映射（態射）。有人還要求恆等映射也要閉包（上纖維化）。

#### 其他例子

大部分代數結構都可作為泛代數的例子。

- 環、半群、擬群、廣群、原群、圈等等。
- 固定域上的向量空間和固定環上的模也是泛代數。它們有二元運算，有一族一元標量乘法運算，域或環中的每個元素都有一個。

關係代數的例子有半格、格與布爾代數。

## 基本構造

假設$\Omega$類固定。泛代數中有三種基本構造：同態像、子代數與積。

兩個代數A、B之間的同態是函數h: A → B，使得對A中的每個n元運算fA和對應的B中n元運算fB，都有h(fA(x1,...,xn)) = fB(h(x1),...,h(xn))（若可以看出函數來自哪個代數，則f的上下標就可去掉）。例如，若e是常數（空運算），那麼 h(eA) = eB。若~是一元運算，那麼h(~x) = ~h(x)。若∗是二元運算，那麼h(x ∗ y) = h(x) ∗ h(y)，以此類推。我們可以取代數的同態像h(A)。

A 的子代數是A的子集，對A的所有運算都封閉。某個代數結構集合的積，指的是集合在坐標上定義的運算的笛卡爾積。

## 部分基本定理

- 同構基本定理，包括群、環、模等的同構定理。
- 伯克霍夫HSP定理，其指出，一類代數若且唯若在同態像、子代數與任意直積下封閉時，可以構成簇。

## 動機與應用

除了統一方法之外，泛代數還給出了深奧的定理以及重要的示例和反例，為新代數研究提供了有用的框架。它可以將為某些代數發明的方法轉移到其他類的代數，方法是用泛代數（如果可能的話）重新詮釋之，然後將其解釋為適用於其他類別的方法。它還澄清了概念；正如J.D.H. Smith所說：「在特定框架中看起來雜亂而複雜的東西，在適當的一般框架中可能會變得簡單而明顯」。

特別是，泛代數可用於么半群、環和格的研究。在泛代數之前，許多定理（最知名的是同構基本定理）是在所有類別中分別證明的，但有了泛代數，就可以對每種代數系統進行一次性證明。

下面提到的Higgins 1956年的論文為一系列特定代數系統提供了框架而受到廣泛關注，而他1963年的論文則對具有僅部分定義運算的代數的討論而備受矚目，典型的例子就是範疇和廣群。這引出了高維代數的話題，可定義為研究具有部分運算的代數理論，其域是在幾何條件下定義的。著名的例子是各種形式的高維範疇和廣群。

### 約束滿足問題

泛代數為約束滿足問題（CSP）提供了一種自然的語言。CSP是一類重要的計算問題：給定關係代數A和其上的句子$\varphi$，如何確定$\varphi$能否在A中得到滿足。代數A通常是確定的，因此CSPA指實例僅為存在語句$\varphi$的問題。

可以證明，對某個代數A，每個計算問題都可表為CSPA。

例如，n色問題可表述為代數$\big(\{0,1,\dots,n-1\}, \neq\big)$的CSP，即具有$n$個元素和一個關係式（不等式）的代數。

二分猜想（2017年4月證明）指出，若A是有限代數，則CSPA要麼是P問題，要麼是NP完全問題。

## 推廣

還可用範疇論手段研究泛代數：可用特殊的範疇描述代數結構，稱為勞維爾理論或更廣義的代數論。相對地，也可用單子描述代數結構。這兩種方法密切相關，各有優勢。

特別地，每個勞維爾理論都在集合範疇上給出了單子，而集合範疇的任何「有限」單子都產生於某個勞維爾理論。單子描述的是特定範疇（如集合範疇）中的代數結構，而代數論描述的是一大類範疇（即有有限積的範疇）中任何範疇的結構。

範疇論的最新發展是算元論——算元是一系列運算，類似於泛代數，但只允許在帶變量的表達式間建立等式，不允許重複或省略變量。因此，環可被描述為某些算元的所謂「代數」，但不能描述為群，因為$g g^{-1} = 1$在左側重複了變量g，在右側省略了變量g。起初這似乎是個麻煩的限制，但其結果是，算元有某些優勢：例如，可以統一環和向量空間，得到結合代數，但無法統一環和向量空間。

另一處發展是偏代數，其中的運算可以是偏函數。某些偏函數也可通過所謂「本質代數論」的勞維爾理論推廣來處理。

泛代數的另一種推廣是模型論，有時被描述為「泛代數+邏輯」。

## 外部連結

- Algebra Universalis —a journal dedicated to Universal Algebra.