在我的 Isabelle 形式化中,我正在处理有限的自然数集,在这些集上我想考虑具有线性顺序属性的函数。
我看到图书馆中有几种不同的订单形式,但我不确定要重用哪一种。在大多数情况下,我想检查它们是否为线性顺序的那些函数将简单地通过使用库运算符(如<
( less
))来定义,但在某些情况下,它们可能被定义为更复杂的库函数组合。
我试过HOL/Library/Order_Relation
了,但似乎没有连接到<
;例如,我无法自动证明以下引理:
lemma "linear_order_on {1::nat, 2} {(a::nat, b) . {a, b} ⊆ {1::nat, 2} ∧ a < b}"
(我确信有更好的方法将函数转换为关系,但这不是这里的重点。)
如果有一些现成的库可以让我知道,我会很感激。以数学上优雅的方式对此进行建模现在对我来说并不是最重要的,所以现在我正在考虑使用将有理数或实数分配给我的集合中的自然数的函数,然后<
在这些有理数/实数上使用数字。