Thinking mathematically - Blitzer, Robert (Pearson, 2012)