函数式编程中的数学逻辑与历史发展
数学抽象的统一
Curry、Howard和Lambek发现,在一定的抽象层面上,所有数学理论的结构都是相同的。我们可以将逻辑结构转化为范畴类,再将其转变为类型理论。范畴论可以描述宇宙中的所有态射,进而描述所有活动。
例如,从波理论的角度看,电磁场中的光子粒子、飞行中的足球和一个有弹性的C音符(音乐音符)都可以看作是同一个问题;从向心力的角度看,它们同样是同一个问题,只是处于不同的情境中。当我们抽象掉所有非本质的细节后,剩下的就是数学结构。
使用这种抽象的好处是,我们开始看到以前隐藏的事物之间的联系。理解这些概念的软件工程师更有能力进行数据分析,学会应用函数式编程概念的软件工程师能够构建更可靠的解决方案,这些解决方案可以在云原生集群的多个核心和多个计算实例上进行水平扩展。
证明理论与逻辑连接词
证明理论是数学的一个分支,我们在其中做出假设并应用逻辑来证明某些事情。例如,如果a和b可以被证明为真,那么a为真,b也为真。
逻辑连接词在软件中用于证明某个陈述是否为真,以下是一些重要的逻辑连接词及其含义:
| 符号 | 数学名称 | 英文名称 | Go运算符 | 示例 | 含义 |
| — | — | — | — | — | — |
| ¬ | 否定 | NOT |! | ¬a | 非a |
| ∧ | 合取 | AND | && | a ∧ b | a和b |
| ⊕ | 异或 | exclusive or (XOR) | NA | a ⊕ b | 要么a要么b(但不是两者都) |
| ∨ | 析取 | OR | || | a
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



