现在定义了映射。我们就可以用映射来定义任意多个集合的笛卡儿积。设有一族集合 Ai, 其中 i 属于指标集 I (指标集的概念实际上也需要更加仔细,但是这里先省去)。这族集合的笛卡儿积里面的任一元素定义为一个从指标集 I 到所有 Ai 的并集的满足下列条件的映射 f:f(i) 属于 Ai. 著名的选择公理就是说如果 I 非空,每个 Ai 也都非空,那么至少存在一个这样的映射,也就是说,笛卡儿积非空。
在现代数学的概念体系中,以上的定义应该归于所谓 “构造性定义”,也就是通过描述这个对象里的元素来定义这个对象。如今流行的定义方式是所谓 “普适性质定义”。“普适” 是 universal 这个英语单词的一个翻译,其它翻译包括 “万有”,“泛”...... 我觉得 “泛” 这个翻译是很不错的,就是有时候放在白话文里面不太上口。那么什么是笛卡儿积的普适性质呢?用平面坐标系来看这个性质,就是:如果想指定一个 x 和一个 y, 那么只需要指定平面上一个坐标为 (x,y) 的点就行了。或者说,对任意集合 B, 如果给了一个 B 到 x 轴的映射和一个 B 到 y 轴的映射的组合,那么存在唯一的从 B 到平面的映射,使得它的像的 “坐标” 就分别是之前给定的那两个映射。推而广之, 一族集合 Ai 的笛卡儿积就是这么一个集合 A,首先它带有到各个因子的“投影” 映射 fi: A --> Ai; 然后它具有以下普适性质:对任意集合 B 和一族映射 gi: B --> Ai,存在唯一的映射 h: B --> A, 使得 gi * h = fi. 换句话说,任何一族分别到 Ai 的映射都可以由 “唯一” “一个” 到 A 的映射来代替。
普适性质里的 “唯一” 这个词很重要,它保证了由这个普适性质定义出来的对象在同构意义下是唯一的。如果 Ai 不止是集合,还带有一些结构,我们一般会把这些带有结构的集合以及它们之间的保持这种结构的映射放在一起称为一个 “范畴”。比如,群范畴,就是所有的群以及它们之间的同态。那么我们可以把以上定义中 “集合” 加强为 “群”,把“映射” 加强为 “同态”,从而定义出 “群” 这个范畴里的 “乘积”。这就是所谓群的 “直积”。
集合范畴的子范畴里的 “乘积” 有个特点。比如群 Ai 的直积,作为集合恰好还是 Ai 作为集合的笛卡儿积。在一个范畴里,所谓 “上乘积”,是一个具有普适性质的对象。这个普适性质跟 “乘积” 的普适性质是 “对偶” 的。一族对象 Ai 的 “上乘积” 是一个集合 X, 它带有从 Ai 到 X 的一族同态,然后满足以下性质:对任意对象 B, 一族分别从 Ai 到 B 的同态可以由 “唯一” “一个” 从 X 到 B 的同态来代替。这个普适性质相当于把定义 “乘积” 的普适性质里所有的映射箭头反向。
在集合这个范畴,“上乘积” 其实就是 “无交并”。一族集合 Ai 的无交并定义为 { (a, i) | a 属于 Ai }. 它比 Ai 的并集大,因为如果同一个元素在不同的 Ai 中,在做 “并” 运算的时候我们把它们等同起来,但是在做 “无交并” 运算的时候,我们用它们所属集合的指标把它们区分开来。在群范畴,“上乘积” 其实是群的 “自由乘积”。自由乘积作为集合当然不是因子群作为集合的无交并。所以,“上乘积” 的底层集合并不一定是底层集合的上乘积。本质的原因是,一族群的无交并没有一个自然的群结构,所以不在群这个范畴以内。同样道理,如果我们在交换群范畴中讨论,那么 “上乘积” 也不再是 “自由乘积”,而是交换群的 “弱直和”。所以 “上乘积” 不具有 “继承性”,子范畴的上乘积不一定是母范畴的上乘积。向量空间作为交换群,其 “弱直和” 仍然具有向量空间结构,所以从交换群范畴到向量空间范畴,上乘积得到了继承。
PS:
参见 http://en.wikipedia.org/wiki/Monoidal_category
更详尽的定义和性质参见电子书 http://www.math.sunysb.edu/~kirillov/tensor/tensor.html