3 ms·
I took a programming course where we wrote a number of programs in assembly language. We were given a set of rules and operations, a starting point, a goal, an
by pjmorris 12y ago
I took a programming course where we wrote a number of programs in assembly language. We were given a set of rules and operations, a starting point, a goal, and we spent our time carefully assembling sequences of statements that took us from the starting point to the goal while obeying the rule system.
I took a math course where we did a number of proofs in natural deduction. We were given a set of rules and operations, a starting point, a goal, and we spent our time carefully assembling sequences of statements that took us from the starting point to the goal while obeying the rule system.
I'm dense, but I wondered about the strength of the correspondence between the two. It turns out that there's a nice paper by Philip Wadler [1] that illustrates the equivalence of natural deduction (math) and Church's lambda calculus (math, but programming).
[1] 'Proofs are Programs: 19th Century Logic and 21st Century Computing', Philip Wadler
- john_b 12y agoLink for the curious: http://homepages.inf.ed.ac.uk/wadler/papers/frege/frege.pdf http://homepages.inf.ed.ac.uk/wadler/papers/frege/frege.pdf
- tel 12y agoThere is massive correspondence between the two and that research is a dominating theme in branches of intuitionistic logic and type theory!
- NickPollard 12y agoI haven't read Wadler's paper, so he may well refer to this, but he relation between programs and proofs generally falls under the well-known Curry--Howard Correspondence[1], Curry being, of course, Haskell Curry, namesake of the language and the practice of Currying. [1]http://en.wikipedia.org/wiki/Curry%E2%80%93Howard_correspondence http://en.wikipedia.org/wiki/Curry%E2%80%93Howard_correspond...