This article includes a list of references, related reading, or external links, but its sources remain unclear because it lacks inline citations. Please help to improve this article by introducing more precise citations. (August 2013) (Learn how and when to remove this template message)

In model theory and related areas of mathematics, a **type** is an object that describes how a (real or possible) element or finite collection of elements in a mathematical structure might behave. More precisely, it is a set of first-order formulas in a language *L* with free variables *x*_{1}, *x*_{2},..., *x*_{n} that are true of a set of *n*-tuples of an *L*-structure . Depending on the context, types can be **complete** or **partial** and they may use a fixed set of constants, *A*, from the structure . The question of which types represent actual elements of leads to the ideas of saturated models and **omitting types**.

Consider a structure for a language *L*. Let *M* be the universe of the structure. For every *A* ⊆ *M*, let *L*(*A*) be the language obtained from *L* by adding a constant *c*_{a} for every *a* ∈ *A*. In other words,

A **1-type (of ) over** *A* is a set *p*(*x*) of formulas in *L*(*A*) with at most one free variable *x* (therefore 1-type) such that for every finite subset *p*_{0}(*x*) ⊆ *p*(*x*) there is some *b* ∈ *M*, depending on *p*_{0}(*x*), with (i.e. all formulas in *p*_{0}(*x*) are true in when *x* is replaced by *b*).

Similarly an *n*-type (of ) over*A* is defined to be a set *p*(*x*_{1},...,*x*_{n}) = *p*(* x*) of formulas in

A **complete type** of over *A* is one that is maximal with respect to inclusion. Equivalently, for every either or . Any non-complete type is called a **partial type**.
So, the word **type** in general refers to any *n*-type, partial or complete, over any chosen set of parameters (possibly the empty set).

An *n*-type *p*(* x*) is said to be

A type *p*(* x*) is said to be

A model that realizes the maximum possible variety of types is called a saturated model, and the ultrapower construction provides one way of producing saturated models.

Consider the language *L* with one binary relation symbol, which we denote as . Let be the structure for this language, which is the ordinal with its standard well-ordering. Let denote the first-order theory of .

Consider the set of *L*(ω)-formulas . First, we claim this is a type. Let be a finite subset of . We need to find a that satisfies all the formulas in . Well, we can just take the successor of the largest ordinal mentioned in the set of formulas . Then this will clearly contain all the ordinals mentioned in . Thus we have that is a type.
Next, note that is not realized in . For, if it were there would be some that contains every element of .
If we wanted to realize the type, we might be tempted to consider the structure , which is indeed an extension of that realizes the type. Unfortunately, this extension is not elementary, for example, it does not satisfy . In particular, the sentence is satisfied by this structure and not by .

So, we wish to realize the type in an elementary extension. We can do this by defining a new *L*-structure, which we will denote . The domain of the structure will be where is the set of integers adorned in such a way that . Let denote the usual order of . We interpret the symbol in our new structure by . The idea being that we are adding a "-chain", or copy of the integers, above all the finite ordinals. Clearly any element of realizes the type . Moreover, one can verify that this extension is elementary.

Another example: the complete type of the number 2 over the empty set, considered as a member of the natural numbers, would be the set of all first-order statements (in the language of Peano arithmetic), describing a variable *x*, that are true when *x* = 2. This set would include formulas such as , , and . This is an example of an isolated type, since, working over the theory of the naturals, the formula implies all other formulas that are true about the number 2.

As a further example, the statements

and

describing the square root of 2 are consistent with the axioms of ordered fields, and can be extended to a complete type. This type is not realized in the ordered field of rational numbers, but is realized in the ordered field of reals. Similarly, the infinite set of formulas (over the empty set) {x>1, x>1+1, x>1+1+1, ...} is not realized in the ordered field of real numbers, but is realized in the ordered field of hyperreals. Similarly, we can specify a type that is realized by an infinitesimal hyperreal that violates the Archimedean property.

The reason it is useful to restrict the parameters to a certain subset of the model is that it helps to distinguish the types that can be satisfied from those that cannot. For example, using the entire set of real numbers as parameters one could generate an uncountably infinite set of formulas like , , ... that would explicitly rule out every possible real value for *x*, and therefore could never be realized within the real numbers.

It is useful to consider the set of complete *n*-types over *A* as a topological space. Consider the following equivalence relation on formulas in the free variables *x*_{1},..., *x*_{n} with parameters in *A*:

One can show that if and only if they are contained in exactly the same complete types.

The set of formulas in free variables *x*_{1},...,*x*_{n} over *A* up to this equivalence relation is a Boolean algebra (and is canonically isomorphic to the set of *A*-definable subsets of *M*^{n}). The complete *n*-types correspond to ultrafilters of this Boolean algebra. The set of complete *n*-types can be made into a topological space by taking the sets of types containing a given formula as a basis of open sets. This constructs the Stone space associated to the Boolean algebra, which is a compact, Hausdorff, and totally disconnected space.

**Example**. The complete theory of algebraically closed fields of characteristic 0 has quantifier elimination, which allows one to show that the possible complete 1-types (over the empty set) correspond to:

- Roots of a given irreducible non-constant polynomial over the rationals with leading coefficient 1. For example, the type of square roots of 2. Each of these types is an isolated point of the Stone space.
- Transcendental elements, which are not roots of any non-zero polynomial. This type is a point in the Stone space that is closed but not isolated.

In other words, the 1-types correspond exactly to the prime ideals of the polynomial ring **Q**[*x*] over the rationals **Q**: if *r* is an element of the model of type *p*, then the ideal corresponding to *p* is the set of polynomials with *r* as a root (which is only the zero polynomial if *r* is transcendental). More generally, the complete *n*-types correspond to the prime ideals of the polynomial ring **Q**[*x*_{1},...,*x*_{n}], in other words to the points of the prime spectrum of this ring. (The Stone space topology can in fact be viewed as the Zariski topology of a Boolean ring induced in a natural way from the Boolean algebra. While the Zariski topology is not in general Hausdorff, it is in the case of Boolean rings.) For example, if *q*(*x*,*y*) is an irreducible polynomial in two variables, there is a 2-type whose realizations are (informally) pairs (*x*,*y*) of elements with *q*(*x*,*y*)=0.

Given a complete *n*-type *p* one can ask if there is a model of the theory that **omits** *p*, in other words there is no *n*-tuple in the model that realizes *p*.
If *p* is an isolated point in the Stone space, i.e. if {*p*} is an open set, it is easy to see that every model realizes *p* (at least if the theory is complete). The **omitting types theorem** says that conversely if *p* is not isolated then there is a countable model omitting *p* (provided that the language is countable).

**Example**: In the theory of algebraically closed fields of characteristic 0, there is a 1-type represented by elements that are transcendental over the prime field. This is a non-isolated point of the Stone space (in fact, the only non-isolated point). The field of algebraic numbers is a model omitting this type, and the algebraic closure of any
transcendental extension of the rationals is a model realizing this type.

All the other types are "algebraic numbers" (more precisely, they are the sets of first-order statements satisfied by some given algebraic number), and all such types are realized in all algebraically closed fields of characteristic 0.