How can you be reasonably assured that you are not engaging in circular reasoning when you invoke a theorem, lemma, etc.?
For instance, what if you accidentally "prove" a theorem using a consequence of that theorem itself? Such a procedure was proposed by a classmate in an abstract algebra class when the professor asked for suggestions.