选择公理 (类型论)
1定义
定义 1.1. 考虑如下数据: 满足 是集合 (类型论), 并且对于每个 , 也是集合. 在语境 下, 选择公理是说如下命题:
这个定义出自同伦类型论, 但由于它只用到了 类型、集合、相等类型和逻辑截断类型, 而恰好逻辑截断类型有一个巧妙的 编码、集合可以用 K 公理表述, 因此也适用于大部分支持命题宇宙的依值类型论.
2解读
经典的选择公理最常见的表述为 “任何有元素的集合的 Descartes 积仍然有元素”. 这里, “ 有元素” 即对应命题 . 这样看, 定义 1.1 就是显然的类型论翻译. 下面给出一个更容易理解的定义解读.
我们一步步解读经典的选择公理:
考虑集合 , 且 , 都有 . 集合 表示 的所有元素的并.
这个定义本质上是要求存在一组集合, 且有一个集合 包含这些集合, 且这些集合可以取并. 这样看的话, 若使用 类型的思想, 就可以绕开集合 , 直接讨论一组集合和它们的并了. 我们使用类型的思路和集合 (类型论) 翻译它:
考虑集合 和 , 满足 , 都有 为非空集合. 类型 表示这些集合的并.
在类型论中, “存在” 的概念由逻辑截断给出, 因此上述条件可以描述为:
经典的选择公理在如上条件下给出一个选择函数, 即:
存在 使得
存在 使得
这样的选择公理在同伦类型论可以加入同伦类型论中. 若去掉关于集合的条件, 那么这样的选择公理可以证伪.
3性质
• |
计算
选择公理在运气好的情况下可以计算, 这是一般的公理难以做到的. 由于逻辑截断类型中的一个构造规则只是包裹了它里面的类型, 假设我们能在这种情况下 (违规地) 把它里面的元素取出, 选择公理就变成了如下形式:
这个函数的计算规则很显然: 直接返回参数即可. 但实际上逻辑截断类型并不只是简单地包裹了里面的类型, 它还有另一个构造器, 这个构造器就不能取出一个对应的元素, 这些情况下选择公理也就没法计算了.
排中律
选择公理蕴含类型论形式的排中律:
(...)
4推广
选择公理可以看作一种将某个操作 从 类型的 “里面推到外面” 的过程:
将 换成其它的操作, 比如双重否定 (类型论), 可以得到很多其它的公理.