数学结构主义

维基百科,自由的百科全书
跳转至: 导航搜索

数学哲学中,结构主义构造主义认为要证明一个数学对象存在就必须把它构造出来。如果假设一个对象不存在,并从该假设推导出一个矛盾,对于结构主义者来说,不足以证明该对象存在。见构造性证明

结构主义常常和直觉主义混淆,实际上,直觉主义只是结构主义的一种。直觉主义强调数学的基础建立在数学家们个人的直觉上,这样就把数学在本质上作为一种主观活动。结构主义不这样强调,并和对数学的客观看法保持一致。

构造主义数学[编辑]

构造主义者的数学使用构造性逻辑,该逻辑将真实性证明等同起来。要构造性的证明P \or Q,我们必须证明PQ,或两者同时成立。要构造式的证明\exists_{x\in X} P(x),我们必须给出一个特定的a\in X和一个P(a)的证明。要构造式的证明\forall_{x\in X} P(x),我们必须给出一个算法,它对于每个a \in X输出一个P(a)的证明。

构造主义同时拒绝采用无穷对象,例如无穷集合和序列。

实分析中的例子[编辑]

在经典实分析中,实数构造的方法之一是把它作为有理数柯西列对。这个构造在构造主义数学中不成立,因为序列是无穷的。

作为替换,我们把实数表示为一个算法f,它取一个正整数n然后输出一对有理数(f_\ell(n), f_r(n))使得

m \le n \implies f_\ell(m) \le f_\ell(n)
m \le n \implies f_r(n) \le f_r(m)
0 \le f_r(n) - f_\ell(n) \le {1\over n}

使得当n增大,区间[f_\ell(n), f_r(n)]变小,而前n个这种区间的交不空。我们使用f来计算它所表示的实数的任何精度的有理数近似。

在这个定义下,实数\sqrt{2}可以用一个算法表示,它对于每个0 \le i \le n计算出最大的整数a_i使得a_i^2 \le 2i^2然后输出\left(\mathrm{max}\left\{{a_i \over i}\right\}, \mathrm{min}\left\{{a_i+1 \over i}\right\}\right)

这个定义和采用柯西列的经典定义相关,除了要求序列是构造式的:也就是说,我们有个计算第n个序列中的元素的算法,所以有一个计算任意精确的对\sqrt{2}的有理数近似的算法。

注意构造性要求使得上述定义和通常非构造主义的实数定义不相容:因为每个算法\xi必须是一个有限指令集\Sigma上的有限序列,存在一个双射函数f: \Sigma^* \rightarrow \mathbb N。所以所有算法的集合和所有自然数的集合有同样的基数。当使用一个非构造式的定义时,康托对角线论证证明实数比自然数有更高的基数。

数学家们的态度[编辑]

传统上,数学家对于数学构造主义曾经持怀疑态度,如果不是完全反对的话,很大程度上这是因为它对构造分析的限制.

这些观点希尔伯特在1928年曾有强烈表示.他在《数学基础》(Die Grundlagen der Mathematik)写道:“把排中律从数学家那里拿走,就像把望远镜从天文学家那里拿走,或是从拳击手那里把拳头拿走一样”[1] (排中律构造性逻辑中不成立)。

Errett Bishop,在他1967年的著作《构造性分析学基础》(Foundations of Constructive Analysis)中,作了很多驱散这种恐怖,他的办法是用构造性的框架中发展出传统的分析学的大部分.

但是,不是所有数学家都认为Bishop非常成功,因为的他的书必须比经典分析教科书更复杂.

无论如何,多数数学家不认为应该把自己限制到构造主义方式,甚至当可以这样做时。[1]

对结构主义有贡献的数学家[编辑]

分支[编辑]

参见[编辑]

参考来源[编辑]

外部链接[编辑]