The theory of computer science : a programming approach. - Brady, J. M.