Skip to content

6.2 Types and Realizations

Definition of complete and partial types, realization of types in structures, examples, consistency, and basic properties.

Types give a precise way to describe all first order properties that an element, or a tuple of elements, may satisfy in a structure. Instead of looking at one formula at a time, a type collects many formulas together and treats them as a possible description of an element. This is useful because model theory often studies not only the elements already present in a structure, but also the kinds of elements that could exist in a larger structure.

Let LL be a first order language, let M\mathcal M be an LL-structure with domain MM, and let AMA \subseteq M be a set of parameters. We write L(A)L(A) for the language obtained from LL by adding a constant symbol for each element of AA. In practice, a formula over AA is a formula allowed to use elements of AA as parameters.

Partial Types

A partial type is a set of formulas that is intended to describe a possible element or tuple.

Definition 6.30 (Partial Type)

Let AMA \subseteq M, and let xx be a tuple of variables:

x=(x1,,xn). x = (x_1,\dots,x_n).

A partial nn-type over AA is a set p(x)p(x) of L(A)L(A)-formulas whose free variables are among xx.

Thus:

p(x)={φi(x):iI} p(x) = \{\varphi_i(x) : i \in I\}

where each φi(x)\varphi_i(x) is a formula with parameters from AA.

A partial type should be read as a collection of conditions that an element or tuple is expected to satisfy at the same time. For example, if xx is one variable, then:

p(x)={x>a:aA} p(x)=\{x>a : a \in A\}

describes an element greater than every element of AA, if such an element exists in the relevant structure.

Realization

A type is realized when some tuple in a structure satisfies all formulas in the type.

Definition 6.31 (Realization)

Let p(x)p(x) be a partial type over AA, and let N\mathcal N be an LL-structure containing M\mathcal M or at least containing interpretations of the parameters from AA.

A tuple bNnb \in N^n realizes p(x)p(x) in N\mathcal N if:

Nφ(b) \mathcal N \models \varphi(b)

for every formula φ(x)p(x)\varphi(x) \in p(x).

In this case, we write:

bp(x) b \models p(x)

or:

Np(b). \mathcal N \models p(b).

If no tuple in N\mathcal N realizes p(x)p(x), then we say that p(x)p(x) is omitted in N\mathcal N.

Example 6.32

Let:

Q=(Q;0,1,+,×,<) \mathcal Q = (\mathbb Q; 0,1,+,\times,<)

and consider the partial type over Q\mathbb Q:

p(x)={x>q:qQ}. p(x)=\{x>q : q \in \mathbb Q\}.

This type says that xx is greater than every rational number.

There is no rational number satisfying all formulas in p(x)p(x), so p(x)p(x) is omitted in Q\mathcal Q.

However, if we pass to a larger ordered field containing an element larger than every rational number, then this type can be realized there. Such an element is called infinitely large relative to Q\mathbb Q.

Example 6.33

In:

(R;0,1,+,×,<), (\mathbb R; 0,1,+,\times,<),

consider:

p(x)={0<x}{x<1/n:n=1,2,3,}. p(x)=\{0<x\} \cup \{x<1/n : n=1,2,3,\dots\}.

This type says that xx is positive and smaller than every positive rational number 1/n1/n.

No real number realizes this type, because every positive real number is larger than 1/n1/n for some sufficiently large nn.

In a nonstandard extension of the real numbers, such a type may be realized by a positive infinitesimal element.

Finite Satisfiability

A partial type may have infinitely many formulas, so we need a way to test whether its requirements are at least finitely compatible.

Definition 6.34 (Finite Satisfiability)

Let p(x)p(x) be a partial type over AA. We say that p(x)p(x) is finitely satisfiable in M\mathcal M if every finite subset:

p0(x)p(x) p_0(x) \subseteq p(x)

is realized in M\mathcal M.

Equivalently, for every finite collection:

φ1(x),,φk(x)p(x), \varphi_1(x),\dots,\varphi_k(x) \in p(x),

there exists aMna \in M^n such that:

Mφ1(a)φk(a). \mathcal M \models \varphi_1(a) \land \cdots \land \varphi_k(a).

Finite satisfiability means that no finite part of the type is contradictory inside the structure. The whole type may still fail to be realized in that structure.

Example 6.35

In:

(N;0,1,+,×,<), (\mathbb N; 0,1,+,\times,<),

consider:

p(x)={x>n:nN}. p(x)=\{x>n : n \in \mathbb N\}.

This type is finitely satisfiable in N\mathbb N. Indeed, given finitely many requirements:

x>n1,,x>nk, x>n_1,\dots,x>n_k,

choose:

m>max(n1,,nk). m>\max(n_1,\dots,n_k).

Then mm satisfies all formulas in that finite subset.

However, no natural number realizes the whole type, because no natural number is greater than every natural number.

