A Practical Theory of Programming

  • Eric C. R. Hehner

Part of the Texts and Monographs in Computer Science book series (MCS)

Table of contents

  1. Front Matter
    Pages i-2
  2. Eric C. R. Hehner
    Pages 3-13
  3. Eric C. R. Hehner
    Pages 14-23
  4. Eric C. R. Hehner
    Pages 24-35
  5. Eric C. R. Hehner
    Pages 36-69
  6. Eric C. R. Hehner
    Pages 70-90
  7. Eric C. R. Hehner
    Pages 91-101
  8. Eric C. R. Hehner
    Pages 102-119
  9. Eric C. R. Hehner
    Pages 120-130
  10. Eric C. R. Hehner
    Pages 131-148
  11. Eric C. R. Hehner
    Pages 149-203
  12. Eric C. R. Hehner
    Pages 204-247

About this book


There are several theories of programming. The first usable theory, often called "Hoare's Logic", is still probably the most widely known. In it, a specification is a pair of predicates: a precondition and postcondition (these and all technical terms will be defined in due course). Another popular and closely related theory by Dijkstra uses the weakest precondition predicate transformer, which is a function from programs and postconditions to preconditions. lones's Vienna Development Method has been used to advantage in some industries; in it, a specification is a pair of predicates (as in Hoare's Logic), but the second predicate is a relation. Temporal Logic is yet another formalism that introduces some special operators and quantifiers to describe some aspects of computation. The theory in this book is simpler than any of those just mentioned. In it, a specification is just a boolean expression. Refinement is just ordinary implication. This theory is also more general than those just mentioned, applying to both terminating and nonterminating computation, to both sequential and parallel computation, to both stand-alone and interactive computation. And it includes time bounds, both for algorithm classification and for tightly constrained real-time applications.


control data structures design development functional programming language programming programming language software time verification

Authors and affiliations

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

Bibliographic information

  • DOI
  • Copyright Information Springer-Verlag New York, Inc. 1993
  • Publisher Name Springer, New York, NY
  • eBook Packages Springer Book Archive
  • Print ISBN 978-1-4612-6444-6
  • Online ISBN 978-1-4419-8596-5
  • Series Print ISSN 0172-603X
  • Buy this book on publisher's site