内容简介
本书从七个方面介绍了计算机程序的数学基础和原理,并以“同构”概念为线索揭示出编程本质上是和数学同构的。这七个方面分别是:数字、递归、对称、范畴、融合、无穷、悖论。第1章“数字”介绍皮亚诺算术公理系统。通过5条公理,构筑了计算机程序大厦的基石。通过单向链表,斐波那契数列等例子,展示了和自然数同构的计算结构。第2章介绍递归。通过欧几里得算法作为开端,把递归的数学原理构建在Lambda演算和Y组合子之上。第3章通过对称介绍群、环、域等抽象代数结构,并解释伽罗瓦理论这一抽象思维的明珠。第4章介绍范畴论。把列表、异常、多态、类型系统、复合数据结构等众多编程概念构筑在范畴论的基础上。第5章介绍融合律。它是进行算法推导和优化的有力工具。第6章介绍无穷。给出了康托尔的无穷集合论和超限数概念,介绍了编程中流的概念和无穷的关系。第7章以罗素悖论、可计算性和哥德尔不完全性定理结束本书。介绍了计算能力的边界和对编程基础哲学的影响。
AI简介
这是一本深度探讨计算机程序与数学基础之间同构关系的著作。全书从七个方面介绍了计算机程序的数学基础和原理,并以 “同构” 概念为线索揭示出编程本质上是和数学同构的。这七个方面分别是:数字、递归、对称、范畴、融合、无穷、悖论。
数字一章,通过皮亚诺算术公理系统,构筑了计算机程序大厦的基石。同时,展示了和自然数同构的计算结构。递归一章,从欧几里得算法开始,把递归的数学原理构建在Lambda演算和Y组合子之上。对称一章,通过对称介绍群、环、域等抽象代数结构,并解释伽罗瓦理论这一抽象思维的明珠。范畴一章,把列表、异常、多态、类型系统、复合数据结构等众多编程概念构筑在范畴论的基础上。融合一章,介绍了叠加-构建的融合,它是进行算法推导和优化的有力工具。无穷一章,给出了康托尔的无穷集合论和超限数概念,介绍了编程中流的概念和无穷的关系。悖论一章,以罗素悖论、可计算性和哥德尔不完全性定理结束本书,介绍了计算能力的边界和对编程基础哲学的影响。
在《同构:编程中的数学》中,作者以数学的视角重新审视了计算机程序,揭示了计算机程序与数学之间的内在联系。作者以同构概念为线索,从数学的角度重新定义了计算机程序,展