Thinking mathematically - Blitzer, Robert (Prentice-Hall, 2000)