A Passage To Abstract Mathematics by Mark E. Watkins & Jeffrey L. Meyer