Copying from : http://gowers.wordpress.com/2011/10/07/basic-logic-tips-for-handling-variables/#comment-12274 by Terrance Tao
This is one reason why it is good, when writing a lengthy argument, to encapsulate parts of the argument into lemmas and sublemmas, so that variables that are created for the sole purpose of proving one of these lemmas are automatically removed from the scene by the end-of-proof symbol, thus reducing clutter in the ambient “namespace”. (This is also why it is bad form to “reach into” the proof of such a lemma and use statements that involve variables whose scope is limited to that proof, to assist an argument outside of that proof.)
This is one reason why it is good, when writing a lengthy argument, to encapsulate parts of the argument into lemmas and sublemmas, so that variables that are created for the sole purpose of proving one of these lemmas are automatically removed from the scene by the end-of-proof symbol, thus reducing clutter in the ambient “namespace”. (This is also why it is bad form to “reach into” the proof of such a lemma and use statements that involve variables whose scope is limited to that proof, to assist an argument outside of that proof.)