最小不动点,最大不动点
Least fix point, greatest fix point
为什么在像 Haskell 这样的惰性非完整语言中,最小固定点与最大固定点重合。完整偏序的连续性与此有什么关系?
在 CPO(我们将类型解释为)中,任何递增链都有一个最小上限。
这里有一个例子可以传达直觉,为什么在 CPO 域中,最小不动点和最大不动点重合。考虑以下仿函数,为了简洁起见滥用了列表表示法:
data ListF a x = [] | a : x
它最大的固定点是Haskell列表的类型(可能是无限的,可能是部分的)。它的最小不动点呢?其中必须包含以下元素(省略Fix
个构造函数):
0 : _|_
0 : 1 : _|_
0 : 1 : 2 : _|_
...
并且它们形成一个递增链,所以必须有一个最小上界,它必须是自然整数的无限列表0 : 1 : 2 : ...
。所以 ListF
的最小不动点包含无限列表,因此与最大不动点重合。
正如评论中所指出的,最大不动点由类型 []
给出的说法可能需要澄清。例如,一些由大序数索引的列表的 CPO“BigList
”不会产生更大的不动点吗?
首先可以证明 []
满足最终 ListF
-coalgebra 的定义。那么,最终余代数的一个属性就是它们在同构上是唯一的。因此,由较大序数索引的列表将导致非同构 CPO,因此不能成为最终的余代数。
我可以就此打住,但等等,BigList
不还是ListF
的更大不动点吗?我的结论是将问题归结为错误的术语,正式地我们应该只讨论 "final coalgebras",而不是 "greatest fixed points"。
根据您如何定义 CPO 中函子的 "fixed point" 以及 CPO 之间的(预)序概念,您可能会发现 BigList
是 [=14= 的不动点],它大于 []
,你 运行 在达到 "greatest fixed point" 时陷入集合论悖论,最终对 Haskell 从业者没有任何价值以这种形式化 "greatest fixed point" 的方式,因为您实际上想要最终煤代数的良好特性。
(我很想知道一种直接定义 "fixed point" 的方法,将 BigList
排除在外。)
因此,术语 "greatest fixed point" 也可能是 "final coalgebra" 的同义词。有些直觉会延续("fixed points" 通常可以通过迭代来接近),有些则不会(在集合论意义上它不是 "greatest")。
为什么在像 Haskell 这样的惰性非完整语言中,最小固定点与最大固定点重合。完整偏序的连续性与此有什么关系?
在 CPO(我们将类型解释为)中,任何递增链都有一个最小上限。
这里有一个例子可以传达直觉,为什么在 CPO 域中,最小不动点和最大不动点重合。考虑以下仿函数,为了简洁起见滥用了列表表示法:
data ListF a x = [] | a : x
它最大的固定点是Haskell列表的类型(可能是无限的,可能是部分的)。它的最小不动点呢?其中必须包含以下元素(省略Fix
个构造函数):
0 : _|_
0 : 1 : _|_
0 : 1 : 2 : _|_
...
并且它们形成一个递增链,所以必须有一个最小上界,它必须是自然整数的无限列表0 : 1 : 2 : ...
。所以 ListF
的最小不动点包含无限列表,因此与最大不动点重合。
正如评论中所指出的,最大不动点由类型 []
给出的说法可能需要澄清。例如,一些由大序数索引的列表的 CPO“BigList
”不会产生更大的不动点吗?
首先可以证明 []
满足最终 ListF
-coalgebra 的定义。那么,最终余代数的一个属性就是它们在同构上是唯一的。因此,由较大序数索引的列表将导致非同构 CPO,因此不能成为最终的余代数。
我可以就此打住,但等等,BigList
不还是ListF
的更大不动点吗?我的结论是将问题归结为错误的术语,正式地我们应该只讨论 "final coalgebras",而不是 "greatest fixed points"。
根据您如何定义 CPO 中函子的 "fixed point" 以及 CPO 之间的(预)序概念,您可能会发现 BigList
是 [=14= 的不动点],它大于 []
,你 运行 在达到 "greatest fixed point" 时陷入集合论悖论,最终对 Haskell 从业者没有任何价值以这种形式化 "greatest fixed point" 的方式,因为您实际上想要最终煤代数的良好特性。
(我很想知道一种直接定义 "fixed point" 的方法,将 BigList
排除在外。)
因此,术语 "greatest fixed point" 也可能是 "final coalgebra" 的同义词。有些直觉会延续("fixed points" 通常可以通过迭代来接近),有些则不会(在集合论意义上它不是 "greatest")。