Discrete Mathematics for Computer Scientists and Mathematicians, Second Edition by Joe L. Mott, Abraham Kandel and Theodore P. Baker.