星期一 2 Jul 2007
关系
Posted by path2math under A.前言和一点集合论
No Comments
用集合论的语言,一个关于集合 A1, A2, … , An 中的元的 n 项关系,定义为集合 A1 × A2 × … × An 的子集 R。对于 a1∈A1, a2∈A2, … , an∈An,如果 ( a1, a2, … , an ) ∈R,我们就说 a1, a2, … , an满足关系 R。
但是这定义其实也是怎么都好。一个关系,就是数学语言中的一个谓语,我们用它来构成一个句子或者说命题的主干部分。最为常见的关系,大概是要数表示相等的“等于”和表示大小的“大于”、“小于”了吧。几乎每一个数学系的学生都会首先学到这两种关系,或者更精确的说,这两种关系中的逻辑结构。
等价关系
如果一个二项关系~满足以下条件,我们就称其为等价关系:
- x ~ x。
- 如果 x ~ y,则 y ~ x。
- 如果 x ~ y, y ~ z,则 x ~ z。
相等当然是等价关系。对于任意一个对象 x,所有和 x 等价的对象的全体称为 x 的等价类。如果这是定义在某个集合 A 上的等价关系,那么等价类把 A 分成几个互不相交的子集。我们把每个等价类看作是一个单独的对象,由这些等价类为元组成的集合称为集合 A 的(关于 ~ 的)商集合。
“明白了商集合,就是数学初段。”(XX语)这话很有道理。商集合体现了数学的一个重要特征,那就是一个对象的表示不一定是唯一的。比如说我定义如果两个自然数除以6的余数相同,就称它们同余。同余是一个等价关系。在这个等价关系下,我说“1”怎么怎么样和说“7”怎么怎么样是一个意思,因为我们已经把1和7看成是一样的东西了。我想每个小学生在听到“1 = 0.9999999…”的时候心灵都会受到一定的冲击。在我看来,这个时候对他们解释实数、极限之类,或者小数的分数表示之类,或者小数的加减法之类,都是没有说到点子上。在这件事上我们的心灵受到的冲击是来自于一种原始的直观我们认为在我们的十进制记数系统下每个数的表示都是唯一的,但其实不是的。在我看来正是这种不唯一性让我们感到焦虑不安。在那一瞬间我们开始怀疑自己本能的感觉:我们甚至不知道两个东西是不是相等。
在我上面举的两个例子中,情况还稍微有点不同。比如我们可以规定说,总是用0,1,2,3,4,5来表示除以6的6个同余等价类。我们遇到说7怎么怎么样的时候都自动的把7换成1。对于小数也是一样。我们遇到说0.2199999…怎么怎么样的时候都自动把它换成0.22。我想大多数的普通人都是这么处理的。但是在真正的数学中,这样的“规定”很多时候都不现实而且没有意义,甚至会让论证变的复杂。你要做的是习惯于面对“表示不是唯一的”这样的状况。这种状况的最典型的例子出现在要定义一个商集合到另一个集合的映射的时候。请不要把商集合单纯的理解成“等价类们的集合”,虽然我们确实是这么定义的。除非在很特殊的情况下,等价类通常都是抽象的虚无飘渺很难把握的概念。请把一个集合的商集合理解成,“还是那个集合,只不过把其中的一些元看成是一样的”。所以说一个集合 A 的商集合的元,通常写成 [ a ] 的形式,其中 a 是集合 A 的元而中括号 [ ] 提醒我们现在正在讨论的是另一种等价关系。在不至于引起误解的时候,甚至连中括号都省略。这样你该很容易明白了,要定义集合 A 的一个商集合到另一个集合B的映射,等于说是定义一个从 A 到 B 的映射,满足“等价的两个元的像是相等的”这个条件。这个条件通常被称为well-defined,映射能够正当地被定义的意思。
等价类的一个元有时被称为这个等价类的代表元。如果从每个等价类中都选出一个代表元,这些代表元组成的集合被称为代表系。选取一个代表系的过程相当于上一段开头所说的“规定”的过程。
顺序关系
如果一个二项关系 ≤ 满足以下条件,我们就称其为偏序关系:
- x ≤ x。
- 如果 x ≤ y 且 y ≤ x,则 x = y。
- 如果 x ≤ y, y ≤ z,则 x ≤ z。
偏序关系是数的大小关系的类似,这种类似的唯一不足之处在于,偏序关系并不保证任意的两个元总可以比较大小。补上这个不足之后的关系称为全序关系。
如果在某个集合上定义了一个偏序关系,我们有时会说这是一个偏序集合或这个集合具有偏序结构。有“结构”就有“保持结构不变的映射”。所以对于两个偏序集合 A、 B,一个从 A 到 B 的保序映射 f 定义为从 A 到 B 的满足以下条件的映射:
对于 A 中任意两个元 x、 y,如果 x ≤ y,则(在 B 中)有 f ( x ) ≤ f ( y )。
具有非全序的偏序结构的一个典型例子是一个集合 A 的幂集合 ℘ ( A ) ( A 的所有子集组成的集合)上由包含关系 ⊆ 定义的偏序关系。对于任意的映射 f: A → B,我们可以定义 f: ℘ ( A ) → ℘ ( B ) 和 f-1: ℘ ( B ) → ℘ ( A ) 分别把 A 的子集 U 映到 f ( U ) 和把 B 的子集 V 映到 f-1 ( V )。(参看前一篇《映射》。)显然这两个映射都是保序映射。但是如果我们还另外在幂集合上考虑 ∩、 ∪ 两项运算,这运算在幂集合上定义了另一种结构(这结构有时叫做“布尔代数”,把布尔代数和包含关系放在一起考虑的结构则称为“lattice”),这时 f-1 仍然是保持这种结构不变的,但 f 就不是了。(仍然参看前一篇《映射》。) f: ℘ ( A ) → ℘ ( B ) 和 f-1: ℘ ( B ) → ℘ ( A ) 有时被称为是由 f: A → B 诱导的映射,由于 f-1 是从 ℘ ( B ) 到 ℘ ( A ),所以称为反变,相应的 f 是从 ℘ ( A ) 到 ℘ ( B ) 所以称为共变。诱导、共变、反变云云,都是范畴论的概念,这里就不多说了。
对于一个定义了偏序关系的集合,显然在它的任意子集上也同样定义了偏序关系。这个子集上的偏序关系有时被说成是“子集继承的偏序结构”。如果一个子集继承的偏序结构在这个子集上正好是一个全序,则把这个子集叫做全序子集。
我们说 a 是一个偏序集合中的极大元,如果这集合中再没有比 a 更大的元了。极小元也是同样地定义。极大/极小元可能不存在,也可能有好几个。但是显然当这顺序是全序的时候,极大/极小元如果存在就只有一个,称为最大/最小元。