What Is the Difference Between Proofs and Programs?

  • Crossley J
N/ACitations
Citations of this article
3Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Curry and and Howard observed that ordinary propositional logic can also be viewed as a functional (programming) language. Thus programs are contained, in a certain sense, in proofs in mathematical logic. The underlying reason (in the present author’s view) is because of the formal, that is to say, purely syntactic, similarities between logical rules and those of the lambda calculus. This has led to the viewing of proofs (originally, just in formal logic) as computer programs. The ad- vantage of these techniques is that the task of programming a function is reduced to reasoning with domain knowledge. In this paper we sketch the development of the Curry-Howard correspon- dence, first of all into predicate calculus, then into arithmetic. After that we look at different applications of the idea of the Curry-Howard process into two very different applications: algebraic specifications and imper- ative programming. The full details may be found in our forthcoming book with Iman Poernomo and Martin Wirsing. Finally, having seen how proofs may be said to contain programs, we dis- cuss the question of whether there are, or should be, proofs in programs.

Cite

CITATION STYLE

APA

Crossley, J. N. (2011). What Is the Difference Between Proofs and Programs? In Proof, Computation and Agency (pp. 81–97). Springer Netherlands. https://doi.org/10.1007/978-94-007-0080-2_6

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free