异质相等

依值类型论中, 异质相等类型 (又叫 John Major 相等类型) 指一种相等类型的变种. 它形成规则如下:

作为对比, 一般的相等类型形成规则要求 而不是 .

为了与异质相等类型区分, 一般的相等类型也称为同质相等类型. 它的构造规则也是用自反性定义, 即 .

将该类型以英国政治家 John Major 命名出自 Conor McBride 的博士论文 [McBride 1999, § 5.1.3], 原因是 John Major 想要跨越阶级的平等, 精神上类似在类型论中讨论不同类型之间的相等, 而 John Major 并没有实现这个目标——不同阶级之间难以有平等, 精神上类似异质相等类型的构造子依然仅允许相同类型的值相等.

1消去规则

异质相等类型可以看作是一种归纳族:

形成规则

构造规则

但它可以选用两种不同的消去规则. 一种与 J 公理类似:

这个规则蕴涵 K 公理, 因为构造规则的类型 和形成规则的类型中有两处不同. 若将它 Ford 化可知它其实是两个连着的相等:

换言之异质相等 应该与同质相等 等价, 而如果使用和同质相等类似的消去规则就相当于忽视了第一个等价, 也就是在断言任何类型之间的相等都是平凡的.

我们也可以重新定义消去规则使得它需要额外提供类型 之间的相等, 这样做的话异质相等类型就不再有任何特殊性了.

2宇宙层级

异质相等类型 Ford 化后用到了宇宙, 因此在没有宇宙的类型论中只能定义蕴含 K 公理版本的消去规则.

在有宇宙层级的类型论中, 若使用不蕴涵 K 公理版本的消去规则, 那么异质相等类型会比同质相等类型的层级高 . 假设 , 因此 . 回顾同质相等类型因此 , 因此 , 而 .

3参考文献

Conor McBride (1999). “Dependently Typed Functional Programs and their Proofs.”. (web)

术语翻译

异质相等英文 heterogeneous equality