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