 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 method for constructing models of any set of sentences that is finitely consistent. The compactness theorem for the propositional calculus is a consequence of Tykonov's theorem which says that the product of compact spaces is compact applied to compact stone spaces, hence, the theorem's name. Likewise, it has 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 and if every finite sub-collection has a non-empty intersection. The compactness theorem is one of the two key properties, along with the downward Laoh-Enhem Scholem theorem, that is used in Winston'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.