If you come up with a proof of a mathematical proposition, how do you verify the proof is correct? Put it another way, how do you avoid a wrong proof? I guess there is no definitive answer to this. However, I believe this question is important. Any idea, suggestion or method to help make sure a proof is correct would be appreciated.
EDIT Thanks for all your suggestions. I'd like to add my idea which is perhaps similar to Leslie Lamport's (I haven't read his paper yet). My idea is basically "divide and conquer". Divide your proof to small propositions or lemmas. The smaller, the better. Ideally each of these small proposition should be trivial. To do this, first divide the main theorem into several propositions. The main theorem should be almost trivial assuming each proposition is correct. Then divide each proposition into several propositions. Repeat this process until each proposition cannot be divided or trivial enough. Then apply some or all of your ideas to each proposition. Generalizing your theorem can help make this process easier(there is an adage(?): if your problem is difficult, generalize it).
I got this idea from the Grothendieck's approach in his EGA. See the article "The rising sea; Grothendieck on simplicity and generality" by Colin McLarty.