在精益中,是否可以将 decidable_linear_order 与用户定义的相等关系一起使用?

In Lean, is it possible to use decidable_linear_order with a user defined equality relation?

Lean 带有一个 decidable_linear_order 类型class,其中包含关于排序及其与相等关系的有用引理,例如:

lemma eq_or_lt_of_not_lt [decidable_linear_order α] {a b : α} (h : ¬ a < b) : a = b ∨ b < a

这些排序中的等式都用=:

表示
inductive eq {α : Sort u} (a : α) : α → Prop
| refl : eq a

我想知道是否有可能以某种方式扩展这个class(及其超classes)以使用任意使用的自反定义的相等关系R: α → α → Prop ,对称的和传递的,或者只有通过重写所有相关引理及其证明以使用 R 而不是 eq 才能实现?

因为这些 类 没有被相等关系参数化,你确实必须重新实现它们(也许元编程可能对此有所帮助)。或者,因为你有一个等价关系,你可以在商类型上定义你的订单,所以继续使用 eq.