Discrete Mathematics For Computer Scientists by J.K. Truss