然而,它们中的许多都需要判断两个元素是否“相等”。正如引用所述,标准库确定了a == b iff !comp(a, b) && !comp(b, a)。显然,判断等值需要两倍的时间。正如我们所知道的,std::string::compare方法返回一个int值,它分别用负值、零值和正值表示“较少”、“相等”和“更大”。
虽然我知道单价的否定实际上是某些同构类型是不相等的,但我认为应该可以表示没有同构类型(不完全相同)是相等的。类型构造函数的不等式能办到吗?上下文
我有一个多态判断(实际上是带有参数forall X : Type, x -> Prop的归纳类型),其X的选择由判断的构造函数决定。即使对于具有相同基数的类型,这些类型相等假设也会出现,所以我