Refinement calculus : a systematic introduction

Much current research in computer science is concerned with two questions: is a program correct? And how can we improve a correct program preserving correctness? This latter question is known as the refinement of programs and the purpose of this book is to consider these questions in a formal settin...

Full description

Saved in:
Bibliographic Details
Main Authors Back, Ralph-Johan, Wright, J. (Joakim) von
Format eBook Book
LanguageEnglish
Published New York, NY Springer 1998
Springer New York
Edition1
SeriesTexts in Computer Science
Subjects
Online AccessGet full text
ISBN9780387984179
0387984178
1461216753
9781461216759
ISSN1868-0941
1868-095X
DOI10.1007/978-1-4612-1674-2

Cover

Table of Contents:
  • GRADUATE TEXTS IN COMPUTER SCIENCE -- REFINEMENT CALCULUS -- Copyright -- Preface -- Contents -- 1 Introduction -- Part I Foundations -- 2 Posets, Lattices, and Categories -- 3 Higher-Order Logic -- 4 Functions -- 5 States and State Transformers -- 6 Truth Values -- 7 Predicates and Sets -- 8 Boolean Expressions and Conditionals -- 9 Relations -- 10 Types and Data Structures -- Part II Statements -- 11 Predicate Transformers -- 12 The Refinement Calculus Hierarchy -- 13 Statements -- 14 Statements as Games -- 15 Choice Semantics -- 16 Subclasses of Statements -- 17 Correctness and Refinement of Statements -- Part III Recursion and Iteration -- 18 Well-founded Sets and Ordinals -- 19 Fixed Points -- 20 Recursion -- 21 Iteration and Loops -- 22 Continuity and Executable Statements -- 23 Working with Arrays -- 24 The N-Queens Problem -- 25 Loops and Two-Person Games -- Part IV Statement Subclasses -- 26 Statement Classes and Normal Forms -- 27 Specification Statements -- 28 Refinement in Context -- 29 Iteration of Conjunctive Statements -- Appendix -- References -- Index
  • 1 Introduction -- 1.1 Contracts -- 1.2 Using Contracts -- 1.3 Computers as Agents -- 1.4 Algebra of Contracts -- 1.5 Programming Constructs -- 1.6 Specification Constructs -- 1.7 Correctness -- 1.8 Refinement of Programs -- 1.9 Background -- 1.10 Overview of the Book -- I Foundations -- 2 Posets, Lattices, and Categories -- 3 Higher-Order Logic -- 4 Functions -- 5 States and State Transformers -- 6 Truth Values -- 7 Predicates and Sets -- 8 Boolean Expressions and Conditionals -- 9 Relations -- 10 Types and Data Structures -- II Statements -- 11 Predicate Transformers -- 12 The Refinement Calculus Hierarchy -- 13 Statements -- 14 Statements as Games -- 15 Choice Semantics -- 16 Subclasses of Statements -- 17 Correctness and Refinement of Statements -- III Recursion and Iteration -- 18 Well-founded Sets and Ordinals -- 19 Fixed Points -- 20 Recursion -- 21 Iteration and Loops -- 22 Continuity and Executable Statements -- 23 Working with Arrays -- 24 The N-Queens Problem -- 25 Loops and Two-Person Games -- IV Statement Subclasses -- 26 Statement Classes and Normal Forms -- 27 Specification Statements -- 28 Refinement in Context -- 29 Iteration of Conjunctive Statements -- References.