Exploration 2: Types
November 3, 2023.The goal of this exploration is to show how properties are expressed in model theory, and how we can derive the compactness theorem using such properties.
Currently we consider models to be some unordered jumble of elements that give meaning to constants, functions, and relations in a language .
But sometimes it’s useful to talk about a specific subset of those elements. For instance, if we have a model of the theory of integers, we might want to single out the elements of the model that signify prime integers.
Typically we do this by defining some formulas that fully describe said elements. In the prime number example, we might have “a number is prime if there is no product of two integers equal to it”. Then every element in our model that satisfies are the prime numbers.
In general, given we can write a set of formulas consistent with the given theory , called a type over . This type singles out some subset of elements by saying that realizes .
Recall that theories are made up of sentences, which are formulas without parameters. Intuitively, a type over is a parameterized theory, with the additional condition that it must be consistent with some existing theory (in the above case, the theory of integers). Types can also be unparameterized (if the set of parameters is empty) but typically they are parameterized.
In this section, we show how to compare two types.
Every element of a model has its own type. If we consider a single element of a model of some theory , we can define the type of over as every formula (with one free variable ) where is true in . This type is guaranteed to include , so every element of a model has its own type .
Sometimes a type is a superset of another type. For example, anything that is true about the set of prime numbers is true about the prime integer in particular. That means the set of formulas true about the integer , , contains the set of formulas true about the prime numbers, . We say is stronger than , or is weaker than , because . So we have a partial ordering of types based on inclusion.
By definition of , there aren’t any more formulas true about that aren’t already in . Much like theories can be complete (having or for every sentence in the language), is a complete type (having or for every formula in the language). Complete types are by definition the strongest types. We can’t add any more formulas to it without making it inconsistent with the given theory.
In this section, we define the model of a theory by its strongest types.
Now let’s model the theory of integers with this concept of strongest types (complete types).
Getting the strongest types
The first step is to find all of the strongest types. Let’s start from an example type, like , which encodes all facts about the prime numbers. Given such a type, we’d like to get all types stronger than it, such as . Define a set containing as well as every type stronger than . We call this set a principal filter over . In our case, the principal filter on includes , , , in fact all the , and in fact every type that singles out any subset of the prime numbers.
The principal filter on complete types like contains only itself, . When a non-empty filter, like , can’t be extended with additional stronger types without making two types inconsistent with each other, we call it an ultrafilter, meaning it’s a filter that already contains all the strongest types.
We care about ultrafilters because while a filter might contain types that conflict (are inconsistent with each other), an ultrafilter necessarily cannot have conflicting types. By taking all the ultrafilters of the theory, we essentially have access to all the strongest types that don’t conflict with each other.
Showing that there is an ultrafilter for every filter
Since the set of all types is typically infinite, to take all the ultrafilters in the space of types requires applying the Axiom of Choice (in the form of Zorn’s Lemma).
To this end we prove the Ultrafilter lemma: every filter is contained in some ultrafilter. Proof:
- Form a partial ordering of filters that contain .
- Zorn’s lemma: has a maximal element (= our ultrafilter) if we can prove that every non-empty chain in has an upper bound in .
- Take an arbitrary non-empty chain in .
- Every union of a chain of filters is a filter. So take the union of this chain to get a filter . contains every filter in the chain, and therefore is an upper bound of this chain.
- To show is in , we just need to show that contains , since every filter containing is in . But is the union of some filters from that contain by definition, which means contains too.
- By Zorn’s Lemma, there is a maximal filter in , the ultrafilter containing .
This lemma shows that we can extend any filter to an ultrafilter.
Getting every ultrafilter via finite subsets of the theory
Next, we require that every finite subset of to have a model. Sound familiar? It’s the same requirement as the Compactness Theorem, which we are essentially proving by constructing a model of an arbitrary theory.
Now create a filter containing each finite subset of as a type. Extend this filter with every type that is stronger than some type already in , so that the resulting filter contains all the strongest types (complete types) consistent with . This might add types that are inconsistent with each other, so we use the Ultrafilter lemma to take the ultrafilter of to ensure that all types within agree on every formula in the language.
Defining a model via an ultrafilter of types
Then, every complete 1-type (single-parameter type) in the ultrafilter defines some element in our model , so that realizes in our model.
Since our domain are elements that correspond to a type, we can identify every term in the language with a type in order to construct our model. In particular, we identify every term with the complete 1-type in containing . The ultrafilter ensures that we can’t have two complete 1-types that disagree on what element is equal to, so this is well-defined.
This gives an interpretation to all the constant symbols (when is some constant ) and implicitly requires us to lift all the function symbols to operate on our elements . This is well-defined, because our complete types in define the outcome of every possible via formulas like . We lift all the relation symbols similarly.
Because this construction is based on complete types consistent with , the resulting elements are defined so that every sentence in is true.
In the end we have essentially proved the compactness theorem again — we constructed a model for directly by treating finite subsets of as types.
< Back to category Exploration 2: Types (permalink)Exploration 1: The canonical model of a theory