我正在研究denotational semantics上的Haskell wikibook部分,我有点坚持这个练习:
证明通过定点迭代开始获得的固定点 也是最少的一个,它比任何其他都小 固定点。 (提示:是我们的cpo中最少的元素,g是 单调)。
以下陈述定义了导致练习的概念的核心(我认为):
其中f是阶乘函数,并且显示为g的固定点,假设g是连续的。
我认为我基本上理解了g(f)= f的部分,但我真的不知道该练习是做什么的。根据我的理解,阶乘函数f是最不固定的点(至少基于运算符)但我对它({直观地)将函数与{{3}进行比较意味着什么并不清楚? ,更不用说除了示例中显示的最小固定点之外我将如何找到固定点。
我理解比其他所有东西都少,而且我理解由于g(x)是单调的,如果我将它应用于两个东西,其中一个小于另一个,结果仍然会服从这个顺序。
我想我会以一些函数f'和假设开始证明。如果是这种情况,通过g的单调性质,我可以显示。如果我可以证明必须g(f')= g(f)或f'= f我认为证明是完整的但我不知道如何表明。
答案 0 :(得分:4)
设x
为序列bot, g(bot), g(g(bot)), ...
的上/下限。设y
为g
(单调)的任意固定点。我们想要证明x <= y
。
通过对迭代次数的归纳,很容易看出序列中的每个元素都是<= y
。实际上,它对于bot
来说很简单,如果z
是<= y
的单调性,我们会得到g(z) <= g(y) = y
。
因此,y
是序列的上限。但x
最少,x <= y
。 QED。