Understanding how a proof was developed Basically, my question is about methods of approaching a given proof. Let me elaborate on that with an example. 
Proposition: Suppose $a$ and $b$ $\in R$ and $a < b$. There is always a rational number, say $x$, in the range $a < x < b$.
Proof: Chose N $\in N$ sufficiently large that $\frac{1}{N} < (b-a)$. Chose the least integer $z$ such that $b$N $\leq z$. $z$ being the least such integer, $(z-1) < b$N. Thus $\frac{(z-1)}{N} < b$. From then on, proof applies some inequality manipulation to show that this number is also greater than $a$. At this step, we conclude by noting that $\frac{(z-1)}{N}$ is a rational number. 
Now I picked this example since it is simple but the following things I'll say plagues me in most analysis proofs, since I started studying it. I consider a proof understood if I can fully see how the mathematician might have come up with the proof. Here, for example, it took me a lot of time to make sense why we chose N in such a way. Verifying the deductive steps is easy most of the time but uncovering the intention behind each step takes significant time. Studying rigorous real analysis for the first time, I feel like my approach to understanding proofs makes me waste a lot of time.
Should I skim faster and skip details at first reading, should I abandon my obsession with justifying each step? I expected studying rigorous mathematics to take more time then my past engineering math efforts but this feels painful at times and makes you feel like giving up. Is there a book that teaches the skills needed, if there is any such skills, to better uncover the intention behind proofs?
 A: When you're reading a proof, you're only seeing the finished product---the only standard is that each step is logically true, not that it is intuitively obvious where each value comes from (although good exposition can help!). What you're missing is that there is a bunch of scratch work going on before a formal proof is written, often by working backwards from the conclusion. Using your example, my scratch work / thought process would be something like:


*

*Want: $a < p/N < b$. Multiply through by $N$ to obtain $a N < p < bN$. 

*Since $p$ and $N$ are integers, we need to pick $N$ large enough so that $bN - aN > 1$ in order for such a $p$ to exist (need a big enough "gap" to include an integer). Since $b>a$, that means we need $N > \frac{1}{b-a}$. Equivalently, $\frac{1}{N} < b-a$. For simplicity, take the smallest such integer for $N$.

*Now that we have $N$, how can we construct $p$? Etc.

*Alternatively, you could envision all the $N$-adic rationals $\{ p/N ~:~ p \in \mathbb{Z} \}$ and think of increasing $N$ (decreasing the spacing) until one of them must land in between $a$ and $b$. In order for that to happen, the distance between consecutive pairs must be sufficiently small. Etc.


Note that this string of reasoning would not constitute a formal proof---we started out by assuming our conclusion and made observations from there. However, it is instructive for telling us how our proof will need to be constructed, in particular telling us how to find $N$ and $p$ in order to eventually construct a rational number between $a$ and $b$.
