# A Practical Theory of Programming

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

Advertisement

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

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

- DOI https://doi.org/10.1007/978-1-4419-8596-5
- 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