Thinking Mathematically by John Mason & Leonie Burton