Discrete mathematics for computer science - Haggard, Gary (Cengage, 2006)