最近看了《逻辑的引擎》,心得写下:
(1)计算机的分层理论来自与集合论和系统的不可判定性(不明白为什么,也许是1为什么就是1的问题?待定),因为系统部可判定,但是系统内部是可计算的,所以说需要分层结构建立新的系统证明结构的正确性
(2)符号系统是用来证明数学的可证明行的有效工具
(3)从存在性转化为符号系统,在转化为编码形式,两个集合之间的对应关系式符号转化系统的基础
(4)数学中的集合和定义在集合上的操作,这种基本原型就定义了数据结构和命令语句的模型
(5)通过对计算机识别0/1序列这种最简单的数字,可以得出一个结论,复杂的问题都可以通过一层层的抽象分解成简单问题的集合,这也说明了数学的可解型。
(6)任何一门高级程序语言其实都是用自己的语言去解释更复杂的自然现象的过程,也就是必须通过解释程序将自己的符号系统转化为另一层的语义,而越高级的语言说明与正常的思维方式越相近,从逻辑上是更容易理解的语言。
(7)一种语言必须是自解释的,即必须将所有的问题空间通过自己的符号系统转化为可以解决和解释的语义
(8)由于问题空间的不完备性,任何一个符号系统,都会有新的数学问题超越它,也就是说,一个数学问题会引导产生更强的符号系统。C c++ Java
(8)在一个稳定的系统中,加入一个否定的命题,这就导致了整个命题结合的错误型,这就在无形中增加了系统的不稳定性。
(9)莱布尼茨是想把人的理性还原为一种计算,就是数理逻辑。
(10)由于集合空间的无限性和人(机器)处理的有限性,那么对于任何一种计算而言,都是具有局部性原理的,即在某一个时空内,只有集合的某个子集是处在被处理的集合空间中
(11)所谓的计算对象,就是将所有的不相关元素去除之后剩下的一些基本变量
(12)要想实现状态的迁移(切换),只要定义出来状态迁移需要的集合空间以及进入此状态空间的入口就行了。也就是说要想处于某个特定的状态,就只定义进入的条件和状态循环的操作集合,而不定义状态迁移的出口
(13)人,做为一个个体,是一个强大的解释器,是用来解释自己思想的;而代码是解释体的输出对象,是思想的载体
(14)解释器,程序,数据三者是独立的,也是统一的,所谓将三个独立起来进行思考,而整体起来进行融合和交互。
(15)形式系统的天然的不完备性,这也更导致了接口设计的重要性
(16)形式作为逻辑的载体,由于逻辑的简洁性要求其载体也尽可能的简洁和高效
(17)程序员和计算机之间的交互就是符号逻辑的交互