Minds and Machines

, Volume 21, Issue 2, pp 337–359

Program Verification and Functioning of Operative Computing Revisited: How about Mathematics Engineering?



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.


Computing engineering Operative computing Philosophy of mathematics Program verification Software engineering 


  1. Asperti, A., Geuvers, H., & Natarajan, R. (2009). Social processes, program verification and all that. Mathematical Structures in Computer Science, 19(5), 877–896.MathSciNetMATHCrossRefGoogle Scholar
  2. Auslander, J. (2008). On the roles of proof in mathematics. In B. Gold & R. A. Simons (Eds.), Proof and other dilemmas: Mathematics and philosophy (pp. 61–77). Washington: Mathematical Association of America.Google Scholar
  3. Bjørner, D. (2006). Software engineering 1: Abstraction and modelling. An EATCS Series. Berlin: Springer.Google Scholar
  4. Bloor, D. (1994). What can the sociologist of knowledge say about 2 + 2=4? In P. Ernest (Ed.), Mathematics, education and philosophy: An international perspective (pp. 15–26). London: Falmer Press.Google Scholar
  5. Cockburn, A. (2004). The end of software engineering and the start of economic-cooperative gaming. Computer Science and Information System, 1(1), 1–32.CrossRefGoogle Scholar
  6. Colburn, T. R., Fetzer, J. H., & Rankin, T. L. (Eds.). (1993). Program verification: Fundamental issues in computer science. Dordrecht: Kluwer Academic Publishers.MATHGoogle Scholar
  7. Collins, H. (1990). Artificial experts: Social knowledge and intelligent machines. Cambridge: Cambridge University Press.Google Scholar
  8. Crowe, M. J. (1988). Ten misconceptions about mathematics and its history. In W. Aspray & P. Kitcher (Eds.), History and philosophy of modern mathematics (pp. 260–277). Minneapolis: University of Minnesota Press.Google Scholar
  9. Davis, P. J. (1972). Fidelity in mathematical discourse: Is one and one really two? American Mathematical Monthly, 79(3), 252–263.MathSciNetMATHCrossRefGoogle Scholar
  10. De Millo, R. A., Lipton, R. J., & Perlis, A. J. (1979). Social processes and proofs of theorems and programs. Communications of the ACM, 22(5), 271–280.CrossRefGoogle Scholar
  11. Detlefsen, M. (Ed.). (1992). Proof and knowledge in mathematics. London: Routledge.MATHGoogle Scholar
  12. Ernest, P. (1991). The philosophy of mathematics education. London: Falmer Press.Google Scholar
  13. Fetzer, J. H. (1988). Program verification: The very idea. Communications of the ACM, 31(9), 1048–1063.CrossRefGoogle Scholar
  14. Giaquinto, M. (2005). Mathematical activity. In P. Mancosu, K. F. Jorgensen, & S. A. Pedersen (Eds.), Visualization explanation and reasoning styles in mathematics (pp. 75–87). Dordrecht: Springer.CrossRefGoogle Scholar
  15. Harel, D. (with Feldman Y.) (2004). Algorithmics: The spirit of computing, 3rd ed. Reading: Addison-Wesley.Google Scholar
  16. Hersh, R. (1997). What is mathematics, really? Oxford: Oxford University Press.Google Scholar
  17. Hoare, C. A. R. (1969). An axiomatic basis for computer programming. Communications of the ACM 12(10), 576–580, 583.Google Scholar
  18. 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).Google Scholar
  19. Kitcher, P. (1984). The nature of mathematical knowledge. Oxford: Oxford University Press.Google Scholar
  20. Liskov, B., & Zilles, S. (1977). An introduction to formal specifications of data abstractions. In R. T. Yeh (Ed.), Current trends in programming methodology (pp. 1–32). Englewood Cliffs: Prentice Hall.Google Scholar
  21. MacKenzie, D. (2001). Mechanizing proof: Computing, risk, and trust. Cambridge: Cambridge University Press.MATHGoogle Scholar
  22. MacKenzie, D. (2005). What in the name of Euclid is going on here? Science, 207(5714), 1402–1403.MathSciNetGoogle Scholar
  23. Mancosu, P. (2000). On mathematical explanation. In E. Grosholtz & H. Berger (Eds.), Growth of mathematical knowledge (pp. 103–120). Dordrecht: Kluwer Academic Publishers.Google Scholar
  24. Maurer, W. D. (1979). Letter to the editor. Communications of the ACM, 22, 625–629.Google Scholar
  25. Pelaez, E. (1988). A Gift from Pandora’s Box: The Software Crisis. Ph.D. dissertation. Edinburgh: University of Edinburgh.Google Scholar
  26. Pigden, C. R. (1987). Two dogmatists. Inquiry, 30(1), 173–193.CrossRefGoogle Scholar
  27. Putnam, H. (1962). It Ain’t necessarily so. Journal of Philosophy, 59, 658–671.CrossRefGoogle Scholar
  28. Putnam, H. (2002). The collapse of the fact/value dichotomy. Cambridge: Cambridge University Press.Google Scholar
  29. Quine, W. V. O. (1951). Two dogmas of empiricism. Philosophical Review, 60, 20–43.CrossRefGoogle Scholar
  30. Rapaport, W. J. (2007). Can Programs Be Verified? http://www.cse.buffalo.edu/~rapaport/510/canprogsbeverified.html.
  31. Resnik, M., & Kushner, D. (1987). Explanation, independence and realism in mathematics. British Journal for the Philosophy of Science, 38, 141–158.MathSciNetMATHCrossRefGoogle Scholar
  32. Rota, G. C. (1997). The phenomenology of mathematical proof. Synthese, 111, 183–196.MathSciNetMATHCrossRefGoogle Scholar
  33. Sandborg, D. (1998). Mathematical explanation and the theory of why-questions. British Journal for the Philosophy of Science, 49, 603–624.MathSciNetMATHCrossRefGoogle Scholar
  34. 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.
  35. Schach, S. R. (2007). Algorithmics: Object-oriented and classical software engineering (7th ed.). New York: McGraw-Hill.Google Scholar
  36. Scherlis, W. L., & Scott, D. S. (1983). First steps towards inferential programming. In R. E. A. Mason (Ed.), Information processing 83 (pp. 199–212). Amsterdam: Elsevier Science Publishers.Google Scholar
  37. Shapiro, S. (2000). Thinking about mathematics: The philosophy of mathematics. Oxford: Oxford University Press.MATHGoogle Scholar
  38. Simons, C. L., Parmee, I. C., & Coward, P. D. (2003). 35 years on: To What extent has software engineering design achieved its goals? IEE Proceedings–Software, 19(5), 337–350.Google Scholar
  39. Smith, B. C. (1985). Limits of correctness in computers. As center for the study of language and information report No. CSLI-85–36. Stanford: Ventura Hall.Google Scholar
  40. Steiner, M. (1978). Mathematical explanation. Philosophical Studies, 34, 131–151.MathSciNetCrossRefGoogle Scholar
  41. Thurston, W. P. (1994). On proof and progress in mathematics. Bulletin of the American Mathematical Society, 30, 161–171.MathSciNetMATHCrossRefGoogle Scholar
  42. TRD, (2009). The risks digest—Forum on risks to the public in computers and related systems, regularly updated. http://catless.ncl.ac.uk/risks.
  43. Tymoczko, T. (1979). The four-color problem and its philosophical significance. Journal of Philosophy, 76, 57–83.CrossRefGoogle Scholar
  44. Zemanek, H. (1979). Abstract architecture. In D. Bjørner (Ed.), Abstract software specifications (pp. 1–42). Copenhagen: Springer.Google Scholar

Copyright information

© Springer Science+Business Media B.V. 2011

Authors and Affiliations

  1. 1.The Open University of IsraelRaananaIsrael

Personalised recommendations