The nature of mathematical explanation