Cart
Free US shipping over $10
Proud to be B-Corp

A Practical Theory of Programming Eric C.R. Hehner

A Practical Theory of Programming By Eric C.R. Hehner

A Practical Theory of Programming by Eric C.R. Hehner


$73.79
Condition - New
Only 2 left

Summary

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.

A Practical Theory of Programming Summary

A Practical Theory of Programming by Eric C.R. Hehner

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.

Table of Contents

1 Basic Theories.- Boolean Theory.- Axioms and Proof Rules.- Expression and Proof Format.- Formalization.- Number Theory.- Character Theory.- 2 Basic Data Structures.- Bunch Theory.- Set Theory.- String Theory.- List Theory.- Multidimensional Structures.- 3 Function Theory.- Functions.- Abbreviated Function Notations.- Scope and Substitution.- Quantifiers.- Function Fine Points.- Substitution versus Distribution.- Function Inclusion and Equality.- Function Composition.- List as function.- 4 Program Theory.- Specifications.- Specification Notations.- Specification Laws.- Refinement.- Conditions.- Programs.- Program Development.- Refinement Laws.- List Summation.- Binary Exponentiation.- Time.- Real Time.- Recursive Time.- Termination.- Linear Search.- Binary Search.- Fast Exponentiation.- Fibonacci Numbers.- Robustness.- Refinement in Place.- 5 Programming Language.- Scope.- Variable Declaration.- Variable Suspension.- Data Structures.- Arrays.- Records.- Control Structures.- While Loop.- Repeat Loop.- Exit Loop.- Two-Dimensional Search.- For Loop.- Minimum Sum Segment.- Go To.- Time Dependence.- Assertions.- Checking.- Backtracking.- Subprogram.- Result Expression.- Function.- Procedure.- Alias.- Functional Programming.- Function Refinement.- 6 Recursive Definition.- Recursive Data Definition.- Construction and Induction.- Least Fixed-Points.- Recursive Data Construction.- Recursive Program Definition.- Recursive Program Construction.- Loop Definition.- Limits.- 7 Theory Design and Implementation.- Data Theories.- Data-Stack Theory.- Data-Stack Implementation.- Simple Data-Stack Theory.- Data-Queue Theory.- Data-Tree Theory.- Data-Tree Implementation.- Program Theories.- Program-Stack Theory.- Program-Stack Implementation.- Fancy Program-Stack Theory.- Weak Program-Stack Theory.- Program-Queue Theory.- Program-Tree Theory.- Specification by Implementation.- Data Transformation.- 8 Concurrency.- Independent Composition.- Laws of Independent Composition.- List Concurrency.- Circuit Design.- Security Switch.- Found Concurrency.- Buffer.- Insertion Sort.- 9 Communication.- Implementability.- Input and Output.- Communication Timing.- Recursively Defined Communication.- Input Composition.- Merge.- Monitor.- Reaction Controller.- Communicating Processes.- Channel Declaration.- Deadlock.- Power Series Multiplication.- 10 Exercises.- Basic Theories.- Basic Data Structures.- Function Theory.- Program Theory.- Programming Language.- Recursive Definition.- Theory Design and Implementation.- Concurrency.- Communication.- 11 Reference.- Justifications.- Sources.- Axioms and Laws.- Symbols and Names.- Precedence.

Additional information

NPB9780387941066
9780387941066
0387941061
A Practical Theory of Programming by Eric C.R. Hehner
New
Hardback
Springer-Verlag New York Inc.
1993-08-06
247
N/A
Book picture is for illustrative purposes only, actual binding, cover or edition may vary.
This is a new book - be the first to read this copy. With untouched pages and a perfect binding, your brand new copy is ready to be opened for the first time

Customer Reviews - A Practical Theory of Programming