Logical Reasoning -Robert Nederpelt and Fairouz Kamareddine