Function 函数式编程中的所有纯函数都是连续的吗?

Function 函数式编程中的所有纯函数都是连续的吗?,function,haskell,math,functional-programming,purely-functional,Function,Haskell,Math,Functional Programming,Purely Functional,我知道Haskell函数集只是所有数学函数的子集,因为它是一种编程语言,所以它的所有函数都必须是可计算的。但是,从数学的角度来看,所有Haskell函数(以及一般的纯函数)都是连续的吗?可计算函数在Scott连续性的意义上是连续的,您链接到的Wikipedia页面的第二段中提到了这一点 非连续函数的一个例子是(伪Haskell) 它不能连续,因为 () : () : () : ... 是序列的上确界 _|_ () : _|_ () : () : _|_ ... _|_ = isInfinit

我知道Haskell函数集只是所有数学函数的子集,因为它是一种编程语言,所以它的所有函数都必须是可计算的。但是,从数学的角度来看,所有Haskell函数(以及一般的纯函数)都是连续的吗?

可计算函数在Scott连续性的意义上是连续的,您链接到的Wikipedia页面的第二段中提到了这一点

非连续函数的一个例子是(伪Haskell)

它不能连续,因为

() : () : () : ...
是序列的上确界

_|_
() : _|_
() : () : _|_
...
_|_ = isInfinite (_|_)
_|_ = isInfinite (() : _|_)
_|_ = isInfinite (() : () : _|_)
...
但是

不是序列的上确界

_|_
() : _|_
() : () : _|_
...
_|_ = isInfinite (_|_)
_|_ = isInfinite (() : _|_)
_|_ = isInfinite (() : () : _|_)
...

可计算函数是连续的,本质上是因为在有限的时间内,函数只能检查有限的输入。因此,如果一个可计算函数在一个特定的输入上返回,比如说,
True
,那么它必须在一组输入中的每个输入上返回
True
,这些输入在某个有限的观测集合上与原始输入一致。任何收敛到原始输入的递增序列最终都会落在该集合内,因此该递增序列上的函数值序列将收敛到
True


连续函数不一定是可计算的。例如,任何保序函数
Integer->Bool
都是连续的,因为
Integer
是平面域。当然,其中只有可计算的部分。

@HarryDeveloper1212我认为这是一个好问题。为了(我希望)澄清我对这个问题的理解,我做了一些编辑。如果您对我的更改不满意,请随时再次将其放回原处。