Practical Logic by Douglas J. Soccio