• Eric C. R. Hehner
Part of the Texts and Monographs in Computer Science book series (MCS)


This section explains some of the decisions made in choosing and presenting the material in this book. It is probably not of interest to a student whose concern is to learn the material, but it may be of interest to a teacher or researcher.


Boolean Expression Program Construction Consistency Rule Weak Precondition Stepwise Refinement 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. R.-J.R. Back: “on the Correctness of Refinement in Program Development”, University of Helsinki, Department of Computer Science, Report A-1978-4, 1978.Google Scholar
  2. R.-J.R. Back: “a Calculus of Refinement for Program Derivations”, Acta Informatica, volume 25, pages 593,..625, 1988.MathSciNetCrossRefGoogle Scholar
  3. H.J. Boom: “a Weaker Precondition for Loops”, ACM Transactions on Programming Languages and Systems, volume 4, number 4, pages 668,..678, 1982.CrossRefGoogle Scholar
  4. R. Burstall: “Proving Properties of Programs by Structural Induction”, University of Edinburgh, Report 17 DMIP, 1968; also Computer Journal, volume 12, number 1, pages 41,..49, 1969.Google Scholar
  5. P. Caspi, N. Halbwachs, D. Pilaud, J.A. Plaice: “LUSTRE: a Declarative Language for Programming Synchronous Systems”, fourteenth annual ACM Symposium on Principles of Programming Languages, pages 178,.. 189, Munich, 1987.Google Scholar
  6. K.M. Chandy, J. Misra: Parallel Program Design: a Foundation, Addison-Wesley, 1988.Google Scholar
  7. W. Chen, J.T. Udding: “Toward a Calculus of Data Refinement”, J.L.A. van de Snepscheut (editor): Mathematics of Program Construction, Springer-Verlag, Lecture Notes in Computer Science, volume 375, pages 197,..219, 1989.Google Scholar
  8. E.W. Dijkstra: “Guarded Commands, Nondeterminacy, and Formal Derivation of Programs”, Communications ACM, volume 18, number 8, pages 453,..458, 1975 August.MathSciNetCrossRefGoogle Scholar
  9. E.W. Dijkstra: a Discipline of Programming, Prentice-Hall, 1976.Google Scholar
  10. E.W. Dijkstra, W.H.J. Feijen: a Method of Programming, Addison-Wesley, 1988.Google Scholar
  11. R.W. Floyd: “Assigning Meanings to Programs”, Proceedings of the American Society, Symposium on Applied Mathematics, volume 19, pages 19,..32, 1967.Google Scholar
  12. A.J.M. van Gasteren: “on the Shape of Mathematical Arguments”, Springer-Verlag Lecture Notes in Computer Science, 1990.Google Scholar
  13. J.V. Guttag, J.J. Horning: “the Algebraic Specification of Abstract Data Types”, Acta Informatica, volume 10, pages 27,..53, 1978.MathSciNetCrossRefGoogle Scholar
  14. E.C.R. Hehner: “do considered od: a Contribution to the Programming Calculus”, University of Toronto, Technical Report CSRG-75, 1976 November; also Ada Informatica, volume 11, pages 287,..305, 1979.Google Scholar
  15. E.C.R. Hehner: “Bunch Theory: a Simple Set Theory for Computer Science”, University of Toronto, Technical Report CSRG-102, 1979 July; also Information Processing Letters, volume 12, number 1, pages 26,..31, 1981 February.MathSciNetGoogle Scholar
  16. E.C.R. Hehner, C.A.R. Hoare: “a More Complete Model of Communicating Processes”, University of Toronto, Technical Report CSRG-134, 1981 September; also Theoretical Computer Science, volume 26, numbers 1 and 2, pages 105,..121, 1983 September.MathSciNetCrossRefGoogle Scholar
  17. E.C.R. Hehner: “Predicative Programming”, Communications ACM, volume 27, number 2, pages 134,..152, 1984 February.Google Scholar
  18. E.C.R. Hehner: the Logic of Programming, Prentice-Hall International, 1984.Google Scholar
  19. E.C.R. Hehner, L.E. Gupta, A.J. Malton: “Predicative Methodology”, Acta Informatica, volume 23, number 5, pages 487,..506, 1986.MathSciNetCrossRefGoogle Scholar
  20. E.C.R. Hehner, A.J. Malton: “Termination Conventions and Comparative Semantics”, Acta Informatica, volume 25, number 1, pages 1,..15, 1988 January.MathSciNetCrossRefGoogle Scholar
  21. E.C.R. Hehner: “Termination is Timing”, International Conference on Mathematics of Program Construction, The Netherlands, Enschede, 1989 June; also J.L.A. van de Snepscheut (editor): Mathematics of Program Construction, Springer-Verlag, Lecture Notes in Computer Science volume 375, pages 36,..48, 1989.Google Scholar
  22. E.C.R. Hehner: “a Practical Theory of Programming”, Science of Computer Programming, volume 14, numbers 2 and 3, pages 133,..159, 1990.MathSciNetCrossRefGoogle Scholar
  23. C.A.R. Hoare: “an Axiomatic Basis for Computer Programming”, Communications ACM, volume 12, number 10, pages 576,..581, 583, 1969 October.CrossRefGoogle Scholar
  24. C.A.R. Hoare: “Proof of Correctness of Data Representations”, Acta Informatica, volume 1, number 4, pages 271,..282, 1972.CrossRefGoogle Scholar
  25. C.A.R. Hoare: “Monitors: an Operating System Structuring Concept”, Communications ACM, volume 17, number 10, pages 549,..558, 1974 October.CrossRefGoogle Scholar
  26. C.A.R. Hoare: “Recursive Data Structures”, International Journal of Computer and Information Sciences, volume 4, number 2, pages 105,.. 133, 1975 June.CrossRefGoogle Scholar
  27. C.A.R. Hoare: “Communicating Sequential Processes”, Communications ACM, volume 21, number 8, pages 666,..678, 1978 August.CrossRefGoogle Scholar
  28. C.A.R. Hoare: “a Calculus of Total Correctness for Communicating Processes”, Science of Computer Programming, volume 1, numbers 1 and 2, pages 49,..73, 1981 October.MathSciNetCrossRefGoogle Scholar
  29. C.A.R. Hoare: “Programs are Predicates”, in C.A.R. Hoare, J.C. Shepherdson (editors): Mathematical Logic and Programming Languages, Prentice-Hall Intenational, pages 141,..155, 1985.Google Scholar
  30. C.A.R. Hoare, I.J. Hayes, J. He, C.C. Morgan, A.W. Roscoe, J.W. Sanders, I.H. Sørensen, J.M. Spivey, B.A. Sufrin: “the Laws of Programming”, Communications ACM, volume 30, number 8, pages 672,..688, 1987 August.CrossRefGoogle Scholar
  31. C.B. Jones: Software Development: a Rigorous Approach, Prentice-Hall International, 1980.Google Scholar
  32. C.B. Jones: Systematic Software Development using VDM, Prentice-Hall International, 1986 and 1990.Google Scholar
  33. G. Kahn: “the Semantics of a Simple Language for Parallel Programming, Information Processing 74, North-Holland, Proceeding of IFIP Congress, 1974.Google Scholar
  34. C. Lengauer, E.C.R. Hehner: “a Methodology for Programming with Concurrency”, CONPAR 81, Nörnberg, dy1981 June 10,..13; also Springer-Verlag, Lecture Notes in Computer Science volume 111, 1981 June, pages 259,..271; also Science of Computer Programming, volume 2, 1982, pages 1...53.Google Scholar
  35. A.J. Martin: “the Probe: an Addition to Communication Primitives”, Information Processing Letters, volume 20, number 3, pages 125,..131, 1985.CrossRefGoogle Scholar
  36. J. McCarthy: “a Basis for a Mathematical Theory of Computation”, Proceedings of the Western Joint Computer Conference, pages 225,..239, Los Angeles, 1961 May; also Computer Programming and Formal Systems, North-Holland, pages 33,..71, 1963.Google Scholar
  37. M.D. McIlroy: “Squinting at Power Series”, Software Practice and Experience, volume 20, number 7, pages 661,..684, 1990 July.CrossRefGoogle Scholar
  38. L.G.L.T. Meertens: “Algorithmics — towards Programming as a Mathematical Activity”, Proceedings of CWI Symposium on Mathematics and Computer Science, North-Holland, CWI Monographs, volume 1, pages 289,..335, 1986.Google Scholar
  39. C.C. Morgan: “the Specification Statement”, ACM Transactions on Programming Languages and Systems, volume 10, number 3, pages 403,..420, 1988 July.CrossRefGoogle Scholar
  40. C.C. Morgan: Programming from Specifications, Prentice-Hall International, 1990.Google Scholar
  41. J.M. Morris: “a Theoretical Basis for Stepwise Refinement and the Programming Calculus”, Science of Computer Programming, volume 9, pages 287,..307, 1987.CrossRefGoogle Scholar
  42. P. Naur: “Proof of Algorithms by General Snapshots”, BIT, volume 6, number 4, pages 310,..317, 1966.CrossRefGoogle Scholar
  43. G. Nelson: “a Generalization of Dijkstra’s Calculus”, ACM Transactions on Programming Languages and Systems, volume 11, number 4, pages 517,..562, 1989 October.CrossRefGoogle Scholar
  44. T.S. Norvell, E.C.R. Hehner: “Logical Specifications for Functional Programs”, International Conference on Mathematics of Program Construction, Oxford, 1992 June.Google Scholar
  45. A.P. Ravn, E.V. Srensen, H. Rischel: “Control Program for a Gas Burner”, Technical University of Denmark, Department of Computer Scence, 1990 March.Google Scholar
  46. M. Rem: “Small Programming Exercises”, articles in Science of Computer Programming, 1983,..1991.Google Scholar
  47. D.S. Scott, C. Strachey: “Outline of a Mathematical Theory of Computation”, Oxford University Report PRG-2, 1970; also Proceedings of the fourth annual Princeton Conference on Information Sciences and Systems, pages 169,.. 177, 1970.Google Scholar
  48. J.M. Spivey: the Z Notation — a Reference Manual, Prentice-Hall International, 1989.Google Scholar
  49. A.M. Turing: “Checking a Large Routine”, Cambridge University, Report on a Conference on High Speed Automatic Calculating Machines, pages 67,..70, 1949.Google Scholar

Copyright information

© Springer Science+Business Media New York 1993

Authors and Affiliations

  • Eric C. R. Hehner
    • 1
  1. 1.Department of Computer ScienceUniversity of TorontoTorontoCanada

Personalised recommendations