The Omitting Types Theorem asserts that for a complete countable theory and a countable set of countable non-principal types, there exists a countable model omitting all types in the set. This result shows models can be constructed with 'sparse' type-realizations, avoiding prescribed types. It provides a method for controlling model structure by selecting which types to realize.
You know what types are and the distinction between realization and omission. A type p(x) over a complete theory T is a consistent set of formulas in one free variable — it describes a possible "kind of element" that a model could contain. A type is principal if it is isolated by a single formula φ: every formula in p is entailed by T together with φ, meaning any model of T + ∃x φ(x) must realize p. A type is non-principal (or non-isolated) if no single formula isolates it — the type is spread across infinitely many independent conditions, none of which alone forces the whole type. The Omitting Types Theorem tells you which types can be excluded from a model.
The theorem: if T is a complete consistent theory in a countable language, and {p_i : i < ω} is a countable family of non-principal types over T, then there exists a countable model of T that omits every p_i. A model "omits" a type p if no element of the model satisfies all formulas in p simultaneously — the type is never fully realized. This is a genuine construction theorem, not merely an existence claim by cardinality arguments.
The proof uses a modified Henkin construction, the same technique that proves the completeness theorem. You build a complete consistent Henkin theory H whose constants avoid realizing any p_i, guided by a density condition: for each formula ψ consistent with T and each type p_i, there must exist a formula ψ' extending ψ (consistent with T) such that ψ' does not commit to realizing p_i. Non-principality is exactly what guarantees this density condition can always be satisfied — if p_i were principal (isolated by φ), then any formula consistent with ∃x φ(x) could not avoid realizing p_i. The countability of the language and the types are needed to carry out the construction in ω steps.
The theorem's power is in showing that theories can have sparse models — models that avoid prescribed complex behavior. It is a counterpart to the Löwenheim-Skolem theorem: where Löwenheim-Skolem gives models of all infinite cardinalities, Omitting Types gives countable models with controlled internal structure. Together, these tools let model theorists sculpt exactly which models of a theory exist. The theorem is also the foundation for the study of atomic models (models that realize only principal types) and prime models (the smallest models of a theory), which appear throughout classification theory.