mic*_*hid 9 haskell fixpoint-combinators
在 Haskell 中关于不动点的文本中,经常提到最小和最大不动点。例如在Data.Functor.Fixedpoint文档或这里。
最少和最多暗示所涉及类型的顺序(或者仅在固定点上定义它就足够了?)无论如何,我从未见过这个顺序被明确表示。
在 Haskell 中,一个不动点大于另一个不动点的正式含义是什么?
函子的至少固定点˚F是用于初始代数˚F,即,在所述类别中的初始对象˚F -代数由算符定义。我们可以在代数上定义一个前序,c <= d如果存在从c到的态射d。根据初始对象的定义,存在从初始代数到其他所有代数的态射。这使得初始代数成为定义排序的“最少”元素,因为初始代数比任何其他对象“先于”更多的对象,而不是在初始对象之前没有任何东西。
同样地,最大的固定点˚F是用于终端余代数˚F。一个类似的论证使它成为F- coalgebras范畴中态射引起的排序中的最大元素。