[OT[ proving programs for novices

Doaitse Swierstra doaitse@cs.uu.nl
Tue, 15 Apr 2003 21:37:40 +0200

One might be interested in the newly published book by Roland 
Backhouse: "Program Construction : Calculating Implementations from 


I quote from the publishers web site:

"The ever-increasing dependence of our lives and livelihoods on the 
correct functioning of computer software means that logic and program 
correctness are core elements of all good computer science degrees. 
This book presents both these topics in one self-contained text.

The focus of the book is on "correct-by-construction" program design -- 
the discipline of calculating programs from their specifications. 
Modern, calculational logic is introduced in combination with key 
program construction principles, such as the assignment axiom, loop 
invariants and bound functions. This material is intertwined with 
motivational discussion, programming examples and challenging 
problem-solving exercises, bringing the book alive for its intended 
audience, undergraduates in computer science and mathematics, as well 
as professional programmers wishing to further develop their 
programming skills.

The book covers the elements of logic and program correctness that form 
the foundations of further study --- the logical connectives and their 
algebraic properties, induction, quantifiers and program construction 
rules. Substantial examples of program construction are included. Many 
exercises are provided, all with detailed solutions.   "

  Doaitse Swierstra