Lemma 6.36 (Realization Implies Finite Satisfiability)

If a partial type p(x)p(x) is realized in M\mathcal M, then p(x)p(x) is finitely satisfiable in M\mathcal M.

Proof

Suppose aMna \in M^n realizes p(x)p(x) in M\mathcal M.

Then for every formula φ(x)p(x)\varphi(x) \in p(x), we have:

Mφ(a). \mathcal M \models \varphi(a).

Let p0(x)p_0(x) be a finite subset of p(x)p(x). Since aa satisfies every formula in p(x)p(x), it satisfies every formula in p0(x)p_0(x).

Therefore:

Mφp0φ(a). \mathcal M \models \bigwedge_{\varphi \in p_0} \varphi(a).

Hence every finite subset of p(x)p(x) is realized in M\mathcal M, so p(x)p(x) is finitely satisfiable in M\mathcal M.

Consistency of Types

A partial type is consistent if its formulas can be realized in some structure extending the relevant theory. This notion connects types with compactness.

Definition 6.37 (Consistent Type)

Let TT be an LL-theory, and let p(x)p(x) be a set of L(A)L(A)-formulas. We say that p(x)p(x) is consistent with TT if:

Tp(x) T \cup p(x)

has a model.

More explicitly, this means that there is a structure NT\mathcal N \models T and a tuple bNnb \in N^n such that:

Nφ(b) \mathcal N \models \varphi(b)

for every φ(x)p(x)\varphi(x) \in p(x).

Lemma 6.38 (Compactness for Types)

Let TT be an LL-theory, and let p(x)p(x) be a set of LL-formulas. Then p(x)p(x) is consistent with TT if and only if every finite subset of p(x)p(x) is consistent with TT.

Proof

If p(x)p(x) is consistent with TT, then there is a model NT\mathcal N \models T and a tuple bb such that bb satisfies every formula in p(x)p(x). Then bb also satisfies every finite subset of p(x)p(x), so every finite subset is consistent with TT.

Conversely, suppose every finite subset of p(x)p(x) is consistent with TT. Introduce new constant symbols:

c1,,cn c_1,\dots,c_n

corresponding to the variables:

x1,,xn. x_1,\dots,x_n.

For each formula φ(x)p(x)\varphi(x) \in p(x), form the sentence:

φ(c). \varphi(c).

Consider the theory:

T{φ(c):φ(x)p(x)}. T \cup \{\varphi(c) : \varphi(x) \in p(x)\}.

Every finite subset of this theory is satisfiable by assumption, because it only mentions finitely many formulas from p(x)p(x). By the compactness theorem, the whole theory has a model N\mathcal N.

In that model, the tuple interpreting the constants c1,,cnc_1,\dots,c_n satisfies every formula in p(x)p(x). Therefore p(x)p(x) is consistent with TT.

Complete Types

A complete type gives a maximal consistent description. It decides every formula or its negation.

Definition 6.39 (Complete Type)

Let TT be an LL-theory, and let p(x)p(x) be a set of L(A)L(A)-formulas. We say that p(x)p(x) is a complete type over AA with respect to TT if:

  1. p(x)p(x) is consistent with TT.

  2. For every L(A)L(A)-formula φ(x)\varphi(x), exactly one of the following belongs to p(x)p(x):

    φ(x) \varphi(x)

    or:

    ¬φ(x). ¬\varphi(x).

Thus a complete type gives a complete truth profile for the tuple xx over the parameter set AA.

Example 6.40

Let:

M=(Q;<). \mathcal M = (\mathbb Q; <).

For an element aQa \in \mathbb Q, the complete type of aa over the empty set includes all formulas without parameters that are true of aa.

In the pure dense order without endpoints, all rational numbers have the same complete type over the empty set. This is because the language has no constants naming particular rational numbers, and the order structure alone cannot distinguish one rational from another without parameters.

However, over the parameter set:

A=Q, A = \mathbb Q,

the type of aa contains the formula:

x=a, x=a,

so it uniquely determines aa.

Type of a Tuple

Every tuple in a structure determines a complete type by collecting all formulas true of it.

Definition 6.41 (Type of a Tuple)

Let M\mathcal M be an LL-structure, let AMA \subseteq M, and let bMnb \in M^n. The complete type of bb over AA in M\mathcal M is:

tpM(b/A)={φ(x)L(A):Mφ(b)}. \operatorname{tp}^{\mathcal M}(b/A) = \{\varphi(x) \in L(A) : \mathcal M \models \varphi(b)\}.

When the structure is clear, we write:

tp(b/A). \operatorname{tp}(b/A).

This set records every first order property of bb that can be expressed using parameters from AA.

Lemma 6.42 (Tuple Types Are Complete)

Let M\mathcal M be an LL-structure, let AMA \subseteq M, and let bMnb \in M^n. Then:

