How to study for hard math proofs? Most of the content is new to me and there are a lot of theorems and proofs that I am learning; not that I need to know all of them but I enjoy to learn more. Some of the concepts (like open sets) or some of the proofs are quite time consuming; for instance, it takes me about 45 minutes to understand a hard proof. Is this normal?
 A: Regarding remembering lengthy proofs, my technique is always to take that proof through a certain process:


*

*Write the proof on a piece of paper or a board.

*Make rather detailed guidelines for how to reconstruct the proof where you break it into parts. Those may contain a substantial excerpt of the actual equations and arguments.

*Reconstruct the proof using your guidelines.

*Distill your guidelines into more brief hints.

*Reconstruct the proof using only the hints, and you should be good to go.


It does require work, but there is no shortcut. This is not as time consuming as it may sound compared to the outcome.

As others have mentioned, do not go into this much detail with every tiny proof you stumble upon. You have to consider each time if it is relevant and serves a goal.

Regarding reconstructing proofs at a much later date, I must say that the mind works in mysterious ways. Over time you internalize techniques and even theorems on a higher level, so that these become readily available for tackling other problems. That has already happened to you with some of the techniques from previous courses. Otherwise you would not enjoy math so much by now.
I have taught at Danish Upper Secondary Schools for years now, and all those proofs have become so simple now, that I do not have to remember much to reconstruct them. I just apply the techniques I know and my general idea of what needs to be done, and in that manner I can reconstruct pretty much three volumes from memory at any date, I think. But these are simple things like basic proofs in differential calculus and vector calculus and the like.

Finally, just two words about my hero, Leibniz. He thought that the use of well suited language and notation was key to widening your understanding. He invented the notation $dx$ and $\int$ which to some degree shows this trademark. I too like re-phrasing proofs to try and make the language and notation a better vehicle for understanding!
A: The key is to understand the reasoning for each step of the proof. Most steps of a proof are simply the application of identities intrinsic to that field of mathematics.  Each academic level of a mathematics relies on a finite number of techniques that make up all proofs at that level; so by understanding them all you will understand the topic in much more detail (and have some tools for other branches of mathematics). Some steps of a proof may seem less natural, and those techniques are techniques that are intrinsic to another branch of mathematics you may not be familiar with. But, if you can comprehend why the mathematician did those kind of steps, you are widening mathematical capacity to understand other branches. I think the best way to understand a proof is to to try and prove something yourself. 
Direct proofs are easy to understand. Start by using the identities intrinsic to your field and see what results you can come up with. Then compare your attempt with others to gain some understanding of the advantages of the steps you missed. 
Sometimes a proof has more than one part. Consider the result of each part as a separate theorem and see if you can prove any part of it.  Compound proofs are usually more difficult because one part may seem unnecessary and so the proof of the apparently unnecessary theorem may not seem natural. The two main ways I know  to make those sub-theorems of a compound theorem more natural, is 1) by playing with the other sub-theorems to try and show  things (and failing) or 2) have somebody (like your lecturer) break down the theorem into those sub-theorems and explain why we need both sub-theorems! 
Don't worry about the amount of time you spend playing/research understanding proofs. It is important! Once you grasp them, you will find that it clarifies other uncertainties in other proofs. So don't think of the situation as spending time to understand a single proof, in fact you are spending time to understand multiple proofs, as well as building an understanding of deeper concepts that derive from those concepts that you don't fully understand, because the reason you are not understanding a proof is because you are not grasping some concept! 
Other types of proof are just as easy, and can be learned in a similar way. Sometimes you will be presented a theorem whose proof relies on many unique techniques compared with the proofs of other theorems at your level. Think of  understanding these as understanding the mindset of mathematicians in some other branch of mathematics you are not yet familiar with. It can be difficult, and perhaps even unenjoyable but by discovering a new mindset, proving things 4 years later is possible because you have the mindset to think of theorems in the required way and thus create the proofs by playing. Try and find the vocabulary that categorises proofs, and you will have resource to many techniques. Lastly, with those seemingly more unique proofs, see if you can use those techniques or the mindset itself to prove any other theorems of your course. If not, try and specify conditions when using the categorised approach is appropiate. 
