How to learn the necessary proof writing skills / set theory to work through Spivak's Calculus I am planning on being a math major this coming fall and will likely be enrolled in honors calculus. In preparation for this course and having  found myself with an abundance of free time, I have begun working through Spivak's calculus to get out ahead of the curve.
Unfortunately, I have found that my proof writing ability, my knowledge/intuition of mathematic logic, and my understanding of the requisite set theory to write these proofs is not at the level of Spivak's questions. What should I do to bring myself up to speed (books, resources etc.)? For reference, I have solid knowledge of computational single and multi variable calculus, but little to no experience writing formal proofs besides a super dumbed-down delta-epsilon proof.
Please delete if this breaks any rules, as this is my first post here.

Do you know Daniel Velleman's fine book How To Prove It (CUP)? This could well be worth looking at as a first port of call. From his blurb:

Many students have trouble the first time they take a mathematics course in which proofs play a significant role. This new edition of Velleman's successful text will prepare students to make the transition from solving problems to proving theorems by teaching them the techniques needed to read and write proofs. The book begins with the basic concepts of logic and set theory, to familiarize students with the language of mathematics and how it is interpreted. These concepts are used as the basis for a step-by-step breakdown of the most important techniques used in constructing proofs. The author 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.

Many students have found this book of great help.
