Discrete mathematics - Gallier, Jean (Universitext, 2011)