Thinking mathematically - Blitzer, Robert (Pearson Custom Publishing, 2009)