The Cosmological Argument from Plato to Leibniz by William Lane Craig