The Science of Programming

Authors:

ISBN: 978-0-387-96480-5 (Print) 978-1-4612-5983-1 (Online)

Table of contents (24 chapters)

previous Page of 2
  1. Front Matter

    Pages i-xv

  2. Why Use Logic? Why Prove Programs Correct?

    1. No Access

      Chapter

      Pages 1-5

      Why Use Logic? Why Prove Programs Correct?

  3. Propositions and Predicates

    1. Front Matter

      Pages 7-7

    2. No Access

      Chapter

      Pages 8-18

      Propositions

    3. No Access

      Chapter

      Pages 19-27

      Reasoning using Equivalence Transformations

    4. No Access

      Chapter

      Pages 28-65

      A Natural Deduction System

    5. No Access

      Chapter

      Pages 66-87

      Predicates

    6. No Access

      Chapter

      Pages 88-98

      Notations and Conventions for Arrays

    7. No Access

      Chapter

      Pages 99-105

      Using Assertions To Document Programs

  4. The Semantics of a Small Language

    1. Front Matter

      Pages 107-107

    2. No Access

      Chapter

      Pages 108-113

      The Predicate Transformer wp

    3. No Access

      Chapter

      Pages 114-116

      The Commands skip, abort and Composition

    4. No Access

      Chapter

      Pages 117-130

      The Assignment Command

    5. No Access

      Chapter

      Pages 131-137

      The Alternative Command

    6. No Access

      Chapter

      Pages 138-148

      The Iterative Command

    7. No Access

      Chapter

      Pages 149-162

      Procedure Call

  5. The Development of Programs

    1. No Access

      Chapter

      Pages 163-171

      Introduction

    2. No Access

      Chapter

      Pages 172-178

      Programming as a Goal-Oriented Activity

    3. No Access

      Chapter

      Pages 179-192

      Developing Loops from Invariants and Bounds

    4. No Access

      Chapter

      Pages 193-215

      Developing Invariants

    5. No Access

      Chapter

      Pages 216-220

      Notes on Bound Functions

    6. No Access

      Chapter

      Pages 221-236

      Using Iteration Instead of Recursion

    7. No Access

      Chapter

      Pages 237-252

      Efficiency Considerations

previous Page of 2