Elements of Logic Via Numbers and Sets by David L. Johnston & David L. Johnson