Mathematics as Problem Solving