A Philosophical Companion To First-Order Logic by