Philosophical Foundations of Explanation