The development of mathematical thinking