A Practical Theory of Programming

Paper 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.

Conditions of Use

CC BY-NC-SAThis book is licensed under a Creative Commons License (CC BY-NC-SA). You can download the ebook A Practical Theory of Programming for free.

Title
A Practical Theory of Programming
Publisher
Author(s)
Published
2024-06-28
Edition
1
Format
eBook (pdf, epub, mobi)
Pages
257
Language
English
ISBN-10
1461264448
ISBN-13
9781461264446
License
CC BY-NC-SA
Book Homepage
Free eBook, Errata, Code, Solutions, etc.
Related Books