Socratic Logic by Peter Kreeft