The aim I am pursuing here is to describe some general aspects of mathematical proofs. In my view, a mathematical proof is a warrant to assert a non-tautological statement which claims that certain objects (possibly a certain object) enjoy a certain property. Because it is proved, such a statement is a mathematical theorem. In my view, in order to understand the nature of a mathematical proof it is necessary to understand the nature of mathematical objects. If we understand them as external entities whose "existence" is independent of us and if we think that their enjoying certain properties is a fact, then we should argue that a theorem is a statement that claims that this fact occurs. If we also maintain that a mathematical proof is internal to a mathematical theory, then it becomes very difficult indeed to explain how a proof can be a warrant for such a statement. This is the essential content of a dilemma set forth by P. Benacerraf (cf. Benacerraf 1973). Such a dilemma, however, is dissolved if we understand mathematical objects as internal constructions of mathematical theories and think that they enjoy certain properties just because a mathematical theorem claims that they enjoy them.