形式陈述
从集合 A 到集合 B 的有类型二元关系 是三元组 ( A , B , R ) ,其中
R ⊆ A × B . A × B 是笛卡尔积 理路 笛卡尔积 Cartesian product · Direct product of sets 由各坐标分别取值形成的有序元组集合;二元情形记作 A×B。 ,包含所有允许考虑的有序对;子集 理路 子集 Subset · Set inclusion A 的每个元素都属于 B 时成立的包含关系;它在集合之间形成偏序。 R 选出其中成立的那些对。简写 a R b 表示 ( a , b ) ∈ R 。源集和目标集已固定时,也常直接把 R 称为关系。
声明的类型与实际参与关系的元素要分开:
dom R = { a ∈ A : ∃ b ∈ B , a R b } , ran R = { b ∈ B : ∃ a ∈ A , a R b } . 前者收集至少有一个配对的源元素,后者收集至少被配对一次的目标元素,分别称实际定义域和实际值域。它们可能是 A , B 的真子集。例如声明学生名单时,尚未选课的人仍在源集中,却不在选课关系的实际定义域中。逆关系 R − 1 从 B 到 A ,通过交换每一对的坐标定义:b R − 1 a ⟺ a R b 。
若 R : A → B 、S : B → C 是关系,其复合是从 A 到 C 的关系
a ( S ∘ R ) c ⟺ ∃ b ∈ B ( a R b ∧ b S c ) . 这里箭头仅标记源与目标,不意味着函数。符号 S ∘ R 表示先走 R 、再走 S ,中间元素 b 是两段连接的见证。
有限元关系
一阶语言和数据库还使用有限元关系。给定有序的 n 个坐标集合 A 1 , … , A n ,一个 n 元关系由这些声明的坐标类型与子集
R ⊆ ∏ i = 1 n A i 组成;成员是 n 元组。当各坐标都是 M 时,写作 R ⊆ M n 。二元关系就是 n = 2 的情形,但不能把一般的三元组不加说明地当成原来的有序对。例如三元关系可以同时记录学生、课程和成绩;相同的学生与课程还需要第三个坐标才构成完整记录。
允许 n = 0 时,M 0 = { ( ) } 只有空元组,因此零元关系只有 ∅ 与 { ( ) } 两种,分别编码假与真。一阶结构中的零元谓词由此可承载命题字母。本页的逆关系、源目标覆盖性和二元复合公式仍针对前面的二元接口;多元关系的坐标重排或连接须另外指明哪些坐标对应。
直觉
关系可以看作一张“哪些配对成立”的清单。课程与学生之间的选课关系中,一个学生可以选多门课,一门课也可以有多个学生;没有选课的学生仍可能属于声明的学生集合。关系既不自动保证有配对,也不自动保证配对唯一。
当声明的载体 A , B 都是有限集时,关系可以表示成矩形的零一表:行对应 A ,列对应 B ,位置 ( a , b ) 上的 1 表示 a R b 。反向查询把行列互换,关系复合则检查是否存在中间列与中间行能够接通。
若矩阵分别为 M R , M S ,复合的 ( a , c ) 项为 ⋁ b ∈ B ( M R ( a , b ) ∧ M S ( b , c ) ) :乘法换成“且”,求和换成“或”。普通整数矩阵乘法会累计路线条数,布尔运算只保留有没有路线。这种表示统一了成员判定与连接操作,但表格本身不决定配对在具体领域中代表什么。
例子与边界
用一次复合完成两步查询
设学生集合为 甲 乙 A = { 甲 , 乙 } ,课程集合为 算 法 数 据 库 B = { 算法 , 数据库 } ,教师集合为 林 周 C = { 林 , 周 } 。选课关系与授课关系分别是
甲 算 法 甲 数 据 库 乙 数 据 库 R = { ( 甲 , 算法 ) , ( 甲 , 数据库 ) , ( 乙 , 数据库 ) } , 算 法 林 数 据 库 林 数 据 库 周 S = { ( 算法 , 林 ) , ( 数据库 , 林 ) , ( 数据库 , 周 ) } . 先从甲出发:沿算法可到林,沿数据库可到林和周,因此得到 甲 林 ( 甲 , 林 ) 、甲 周 ( 甲 , 周 ) 。乙只选数据库,但也能到林和周。四种学生—教师配对都成立,所以 S ∘ R = A × C 。
按上述学生、课程、教师的列举顺序,两张关系表为
M R = ( 1 1 0 1 ) , M S = ( 1 0 1 1 ) . 普通矩阵乘积是 ( 2 1 1 1 ) ,左上角的 2 数出了甲到林的两条路线;把非零项改为 1 ,才得到复合关系的零一表。结果集合只包含一次 甲 林 ( 甲 , 林 ) ,因为它判断有没有路线,而不是记录路线有几条。
逆关系也不是普通函数的逆函数。上例的 R − 1 把数据库课程关联到两位学生,仍是一对多;交换箭头总能定义逆关系,得到逆函数则需要原函数是双射。
同一张关系图,不同的类型
图 R = { ( 1 , 1 ) } 可声明为从 { 1 } 到 { 1 } 的关系,也可声明为从 { 1 } 到 { 1 , 2 } 的关系。两者都覆盖源集,但第二个没有覆盖目标中的 2 。因此只扩大目标集改变的是目标覆盖性,不改变源集的全域性 。
若改为从 { 1 , 2 } 到 { 1 } ,同一张图则遗漏源元素 2 ,不再全域。这说明不能只从实际投影恢复原先声明的类型;函数的定义域与陪域,也需要作为数据明确保留。
齐次关系的公理各管什么
当源与目标都是 A 时,称为 A 上的关系。常见性质是:
性质
条件
要求
自反
a R a
每个元素联系自己
对称
a R b ⇒ b R a
联系可以反向
反对称
a R b ∧ b R a ⇒ a = b
不同元素不能双向联系
传递
a R b ∧ b R c ⇒ a R c
两步联系可以接成一步
条件均对 A 中相关变量全称量化。反对称不是“对称不成立”:相等关系同时对称、反对称。正整数上的整除关系自反、反对称、传递,但 2 , 3 互不整除;它给出偏序 理路 偏序 Partial order · Partially ordered set 满足自反、反对称和传递性的关系。 ,而不是全序。
推论与应用
从关系得到不同结构
要求每个 a ∈ A 恰好关联一个 b ∈ B ,得到带陪域的函数 理路 函数 Function · Map · Mapping 由定义域、陪域和单值图共同组成,并把每个输入送到唯一输出的映射。 。只要求至多一个输出,得到部分函数。要求自反、对称、传递,得到等价关系 理路 等价关系 Equivalence relation 满足自反、对称和传递性的关系。 ;将对称改为反对称,则得到偏序。这些约束有不同目的,不能默认一般关系同时满足它们。
关系复合满足结合律,因为两种括号都要求存在相同的两个中间见证:
T ∘ ( S ∘ R ) = ( T ∘ S ) ∘ R . 恒等关系 Δ A = { ( a , a ) : a ∈ A } 是相应类型上的单位。逆关系会反转复合顺序:( S ∘ R ) − 1 = R − 1 ∘ S − 1 。复合一般不交换,有时反向复合连类型都不匹配。
一步转移与任意步可达
对 A 上的关系 R ,令 R 0 = Δ A ,R n + 1 = R ∘ R n 。那么
R + = ⋃ n ≥ 1 R n , R ∗ = ⋃ n ≥ 0 R n 分别是传递闭包与自反传递闭包。“闭包”指包含原关系且满足指定性质的最小关系:有限路线首尾相接仍是有限路线,所以 R + 传递;任何包含 R 的传递关系又必须包含每条有限路线的首尾对。若 R 是图的邻接关系,R + 允许至少一步,R ∗ 还允许停在原地。图中只有一条边 a → b 时,R + 只有 ( a , b ) ,而 R ∗ 另含 ( a , a ) , ( b , b ) ;“可达”一词必须说明采用哪一种约定。
数据库连接、程序执行和图搜索都使用上述存在中间见证的机制。标号转移系统 理路 标号转移系统 Labeled transition system · Labelled transition system · LTS 在状态转移上标记动作,明确路径、可达性、使能动作以及终止与死锁的行为模型。 再给转移附上动作,模拟关系 理路 模拟关系 Simulation relation · Forward simulation 用方向性的状态关系要求一个系统的每步行为能够由另一个系统匹配。 则用一套状态之间的关系比较两套系统的行为;它们复用关系运算,但各自还需独立的语义条件。
参考资料
Eric Lehman、F. Thomson Leighton、Albert R. Meyer,Mathematics for Computer Science ,2015,§4.4、§9.4、§9.11:二元关系、路关系与性质比较。
Jeremy Avigad、Joseph Hua、Robert Y. Lewis、Floris van Doorn,Logic and Proof , 第 13 章 ,在线版 3.18.4,2026 年访问,§13.1、§13.3:序关系与等价关系的定义。
Paul R. Halmos,Naive Set Theory ,1960,§7:关系的集合论表示。