A Practical Theory of Programming
โ Scribed by Eric C.R. Hehner
- Publisher
- Springer
- Year
- 2011
- Tongue
- English
- Leaves
- 242
- Series
- Monographs in Computer Science
- Edition
- 2011.01.13 online edition
- Category
- Library
No coin nor oath required. For personal study only.
โฆ Synopsis
Understanding programming and programming languages requires knowledge of the underlying theoretical model. This book explores aspects of programming that are amenable to mathematical proof. The author describes a programming theory which is much simpler and more comprehensive than the current theories to date. In the theoretical model, a specification is just a boolean expression and refinement is just an ordinary implication. The author develops a practical and broad method for writing precise specifications and designing programs whose executions probably satisfy the specifications. Beginning with preparatory material in logic, numbers, sets, lists, functions and relations, the book advances further into program theory, the heart of the book. Subsequent chapters may be selected or omitted according to course emphasis. The text will be useful to students in courses on programming methodology or verification at the advanced undergraduate or beginning graduate level, as well as for software engineers in the field. All technical terms are explained and then demonstrated in the book wherever possible. No advanced mathematical knowledge or programming language is assumed. The book contains numerous exercises and worked-out solutions for specific exercises. Transparency masters and solutions for the remaining exercises are available from the author.
๐ SIMILAR VOLUMES
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
<p><B>A Theory and Practice of Program Development</B> provides a comprehensive introduction to a software development method based on VDM-SL. Each development step is rigorously justified, and the strategies and transformations used are justified and explained ma thematically. The approach provides
Real-life decisions are usually made in the state of uncertainty (randomness, fuzziness, roughness, etc.). How do we model optimization problems in uncertain environments? How do we solve these models? In order to answer these questions, this book provides a self-contained, comprehensive and up-to-d