Programming as a mathematical exercise
- 1 October 1984
- journal article
- research article
- Published by The Royal Society in Philosophical Transactions of the Royal Society of London. Series A, Mathematical and Physical Sciences
- Vol. 312 (1522) , 447-473
- https://doi.org/10.1098/rsta.1984.0070
Abstract
This paper contains a formal framework within which logic, set theory and programming are presented together. These elements can be presented together because, in this work, we no longer regard a (procedural) programming notation (such as PASCAL) as a notation for expressing a computation; rather, we regard it as a mere extension to the conventional language of logic and set theory. The extension constitutes a convenient (economical) way of expressing certain relational statements. A consequence of this point of view is that the activity of program construction is transformed into that of proof construction. To ensure that this activity of proof construction can be given a sound mechanizable foundation, we present a number of theories in the form of some basic deduction and definition rules. For instance, such theories compose the two logical calculi, a weaker version of the standard Zermelo-Fraenkel set theory, as well as some other elementary mathematical theories leading up to the construction of natural numbers. This last theory acts as a paradigm for the construction of other types such as sequences or trees. Parallel to these mathematical constructions we axiomatize a certain programming notation by giving equivalents to its basic constructs within logic and set theory. A number of other non-logical theories are also presented, which allows us to completely mechanize the calculus of proof that is implied by this framework.This publication has 5 references indexed in Scilit:
- The mathematical construction of a programScience of Computer Programming, 1984
- Specification of the UNIX Filing SystemIEEE Transactions on Software Engineering, 1984
- Guarded commands, nondeterminacy and formal derivation of programsCommunications of the ACM, 1975
- Assigning meanings to programsPublished by American Mathematical Society (AMS) ,1967
- A lattice-theoretical fixpoint theorem and its applicationsPacific Journal of Mathematics, 1955