Reading proofs vs. Attempting proofs, which one is more helpful? In my discrete math course, I am often finding myself spending way too much time attempting a single math proof. 
I am starting to think that reading as many proof solutions as possible is a better approach to practice. I guess this would help me recognize more proof patterns on the exam. 
Did anyone get significantly better at writing eloquent proofs by simply reading and absorbing as many proofs? Or did the process of thinking from ground up in new proof situations help you develop your proof writing skills?
 A: The problem with reading a proof before attempting them yourself, is you have no muscle-memory to help you remember them. It's like learning to swim from a book.
The ideal process is something along the lines of. . .

*

*Attempt the proof on your own. If the proof is an exercise from a textbook, you can be fairly certain you already have the tools to complete the proof at your disposal -- there is no 'flash of inspiration' required. How long to do this depends on how much progress you seem to be making. If you are making absolutely no progress and the problem completely stumps you, a good idea is to go back to the logic of earlier proofs, and see if anything might apply to your current problem.


*If you are unsuccessful, then read the solution or complete proof. Often your attempt will read like a messier, incomplete version of the given solution. Skip to where your attempts end and try to see what stopped you from finishing. This way you will understand which parts of the exercise are hard, which parts are easy, and you will be able to pick out what was missing with your approach; better plumb the depths of your understanding; and see what you have to learn, and what you already understand. Don't bother memorising the parts of the given proof that you already gotten in some form. You already know them, albeit in a slightly different form.


*Come back a while later and try the same exercise again. If you can do it, there is no need to consult the sample solution to make sure you have 'the correct' proof.
