Mathematical discovery on understanding, learning, and teaching problem solving - Polya, George (Wiley, 1981)