Mathematical Structures for Computer Science : A modern treatment of discrete mathematics - Gersting, Judith L. (W.H.Freeman, 2002)