Algebra of programming - Bird, Richard . (Prentice Hall of India, 1997)