Program Verification and Functioning of Operative Computing Revisited: How about Mathematics Engineering?
 Uri Pincas
 … show all 1 hide
Rent the article at a discount
Rent now* Final gross prices may vary according to local VAT.
Get AccessAbstract
The issue of proper functioning of operative computing and the utility of program verification, both in general and of specific methods, has been discussed a lot. In many of those discussions, attempts have been made to take mathematics as a model of knowledge and certitude achieving, and accordingly infer about the suitable ways to handle computing. I shortly review three approaches to the subject, and then take a stance by considering social factors which affect the epistemic status of both mathematics and computing. I use the analogy between mathematics and computing in reverse—that is to say, I consider operative computing as a form of making mathematics, and so attempt to learn from computing to mathematics in general. I conclude that “mathematics engineering” is a field to be both developed for practical improvement of doing mathematics and taken into consideration while philosophizing about mathematics as well.
 Asperti, A, Geuvers, H, Natarajan, R (2009) Social processes, program verification and all that. Mathematical Structures in Computer Science 19: pp. 877896 CrossRef
 Auslander, J On the roles of proof in mathematics. In: Gold, B, Simons, RA eds. (2008) Proof and other dilemmas: Mathematics and philosophy. Mathematical Association of America, Washington, pp. 6177
 Bjørner, D. (2006). Software engineering 1: Abstraction and modelling. An EATCS Series. Berlin: Springer.
 Bloor, D What can the sociologist of knowledge say about 2 + 2=4?. In: Ernest, P eds. (1994) Mathematics, education and philosophy: An international perspective. Falmer Press, London, pp. 1526
 Cockburn, A (2004) The end of software engineering and the start of economiccooperative gaming. Computer Science and Information System 1: pp. 132 CrossRef
 Colburn, TR, Fetzer, JH, Rankin, TL eds. (1993) Program verification: Fundamental issues in computer science. Kluwer Academic Publishers, Dordrecht
 Collins, H (1990) Artificial experts: Social knowledge and intelligent machines. Cambridge University Press, Cambridge
 Crowe, MJ Ten misconceptions about mathematics and its history. In: Aspray, W, Kitcher, P eds. (1988) History and philosophy of modern mathematics. University of Minnesota Press, Minneapolis, pp. 260277
 Davis, PJ (1972) Fidelity in mathematical discourse: Is one and one really two?. American Mathematical Monthly 79: pp. 252263 CrossRef
 Millo, RA, Lipton, RJ, Perlis, AJ (1979) Social processes and proofs of theorems and programs. Communications of the ACM 22: pp. 271280 CrossRef
 Detlefsen, M eds. (1992) Proof and knowledge in mathematics. Routledge, London
 Ernest, P (1991) The philosophy of mathematics education. Falmer Press, London
 Fetzer, JH (1988) Program verification: The very idea. Communications of the ACM 31: pp. 10481063 CrossRef
 Giaquinto, M Mathematical activity. In: Mancosu, P, Jorgensen, KF, Pedersen, SA eds. (2005) Visualization explanation and reasoning styles in mathematics. Springer, Dordrecht, pp. 7587 CrossRef
 Harel, D. (with Feldman Y.) (2004). Algorithmics: The spirit of computing, 3rd ed. Reading: AddisonWesley.
 Hersh, R. (1997). What is mathematics, really? Oxford: Oxford University Press.
 Hoare, C. A. R. (1969). An axiomatic basis for computer programming. Communications of the ACM 12(10), 576–580, 583.
 Hoare, C. A. R. (1986). Mathematics of Programming. BYTE (August). Reprinted in Colburn, T. R., Fetzer, J. H., & Rankin, T. L. (Eds.) (1993) (pp. 135–154).
 Kitcher, P (1984) The nature of mathematical knowledge. Oxford University Press, Oxford
 Liskov, B, Zilles, S An introduction to formal specifications of data abstractions. In: Yeh, RT eds. (1977) Current trends in programming methodology. Prentice Hall, Englewood Cliffs, pp. 132
 MacKenzie, D (2001) Mechanizing proof: Computing, risk, and trust. Cambridge University Press, Cambridge
 MacKenzie, D (2005) What in the name of Euclid is going on here?. Science 207: pp. 14021403
 Mancosu, P On mathematical explanation. In: Grosholtz, E, Berger, H eds. (2000) Growth of mathematical knowledge. Kluwer Academic Publishers, Dordrecht, pp. 103120
 Maurer, WD (1979) Letter to the editor. Communications of the ACM 22: pp. 625629
 Pelaez, E. (1988). A Gift from Pandora’s Box: The Software Crisis. Ph.D. dissertation. Edinburgh: University of Edinburgh.
 Pigden, CR (1987) Two dogmatists. Inquiry 30: pp. 173193 CrossRef
 Putnam, H (1962) It Ain’t necessarily so. Journal of Philosophy 59: pp. 658671 CrossRef
 Putnam, H (2002) The collapse of the fact/value dichotomy. Cambridge University Press, Cambridge
 Quine, WVO (1951) Two dogmas of empiricism. Philosophical Review 60: pp. 2043 CrossRef
 Rapaport, W. J. (2007). Can Programs Be Verified? http://www.cse.buffalo.edu/~rapaport/510/canprogsbeverified.html.
 Resnik, M, Kushner, D (1987) Explanation, independence and realism in mathematics. British Journal for the Philosophy of Science 38: pp. 141158 CrossRef
 Rota, GC (1997) The phenomenology of mathematical proof. Synthese 111: pp. 183196 CrossRef
 Sandborg, D (1998) Mathematical explanation and the theory of whyquestions. British Journal for the Philosophy of Science 49: pp. 603624 CrossRef
 Sasaki, C. (2005). What are revolutions in mathematics? And how do they differ from those in the natural sciences? Lecture given in Peking University. http://www.phil.pku.edu.cn/documents/Revolutions_in_Math.1.rtf.
 Schach, SR (2007) Algorithmics: Objectoriented and classical software engineering. McGrawHill, New York
 Scherlis, WL, Scott, DS First steps towards inferential programming. In: Mason, REA eds. (1983) Information processing 83. Elsevier Science Publishers, Amsterdam, pp. 199212
 Shapiro, S (2000) Thinking about mathematics: The philosophy of mathematics. Oxford University Press, Oxford
 Simons, CL, Parmee, IC, Coward, PD (2003) 35 years on: To What extent has software engineering design achieved its goals?. IEE Proceedings–Software 19: pp. 337350
 Smith, BC (1985) Limits of correctness in computers. As center for the study of language and information report No. CSLI85–36. Ventura Hall, Stanford
 Steiner, M (1978) Mathematical explanation. Philosophical Studies 34: pp. 131151 CrossRef
 Thurston, WP (1994) On proof and progress in mathematics. Bulletin of the American Mathematical Society 30: pp. 161171 CrossRef
 TRD, (2009). The risks digest—Forum on risks to the public in computers and related systems, regularly updated. http://catless.ncl.ac.uk/risks.
 Tymoczko, T (1979) The fourcolor problem and its philosophical significance. Journal of Philosophy 76: pp. 5783 CrossRef
 Zemanek, H Abstract architecture. In: Bjørner, D eds. (1979) Abstract software specifications. Springer, Copenhagen, pp. 142
 Title
 Program Verification and Functioning of Operative Computing Revisited: How about Mathematics Engineering?
 Journal

Minds and Machines
Volume 21, Issue 2 , pp 337359
 Cover Date
 20110501
 DOI
 10.1007/s110230119237z
 Print ISSN
 09246495
 Online ISSN
 15728641
 Publisher
 Springer Netherlands
 Additional Links
 Topics
 Keywords

 Computing engineering
 Operative computing
 Philosophy of mathematics
 Program verification
 Software engineering
 Authors

 Uri Pincas ^{(1)}
 Author Affiliations

 1. The Open University of Israel, Raanana, Israel