proved the countable compactness theorem in 1930. Anatoly Maltsev proved the uncountable case in 1936.
Applications
The compactness theorem has many applications in model theory; a few typical results are sketched here. The compactness theorem implies Robinson's principle: If a first-order sentence holds in 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 φ 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 1+1 ≠ 0, 1+1+1 ≠ 0, …, is not satisfiable. Therefore, there is a finite subset A of these sentences that is not satisfiable. We can assume that A contains ¬φ, the field axioms, and, for some k, the first k sentences of the form 1+1+...+1 ≠ 0. Let B contain all the sentences of A except ¬φ. Then any field with a characteristic greater than k is a model of B, and ¬φ together with B is not satisfiable. This means that φ must hold in every model of B, which means precisely that φ holds in every field of characteristic greater than k. 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. So, for instance, there are nonstandard models of Peano arithmetic with uncountably many 'natural numbers'. To achieve this, let T be the initial theory and let κ be any cardinal number. Add to the language of T one constant symbol for every element of κ. Then add to T a collection of sentences that say that the objects denoted by any two distinct constant symbols from the new collection are distinct. Since every finite subset of this new theory is satisfiable by a sufficiently large finite model of T, 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 ε > 0 and the axioms ε < 1/n for all positive integersn. Clearly, the standard real numbers R 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 *R that satisfies Σ and also contains an infinitesimal element ε. A similar argument, adjoining axioms ω > 0, ω > 1, etc., shows that the existence of infinitely large integers cannot be ruled out by any axiomatization Σ of the reals.
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. 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. 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 totruth 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 L, and let Σ be a collection of L-sentences such that every finite subcollection of L-sentences, i ⊆ Σ of it has a model. Also let be the direct product of the structures and I be the collection of finite subsets of Σ. For each i in I let Ai :=. The family of all of these sets Ai generates a proper filter, so there is an ultrafilterU containing all sets of the form Ai. Now for any formula φ in Σ we have:
the set A is in U
whenever j ∈ A, then φ ∈ j, hence φ holds in
the set of all j with the property that φ holds in is a superset of A, hence also in U
Using Łoś's theorem we see that φ holds in the ultraproduct. So this ultraproduct satisfies all formulas in Σ.