Advanced Mathematical Thinking by David Tall