Algebra of programming - Bird Richard 1943-; Moor Oege de (Prentice-Hall International Series in Computer Science, 1997)