In mathematical logic, the **compactness theorem** states that a set of first-order sentences has a model if and only if every finite subset of it has a model. This theorem is an important tool in model theory, as it provides a useful (but generally not effective) method for constructing models of any set of sentences that is finitely consistent.

The compactness theorem for the propositional calculus is a consequence of Tychonoff's theorem (which says that the product of compact spaces is compact) applied to compact Stone spaces,^{[1]} hence the theorem's name. Likewise, it is analogous to the finite intersection property characterization of compactness in topological spaces: a collection of closed sets in a compact space has a non-empty intersection if every finite subcollection has a non-empty intersection.

The compactness theorem is one of the two key properties, along with the downward Löwenheim–Skolem theorem, that is used in Lindström's theorem to characterize first-order logic. Although there are some generalizations of the compactness theorem to non-first-order logics, the compactness theorem itself does not hold in them, except for a very limited number of examples.^{[2]}

Kurt Gödel proved the countable compactness theorem in 1930. Anatoly Maltsev proved the uncountable case in 1936.^{[3]}^{[4]}

The compactness theorem has many applications in model theory; a few typical results are sketched here.

The compactness theorem implies the following result, stated by Abraham Robinson in his 1949 dissertation.

Robinson's principle:^{[5]}^{[6]} If a first-order sentence holds in every field of characteristic zero, then there exists a constant such that the sentence holds for every field of characteristic larger than This can be seen as follows: suppose is a sentence that holds in every field of characteristic zero. Then its negation together with the field axioms and the infinite sequence of sentences

is not satisfiable (because there is no field of characteristic 0 in which holds, and the infinite sequence of sentences ensures any model would be a field of characteristic 0). Therefore, there is a finite subset of these sentences that is not satisfiable. must contain because otherwise it would be satisfiable. Because adding more sentences to does not change unsatisfiability, we can assume that contains the field axioms and, for some the first sentences of the form Let contain all the sentences of except Then any field with a characteristic greater than is a model of and together with is not satisfiable. This means that must hold in every model of which means precisely that holds in every field of characteristic greater than This completes the proof.

The Lefschetz principle, one of the first examples of a transfer principle, extends this result. A first-order sentence in the language of rings is true in *some* (or equivalently, in *every*) algebraically closed field of characteristic 0 (such as the complex numbers for instance) if and only if there exist infinitely many primes for which is true in *some* algebraically closed field of characteristic in which case is true in *all* algebraically closed fields of sufficiently large non-0 characteristic ^{[5]}
One consequence is the following special case of the Ax–Grothendieck theorem: all injective complex polynomials are surjective^{[5]} (indeed, it can even be shown that its inverse will also be a polynomial).^{[7]} In fact, the surjectivity conclusion remains true for any injective polynomial where is a finite field or the algebraic closure of such a field.^{[7]}

A second application of the compactness theorem shows that any theory that has arbitrarily large finite models, or a single infinite model, has models of arbitrary large cardinality (this is the Upward Löwenheim–Skolem theorem). So for instance, there are nonstandard models of Peano arithmetic with uncountably many 'natural numbers'. To achieve this, let be the initial theory and let be any cardinal number. Add to the language of one constant symbol for every element of Then add to a collection of sentences that say that the objects denoted by any two distinct constant symbols from the new collection are distinct (this is a collection of sentences). Since every *finite* subset of this new theory is satisfiable by a sufficiently large finite model of or by any infinite model, the entire extended theory is satisfiable. But any model of the extended theory has cardinality at least .

A third application of the compactness theorem is the construction of nonstandard models of the real numbers, that is, consistent extensions of the theory of the real numbers that contain "infinitesimal" numbers. To see this, let be a first-order axiomatization of the theory of the real numbers. Consider the theory obtained by adding a new constant symbol to the language and adjoining to the axiom and the axioms for all positive integers Clearly, the standard real numbers are a model for every finite subset of these axioms, because the real numbers satisfy everything in and, by suitable choice of can be made to satisfy any finite subset of the axioms about By the compactness theorem, there is a model that satisfies and also contains an infinitesimal element

A similar argument, this time adjoining the axioms etc., shows that the existence of numbers with infinitely large magnitudes cannot be ruled out by any axiomatization of the reals.^{[8]}

It can be shown that the hyperreal numbers satisfy the transfer principle:^{[9]} a first-order sentence is true of if and only if it is true of

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. In fact, the compactness theorem is equivalent to Gödel's completeness theorem, and both are equivalent to the Boolean prime ideal theorem, a weak form of the axiom of choice.^{[10]}

Gödel originally proved the compactness theorem in just this way, but later some "purely semantic" proofs of the compactness theorem were found; that is, proofs that refer to *truth* but not to *provability*. One of those proofs relies on ultraproducts hinging on the axiom of choice as follows:

**Proof**:
Fix a first-order language and let be a collection of -sentences such that every finite subcollection of -sentences, of it has a model Also let be the direct product of the structures and be the collection of finite subsets of For each let
The family of all of these sets generates a proper filter, so there is an ultrafilter containing all sets of the form

Now for any sentence in

- the set is in
- whenever then hence holds in
- the set of all with the property that holds in is a superset of hence also in

Łoś's theorem now implies that holds in the ultraproduct So this ultraproduct satisfies all formulas in