Mathematical structures for computer science : a modern approach to discrete mathematics - Gersting, Judith L. (W. H. Freeman, 2007)