类型论驿站写作计划
群、环、格、布尔代数等代数结构在很早就已经得到了比较深入的研究。怀特海(Whitehead)在1898年指出,有必要定义一种可以囊括现有的大部分代数结构的代数。但这一任务直到1933年才由伯克霍夫(Birkhoff)完成。
定义1
对于一个非空集合
![]()
,以及一个非负整数
![]()
,我们定义
![]()
,且对于
![]()
,
![]()
是
![]()
的元素所构成的
![]()
元组。
![]()
上的
![]()
元运算(或函数)是任何从
![]()
到
![]()
的函数
![]()
。
![]()
是
![]()
的
元数(arity,rank)。
有限元操作是针对某个
![]()
来说的的一个
![]()
元操作。
![]()
的在一个
![]()
元运算
![]()
下的
像(image)记为
![]()
。在
![]()
上的运算
![]()
如果元数为零,则被称为
零元(nullary)操作,或
常运算(constant),该运算完全由
![]()
中的唯一元素
![]()
在
![]()
中的像
![]()
来决定,故而我们通常可以将该运算和元素
![]()
视为等同。故而零元运算可以被视为
![]()
中的一个元素(例如不同代数结构中的“
单位元”,identity)。
定义2
代数的语言(或类型,type)是一个函数符号的集合
![]()
,使得
![]()
中的每个元素
![]()
都可以得到一个非负整数
![]()
的赋值。该整数被称为
![]()
的元数,
![]()
被称为一个
![]()
元函数符号。
![]()
中
![]()
元函数符号所构成的子集记为
![]()
。
定义3
如果
![]()
是一个代数语言,那么类型为
![]()
的
代数 ![]()
是一个有序组
![]()
,其中
![]()
是一个非空集合,
![]()
是一组
![]()
上的以语言
![]()
为指数的(indexed by)有限元运算,使
![]()
中的每一个
![]()
元函数符号
![]()
在
![]()
上都有一个对应的
![]()
元运算
![]()
。集合
![]()
被称为
![]()
的
全域(universe)(支撑集合/底层集合/支集, underlying set),
![]()
被称为
![]()
的
基本运算(fundamental operations)。(人们经常用
![]()
来指代
![]()
)。如果
![]()
是有限的,例如
![]()
,我们可以把
![]()
写成
![]()
。代数
![]()
是
一元的,当且仅当它的所有运算都是一元的,代数
![]()
是
单一一元(mono-unary)的,如果它仅有一个一元运算。
![]()
是一个
广群(groupoid),如果它只有一个二元运算(通常用
![]()
或
![]()
来表示,
![]()
在该二元运算下的的像通常记为
![]()
,
![]()
或
![]()
)。代数
![]()
是有限的,如果
![]()
是有限的;代数
![]()
是平凡的,如果
![]()
.
一般情况下,代数基本运算的元数不会超过2,即便是在抽象代数中!下面是一些代数的例子:
1. 群
群是一个满足下列恒等式(identity)的代数
![]()
:
Évariste Galois,法国数学家 1811-1832如果
![]()
成立,则该群为
阿贝尔群(交换群):
Niels Henrik Abel, 挪威数学家 1802-18292. 半群、幺半群
半群(semigroup)和幺半群(monoid)是对群的定义进行一般化的一个方向。另一个一般化的方向则可以得到拟群/伪群和环圈这两个概念。
半群是一个满足
![]()
的广群
![]()
。一个半群是阿贝尔半群,如果它满足
![]()
。幺半群是一个满足
![]()
和
![]()
的代数
![]()
。
3. 拟群/伪群、环圈
拟群(quasigroup)是一个有着三个二元运算的代数
![]()
,且满足
![]()
和
![]()
:
环圈(loop)是一个拟群加上一个单位运算/单位元(identity)
![]()
:满足
![]()
和
![]()
.
4. 环
环(ring)是一个代数<
![]()
,并满足下列条件:
![]()
是一个阿贝尔群
![]()
是一个半群
“有单位运算/单位元的环”(ring with identity)是满足
![]()
以及
![]()
的代数
![]()
。
5. (固定的)环上的模
设
![]()
为一个环,那么(左)
![]()
-模是一个满足下列条件的代数(其中
![]()
均为一元运算)
![]()
:
![]()
是一个阿贝尔群
设
![]()
为一个有单位元的环,那么酉
![]()
-模(unitary R-module)是一个满足
![]()
-
![]()
,以及
的一个代数。
6. 环上的代数
设
![]()
为一个有单位元的环,
![]()
上的代数(algebra over R)是一个满足下列条件的代数
![]()
:
![]()
是一个酉
![]()
-模
![]()
是一个环
7. 半格
半格是满足交换律
![]()
以及幂等律
![]()
的一个半群
8. 格
参见:Arjuna:格论学习笔记1:基础概念
偏序集,或云 poset,是一个有着二元关系
![]()
的集合
![]()
,对于
![]()
,满足下列条件:
- 自反性(reflexive,反射関係):
- 反对称性(anti-symmetric,反対称関係):
![]()
且
- 传递性(transitive,推移関係):
![]()
且
倘若该集合还满足 “
![]()
或
![]()
”(
完全性,totality,完全律),那么这个偏序集被称为
线性顺序集合(linear order,線型順序集合)或
链(chain,鎖)。
如果一个偏序集
![]()
的任意两个元素的集合
![]()
都有一个最小上界
![]()
和一个最大下界
![]()
,那么它是一个
格。
伊斯兰装饰艺术中存在着大量的格,其中的Penrose排砖法促进了量子力学的研究9. 有界格
一个有着两个二元和两个零元运算的代数
![]()
被称为有界格,如果它满足:
![]()
是一个格
10. 布尔代数
如果满足下列条件,代数
![]()
是一个布尔代数:
![]()
是一个有界格
![]()
是一个分配格
布尔代数可以为经典逻辑提供语义诠释。
George Boole, 英国数学家 1815-186411. 海廷代数
如果满足下列条件,代数
![]()
是一个海廷代数:
![]()
是一个有界格
![]()
是一个分配格
海廷代数可以为直觉主义逻辑提供语义诠释。
Arend Heyting,荷兰数学家、逻辑学家 1898 - 198012. n-值波斯特代数
代数
![]()
被称为n-值波斯特代数(n-valued Post algebra),如果它满足由代数
![]()
所满足的每一个恒等式,其中
![]()
是一个有界链(bounded chain),使得
![]()
且
![]()
.
n-值波斯特代数可以为多值逻辑提供语义诠释。
Emil Leon Post 美国数学家、逻辑学家 1954)13. n-维圆柱代数
给定
![]()
,有两个二元运算,
![]()
个一元运算和
![]()
个零元运算的代数
![]()
被称为 n-维圆柱代数(cylindric algebra of dimension n)如果它满足下列条件,其中
![]()
:
![]()
是一个布尔代数
![]()
如果
Tarski和Thonmpson引入圆柱代数,用以为谓词逻辑(predicate logic)提供代数描写。
Alfred Tarski 波兰裔美籍数学家、逻辑学家 1901-198314. 正交格、正交模格
代数
![]()
被称为正交格(ortholattice),如果它满足:
![]()
是一个有界格
如果一个正交格满足
![]()
,
我们就称之为正交模格(orthomodular lattice)。
正交格和正交模格在量子逻辑中有着重要的应用。
类型论驿站写作计划