读《编程的数学原理》
读书目标
计算机程序其实就是一个形式系统
算法就是数学
- 掌握编程范式
- 组合与抽象
- 集合与逻辑
- 函数与关系
- 组合与时序
- 数理逻辑五个部分:逻辑演算、证明论、公理集合论、递归论、模型论
第一章自然数
- 几何原本
- 公理化系统
- 皮亚诺公理(Peano Axioms)
- 归纳公理
- 皮亚诺算数系统
- 自然数与计算机程序
- 公理化的加法乘法定理
- 递归函数
- 累加与阶乘
- 自然数同构
- 自然数同构于数据结构
第二章递归
- 欧几里得算法
- λ\lambdaλ演算
- 计算模型
- 图灵机
- 可计算问题
- 递归函数
- 元数学:对计算本身进行形式化
- 函数与函数的值
- 表达式化简
- 函数的“科里化”(Currying):认为所有的函数都只接受一个参数
- λ\lambdaλ表达式包括
<表达式> = <常量> 内置的常量,数字、布尔值等
| <变量> 变量名
| <表达式> <表达式> 应用
| λ\lambdaλ<变量> . <表达式> λ\lambdaλ抽象
-
λ\lambdaλ抽象
-
λ\lambdaλ变换规则
-
自由变量与绑定
-
环境与上下文
-
α\alphaα变换,变量名替换
-
β\betaβ变换,绑定形参值,实现函数应用
-
β\beta

本文深入探讨了《编程的数学原理》,阐述了计算机程序与形式系统的关系,强调算法即数学。从自然数的皮亚诺公理开始,讨论递归和计算模型,涉及λ演算、图灵机、可计算性问题,以及逻辑演算和哥德尔不完全性定理。通过对数学原理的解析,展示了它们在编程和计算理论中的重要性。
最低0.47元/天 解锁文章
1002





