Rigorous Mathematical Thinking by Alex Kozulin & James T. Kinard