Abstract Thinking and Scientific Reasoning Development