In mathematics, an existence theorem is a theorem with a statement beginning 'there exist(s) ..', or more generally 'for all x, y, ... there exist(s) ...'. That is, in more formal terms of symbolic logic, it is a theorem with a prenex normal form involving the existential quantifier. Many such theorems will not do so explicitly, as usually stated in standard mathematical language. For example, the statement that the sine function is continuous; or any theorem written in big O notation. The quantification can be found in the definitions of the concepts used.
A controversy that goes back to the early twentieth century concerns the issue of purely theoretic existence theorems, i.e., theorems depending on non-constructive foundational material such as the axiom of infinity, the axiom of choice, or the law of excluded middle. Such theorems provide no indication as to how to exhibit, or construct, the object whose existence is claimed. From a constructivist viewpoint, by admitting them mathematics loses its concrete applicability. The opposing viewpoint is that abstract methods are far-reaching, in a way that numerical analysis cannot be.
An existence theorem is purely theoretical if the proof given of it doesn't also indicate a construction of whatever kind of object the existence of which is asserted. Such a proof is non-constructive, and the point is that the whole approach may not lend itself to construction. In terms of algorithms, purely theoretical existence theorems bypass all algorithms for finding what is asserted to exist. They contrast with "constructive" existence theorems. Many constructivist mathematicians work in extended logics (such as intuitionistic logic) where such existence statements are intrinsically weaker than their constructive counterparts.