The compactness theorem is a basic fact in symbolic logic and model theory and asserts that a set of first-order sentences is satisfiable, i.e., has a model, if and only if every finite subset of it is satisfiable.

Applications

From the theorem it follows for instance that if some first-order sentence holds for every field of characteristic zero, then there exists a constant p such that the sentence holds for every field of characteristic larger than p. This can be seen as follows: suppose S is the sentence under consideration. Then its negation ~S, together with the field axioms and the infinite series of sentences 1+1 ≠ 0, 1+1+1 ≠ 0, ... is not satisfiable by assumption. Therefore a finite subset of these sentences is not satisfiable, meaning that S holds in those fields which have large enough characteristic.

Also, it follows from the theorem that any theory that has an infinite model has models of arbitrary large cardinality. So, for instance, there are nonstandard models of Peano arithmetic with uncountably many natural numbers. The nonstandard analysis is another example where infinite natural numbers appear, a possibility that cannot be excluded by any axiomatization - also a consequence of the compactness theorem.

Proofs

One can prove the compactness theorem using Gödel's completeness theorem, which establishes that a set of sentences is satisfiable if and only if no contradiction can be proven from it. Since proofs are always finite and therefore involve only finitely many of the given sentences, the compactness theorem follows.

Gödel originally proved the compactness theorem in just this way, but later some "purely semantic" proofs of the compactness theorem were found, i.e., proofs that refer to truth but not to provability. One of those proofs relies on ultraproducts.