从church numerals 理解数据抽象
程序员文章站
2024-01-10 18:28:58
...
现在到了数学抽象中最关键的一步:让我们忘记这些符号所表示的对象。(数学家)不应在这里停步,有许多操作可以应用于这些符号,而根本不必考虑它们到底代表着什么东西。 --- sicp (第二章 数据抽象) 邱奇数可以帮我们充分理解上面这句话和数据抽象的含义。(我的读书笔记见:http://book.douban.com/people/xulao/annotation/
邱奇数可以很好的将数学计算,用符号演算构造出来,并得到所有(可计算的)“自然数”(符号)。(将操作应用于符号,而不必考虑他们到底代表什么东西) 其实邱奇的lambda calculus建立一个强大的符号演算系统,利用这个(抽象)符号操作概念可以建立一个强大的形式语言,从而实现一个图灵等价的计算模型。符号演算可以模拟出数学世界里的所有计算模型,而数学计算只是这个形式语言的其中一个具体罢了。 关于邱奇-图灵理论,停机问题,Y 组合子,不完备性定理,可以参考一下2篇好文:
http://blog.csdn.net/pongba/article/details/1336028
http://blog.csdn.net/pongba/article/details/621723
(define (inc n) (+ n 1)) (define zero (lambda (f zero) zero)) (define one (lambda (f zero) (f zero))) (define two (lambda (f zero) (f (f zero)))) (define (add x y) (lambda (f zero) (x f (y f zero)))) (define three (add two one)) ;; 3+3 (define (multiply x y) (lambda (f zero) (x (lambda (z) (y f z)) zero))) (define four (multiply two three)) (four inc 0)
邱奇数可以很好的将数学计算,用符号演算构造出来,并得到所有(可计算的)“自然数”(符号)。(将操作应用于符号,而不必考虑他们到底代表什么东西) 其实邱奇的lambda calculus建立一个强大的符号演算系统,利用这个(抽象)符号操作概念可以建立一个强大的形式语言,从而实现一个图灵等价的计算模型。符号演算可以模拟出数学世界里的所有计算模型,而数学计算只是这个形式语言的其中一个具体罢了。 关于邱奇-图灵理论,停机问题,Y 组合子,不完备性定理,可以参考一下2篇好文:
http://blog.csdn.net/pongba/article/details/1336028
http://blog.csdn.net/pongba/article/details/621723