tpM(b/A) \operatorname{tp}^{\mathcal M}(b/A)

is a complete type over AA.

Proof

By definition:

tpM(b/A)={φ(x)L(A):Mφ(b)}. \operatorname{tp}^{\mathcal M}(b/A) = \{\varphi(x) \in L(A) : \mathcal M \models \varphi(b)\}.

First, this type is consistent, because it is realized by bb in M\mathcal M.

Second, let φ(x)\varphi(x) be any L(A)L(A)-formula. Since classical first order semantics is two valued, exactly one of the following holds:

Mφ(b) \mathcal M \models \varphi(b)

or:

M¬φ(b). \mathcal M \models ¬\varphi(b).

Therefore exactly one of:

φ(x),¬φ(x) \varphi(x), \quad ¬\varphi(x)

belongs to tpM(b/A)\operatorname{tp}^{\mathcal M}(b/A).

Hence tpM(b/A)\operatorname{tp}^{\mathcal M}(b/A) is complete.

Type Spaces

The set of all complete types over a parameter set is called a type space.

Definition 6.43 (Type Space)

Let TT be an LL-theory and let AA be a set of parameters. The set of all complete nn-types over AA consistent with TT is denoted:

Sn(A) S_n(A)

or, when the theory must be specified:

SnT(A). S_n^T(A).

An element of Sn(A)S_n(A) is a complete description, over AA, of a possible nn-tuple in a model of the theory.

When A=A=\emptyset, we write:

Sn(T) S_n(T)

for the complete nn-types over the empty set.

Realized and Omitted Types

Some complete types over AA are realized in a given structure, while others are only consistent and become realized in larger structures.

Definition 6.44 (Realized Type)

Let M\mathcal M be an LL-structure and let AMA \subseteq M. A type p(x)Sn(A)p(x) \in S_n(A) is realized in M\mathcal M if there is a tuple bMnb \in M^n such that:

p(x)=tpM(b/A). p(x)=\operatorname{tp}^{\mathcal M}(b/A).

If no such tuple exists in M\mathcal M, then p(x)p(x) is omitted in M\mathcal M.

Example 6.45

In:

(N;<), (\mathbb N; <),

the partial type:

p(x)={x>n:nN} p(x)=\{x>n : n \in \mathbb N\}

is finitely satisfiable but omitted.

This means that every finite fragment can be satisfied by choosing a sufficiently large natural number, but the whole type requires an element larger than every natural number, which does not exist in N\mathbb N.

A larger elementary extension may contain such an element, and in that extension the type is realized.

Lemma 6.46 (Every Consistent Type Is Realized Somewhere)

Let TT be an LL-theory, and let p(x)p(x) be a type consistent with TT. Then there is a model NT\mathcal N \models T and a tuple bNnb \in N^n such that bb realizes p(x)p(x).

Proof

Since p(x)p(x) is consistent with TT, by definition:

Tp(x) T \cup p(x)

has a model after the variables xx are interpreted by some tuple.

Equivalently, introduce constants:

c1,,cn c_1,\dots,c_n

and consider:

T{φ(c):φ(x)p(x)}. T \cup \{\varphi(c) : \varphi(x) \in p(x)\}.

Because p(x)p(x) is consistent with TT, this set of sentences has a model N\mathcal N. Let bib_i be the interpretation of cic_i in N\mathcal N, and put:

b=(b1,,bn). b=(b_1,\dots,b_n).

Then for every φ(x)p(x)\varphi(x) \in p(x):

Nφ(b). \mathcal N \models \varphi(b).

Thus bb realizes p(x)p(x) in N\mathcal N.

Principal Types

Some types are determined by a single formula. These are called principal types.

Definition 6.47 (Principal Type)

Let p(x)p(x) be a complete type over AA. We say that p(x)p(x) is principal if there is a formula φ(x)p(x)\varphi(x) \in p(x) such that, for every formula ψ(x)p(x)\psi(x) \in p(x):

Tx(φ(x)ψ(x)). T \models \forall x\,(\varphi(x) \to \psi(x)).

In this case, φ(x)\varphi(x) is said to isolate p(x)p(x).

A principal type is therefore controlled by one formula. Once an element satisfies that formula, it must satisfy every formula in the type.

Example 6.48

Let AA contain an element aa of a structure M\mathcal M. The type of aa over AA is principal, because it is isolated by:

x=a. x=a.

Indeed, any element satisfying x=ax=a must satisfy exactly the same formulas over AA that aa satisfies.

Thus:

tp(a/A) \operatorname{tp}(a/A)

is isolated by x=ax=a.

Nonprincipal Types

A type may be consistent without being isolated by any single formula.

Example 6.49

In:

(N;<), (\mathbb N; <),

the type:

p(x)={x>n:nN} p(x)=\{x>n : n \in \mathbb N\}

