Beginning with the basic concepts of logic and set theory, this book teaches the language of mathematics and how it is interpreted. The author uses these concepts as the basis for a step-by-step breakdown of the most important techniques used in constructing proofs. He shows how complex proofs are built up from these smaller steps, using detailed scratch work sections to expose the machinery of proofs about the natural numbers, relations, functions, and infinite sets. To give students the opportunity to construct their own proofs, this new edition contains over 200 new exercises, selected solutions, and an introduction to Proof Designer software.