Definition:Ultraproduct

Definition
Let $\LL$ be a first-order language and let $I$ be an infinite set.

Let $\UU$ be an ultrafilter on $I$.

Let $\MM_i$ be an $\LL$-structure for each $i \in I$.

The ultraproduct:
 * $\ds \MM := \paren {\prod_{i \mathop \in I} \MM_i } / \UU$

is an $\LL$-structure defined as follows:


 * $(1): \quad$ The universe of $\MM$:

Let $X$ be the Cartesian product:
 * $\ds \prod_{i \mathop \in I} \MM_i$

Define an equivalence relation $\sim$ on $X$ by:
 * $\family {a_i}_{i \mathop \in I} \sim \family {b_i}_{i \mathop \in I}$ $\set {i \in I: a_i = b_i} \in \UU$

The universe of $\MM$ is the set of equivalence classes of $X$ modulo $\sim$.

These are essentially sequences taken modulo the equivalence relation above, and are sometimes denoted $\eqclass {m_i} \UU$.


 * $(2): \quad$ Interpretation of non-logical symbols of $\LL$ in $\MM$:

For each constant symbol $c$, we define $c^\MM$ to be $\eqclass {c^{\MM_i} } \UU$.

For each $n$-ary function symbol $f$, we define $f^\MM$ by setting:
 * $\map {f^\MM} {\eqclass {m_{1, i} } \UU, \dotsc, \eqclass {m_{n, i} } \UU}$

to be:
 * $\eqclass {\map {f^{\MM_i} } {m_{1, i}, \dotsc, m_{n, i} } } \UU$

For each $n$-ary relation symbol $R$, we define $R^\MM$ to be the set of $n$-tuples:
 * $\tuple {\eqclass {m_{1, i} } \UU, \dots, \eqclass {m_{n, i} } \UU}$ from $\MM$

such that:
 * $\set {i \in I: \tuple {m_{1, i}, \dotsc, m_{n, i} } \in R^{\MM_i} } \in \UU$

Also see

 * Ultraproduct is Well-Defined