is nonprincipal over N\mathbb N.

No single formula x>nx>n captures the whole type, because satisfying x>nx>n only guarantees being larger than that particular nn, not larger than every natural number.

The type is instead described by an infinite collection of conditions.

Complete Types and Maximal Consistency

Complete types can also be described as maximal consistent sets of formulas.

Lemma 6.50 (Complete Types Are Maximal Consistent)

Let p(x)p(x) be a complete type over AA. Then p(x)p(x) is maximal among consistent sets of formulas over AA. That is, if q(x)q(x) is consistent and:

p(x)q(x), p(x) \subseteq q(x),

then:

p(x)=q(x). p(x)=q(x).

Proof

Suppose p(x)p(x) is complete and q(x)q(x) is consistent with:

p(x)q(x). p(x) \subseteq q(x).

Assume for contradiction that:

p(x)q(x). p(x) \neq q(x).

Then there is a formula:

φ(x)q(x) \varphi(x) \in q(x)

such that:

φ(x)p(x). \varphi(x) \notin p(x).

Since p(x)p(x) is complete, exactly one of φ(x)\varphi(x) and ¬φ(x)¬\varphi(x) belongs to p(x)p(x). Since φ(x)\varphi(x) does not belong to p(x)p(x), we must have:

¬φ(x)p(x). ¬\varphi(x) \in p(x).

Because p(x)q(x)p(x) \subseteq q(x), it follows that:

¬φ(x)q(x). ¬\varphi(x) \in q(x).

Thus q(x)q(x) contains both:

φ(x) \varphi(x)

and:

¬φ(x). ¬\varphi(x).

This contradicts the consistency of q(x)q(x).

Therefore no such φ(x)\varphi(x) exists, and:

p(x)=q(x). p(x)=q(x).

Lemma 6.51 (Maximal Consistent Sets Are Complete)

Let p(x)p(x) be a maximal consistent set of formulas over AA. Then p(x)p(x) is a complete type over $A`.

Proof

We must show that for every formula φ(x)\varphi(x), exactly one of:

φ(x),¬φ(x) \varphi(x), \quad ¬\varphi(x)

belongs to p(x)p(x).

First, p(x)p(x) cannot contain both φ(x)\varphi(x) and ¬φ(x)¬\varphi(x), since that would make it inconsistent.

Now suppose neither φ(x)\varphi(x) nor ¬φ(x)¬\varphi(x) belongs to p(x)p(x).

If:

p(x){φ(x)} p(x) \cup \{\varphi(x)\}

is consistent, then this would be a consistent proper extension of p(x)p(x), contradicting maximality.

Thus:

p(x){φ(x)} p(x) \cup \{\varphi(x)\}

is inconsistent.

Similarly, if:

p(x){¬φ(x)} p(x) \cup \{¬\varphi(x)\}

is consistent, it would be a consistent proper extension of p(x)p(x), again contradicting maximality.

So both:

p(x){φ(x)} p(x) \cup \{\varphi(x)\}

and:

p(x){¬φ(x)} p(x) \cup \{¬\varphi(x)\}

would be inconsistent.

But this is impossible. If both extensions are inconsistent, then p(x)p(x) would imply both ¬φ(x)¬\varphi(x) and φ(x)\varphi(x) in the semantic sense, forcing inconsistency of p(x)p(x) itself.

Therefore one of φ(x)\varphi(x) or ¬φ(x)¬\varphi(x) must belong to p(x)p(x).

Hence p(x)p(x) is complete.

Types Over Models

Types over models are especially important because parameters from a model allow formulas to describe the position of a possible element relative to the model.

Let M\mathcal M be a model and let:

p(x)Sn(M). p(x) \in S_n(M).

A realization of p(x)p(x) may lie inside M\mathcal M, but it may also lie in a larger structure N\mathcal N extending M\mathcal M.

If bNnb \in N^n realizes p(x)p(x), then p(x)p(x) records exactly how bb relates to all definable sets over MM.

For example, in an ordered structure, the type of a new element over MM records, for every parameter aMa \in M, whether:

x<a,x=a,ora<x. x<a, \quad x=a, \quad \text{or} \quad a<x.

In richer languages, the type records much more than order position, because it includes all formulas with parameters from $M`.

Types and Definable Sets

Types can be viewed as choices of sides with respect to definable sets.

If DMnD \subseteq M^n is definable over AA by a formula φ(x)\varphi(x), then a complete type p(x)p(x) over AA decides whether a realization should lie in DD or outside DD.

More precisely, since p(x)p(x) is complete, exactly one of:

φ(x) \varphi(x)

or:

¬φ(x) ¬\varphi(x)

belongs to p(x)p(x).

Thus a complete type over AA selects, for every AA-definable set, whether the tuple lies inside that set or in its complement.