Skip to content

关系

Relation · Binary relation

带源集与目标集的二元关系,其底层关系图是 A×B 的子集。

条目类型
定义

形式陈述

本库把“从 AB 的有类型二元关系”记为三元组 (A,B,R),其中 R笛卡尔积 A×B子集;简写 aRb 表示 (a,b)R。声明的源集 A 与目标集 B 是关系的类型数据,而实际投影和逆关系由

domR={aA:bBaRb},ranR={bB:aAaRb},R1={(b,a):aRb}

给出。若上下文已固定 A,B,也常把关系简称为底层有序对集合 R;此时 domR,ranR 仍是实际投影,不能反推出原先声明的源和目标。

RABSBC,它们的复合定义为

SR={(a,c)A×C:bB (aRbbSc)}.

中间类型 B 不是装饰:它保证见证元素 b 同时落在两个关系允许接合的位置。

直觉

底层关系图只记录哪些有序对象对被判定“相关”,类型数据则规定这些对象对被允许来自哪里。它不要求每个源元素都有输出,也不要求输出唯一、关系对称或传递;函数图、偏序和等价关系都可由关系加入相应约束得到。把图视为集合后,逆关系、复合、闭包和限制都可用集合运算统一定义,但复合的类型匹配仍依赖声明的源和目标。

例子与边界

自然数上的整除关系 ab 是齐次关系:它是 N×N 的子集,并满足反射、反对称和传递。它既不是“某个数值函数”,也不要求任意两数可比较;例如 23 互不整除。这个例子预告了偏序结构,而不需要在本页证明所有偏序定理。

类型数据不能从关系图恢复。同一个图 R={(1,1)} 可配成从 {1}{1} 的关系,也可配成从 {1}{1,2} 的关系;两者实际投影相同,却在全域性、满射性与可复合对象上不同。

R={(1,a),(1,b)} 是合法关系,但不是从 {1}{a,b} 的函数,因为输入 1 对应两个输出;“y2=x”也通常一对多。函数图还须让声明定义域中的每个元素恰有一个输出,并保留陪域这一类型数据。关系复合一般不交换,图上的可达关系则是邻接关系的传递闭包。

推论与应用

一般关系没有默认的反射性、对称性、传递性或函数性。等价关系加入反射、对称与传递,用等价类表达分类;偏序改用反对称性,表达可能存在不可比较元素的层级。

函数沿另一方向加约束:声明定义域中的每个输入必须恰有一个输出。分类、排序和求值都是从关系得到的结构,却不能把各自公理混成一张入口清单。

图边、数据库记录和程序的一步转移都可以使用关系表示,但“共享表示”不等于“共享语义”。转移关系描述系统允许怎样前进,标号转移系统还记录动作,模拟关系则比较两个系统的行为。复合与闭包提供共同运算;每个领域怎样解释一对元素,仍由相应后继条目负责。

参考资料
  • Paul R. Halmos, Naive Set Theory, 1960; Dover reprint 2017, §7。
  • Daniel J. Velleman, How to Prove It: A Structured Approach, 3rd ed., Cambridge University Press, 2019, Relations chapter。
关系图谱317 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
分类位置

上位 / 更一般

暂未标注直接上位概念。

下位 / 直接特例