[proofplan]
We force arbitrarily large models by **adding fresh distinct constants**. Fix an infinite cardinal $\kappa$ and an index set $I$ with $|I| = \kappa$. Expand the language by a fresh constant $c_i$ for each $i \in I$, and let $T$ be $S$ together with the sentences $c_i \neq c_j$ for $i \neq j$. The hypothesis that $S$ has an **infinite** model lets us satisfy every **finite** subset of $T$ by interpreting the finitely many constants occurring there as distinct elements of the infinite model. By the [Compactness Theorem](/theorems/1488), $T$ has a model $B$, which must contain at least $\kappa$ distinct elements (the interpretations of the $c_i$), and $B$ also satisfies $S$.
[/proofplan]
[step:Expand the language with $\kappa$ fresh constants and form the theory $T$]
Let $A$ be an infinite model of $S$ (which exists by hypothesis), in the language $L$ of $S$. Let $I$ be an index set with $|I| = \kappa$. For each $i \in I$, introduce a new constant symbol $c_i$, chosen pairwise distinct and distinct from every symbol of $L$. Let
\begin{align*}
L^* &= L \cup \{c_i : i \in I\}
\end{align*}
be the enlarged language, and define
\begin{align*}
T &= S \cup \{c_i \neq c_j : i, j \in I,\, i \neq j\} \subseteq L^*.
\end{align*}
Our goal is to produce a model of $T$. Any $L^*$-structure $B \models T$ yields, by interpreting the constants $c_i$ as elements $c_i^B \in B$, at least $|I| = \kappa$ distinct elements, since the axioms $c_i \neq c_j$ force $c_i^B \neq c_j^B$ for $i \neq j$. Restricting the interpretation to $L$ (the **$L$-reduct**) yields a model of $S$ of cardinality $|B| \ge \kappa$.
[/step]
[step:Verify every finite subset of $T$ has a model using the infinite model $A$]
Let $T' \subseteq T$ be finite. Write
\begin{align*}
T' &= S' \cup \{c_{i_r} \neq c_{j_r} : r = 1, \dots, k\},
\end{align*}
where $S' \subseteq S$ is finite and $\{i_1, j_1, \dots, i_k, j_k\} \subseteq I$ enumerates the finitely many indices whose constants appear in $T'$. Let
\begin{align*}
J &= \{i_1, j_1, \dots, i_k, j_k\} \subseteq I, \qquad m := |J| \le 2k < \infty.
\end{align*}
We expand $A$ to an $L^*$-structure $A'$ as follows. For each $i \in J$, pick distinct elements $a_i \in A$: this is possible because $A$ is infinite, so $|A| \ge m$, and we can choose $m$ pairwise distinct elements. Define $c_i^{A'} = a_i$ for $i \in J$, and define $c_i^{A'}$ arbitrarily (say, all equal to some fixed element $a_0 \in A$) for $i \in I \setminus J$. The interpretations of all symbols of $L$ are inherited from $A$.
We verify $A' \models T'$:
- For $p \in S' \subseteq S$: since $A \models S$, we have $A \models p$; as $p \in L$ uses no constants from $I$, the value in $A'$ equals the value in $A$, so $A' \models p$.
- For $c_{i_r} \neq c_{j_r}$ (with $i_r \neq j_r$, hence both in $J$): $c_{i_r}^{A'} = a_{i_r}$ and $c_{j_r}^{A'} = a_{j_r}$, and by the choice of $\{a_i\}_{i \in J}$ as pairwise distinct, $a_{i_r} \neq a_{j_r}$.
Hence $A' \models T'$. Since $T'$ was an arbitrary finite subset of $T$, every finite subset of $T$ has a model.
[guided]
We want to show that every finite subset of $T$ has a model, so that Compactness applies.
**Finite subsets involve only finitely many new constants.** A finite $T' \subseteq T$ is a finite list of sentences, each either an element of $S$ or of the form $c_i \neq c_j$. Collecting, we may write
\begin{align*}
T' &= S' \cup \{c_{i_r} \neq c_{j_r} : r = 1, \dots, k\},
\end{align*}
with $S' \subseteq S$ finite and $i_r, j_r \in I$. Let
\begin{align*}
J &= \{i_1, j_1, i_2, j_2, \dots, i_k, j_k\} \subseteq I.
\end{align*}
Then $J$ is a **finite** subset of $I$ (of size at most $2k$), comprising exactly the indices of constants that appear in $T'$. Sentences of $T'$ never mention $c_i$ for $i \notin J$.
**Expand $A$ to interpret the fresh constants.** Because $A$ is infinite, $|A| \ge |J|$, so we may choose pairwise distinct elements
\begin{align*}
(a_i)_{i \in J} \subseteq A, \qquad a_i \neq a_{i'} \text{ for } i \neq i' \text{ in } J.
\end{align*}
Pick any element $a_0 \in A$ (e.g. $a_0 = a_{i_1}$). Define an $L^*$-structure $A'$ with underlying set $A$, same interpretations of $L$-symbols as $A$, and new constants interpreted by
\begin{align*}
c_i^{A'} &= \begin{cases} a_i & i \in J, \\ a_0 & i \in I \setminus J. \end{cases}
\end{align*}
The arbitrary choice for $i \notin J$ is harmless because $T'$ does not constrain those constants.
**Verify $A' \models T'$.**
1. *Old axioms*: each $p \in S' \subseteq S$ uses only $L$-symbols, so its truth value in $A'$ equals its truth value in $A$. Since $A \models S$, in particular $A \models p$, so $A' \models p$.
2. *New axioms*: for each $r$, $i_r \neq j_r$ and both $i_r, j_r \in J$, so $c_{i_r}^{A'} = a_{i_r}$ and $c_{j_r}^{A'} = a_{j_r}$. By pairwise distinctness of $(a_i)_{i \in J}$, $a_{i_r} \neq a_{j_r}$, hence $A' \models c_{i_r} \neq c_{j_r}$.
Thus $A' \models T'$.
**Why the hypothesis "$A$ infinite" is essential.** If $A$ were finite of cardinality $N$, then for $k$ such that $|J| > N$, we could not find $|J|$ pairwise distinct elements of $A$, and the construction breaks. Correspondingly, the Upward Löwenheim-Skolem Theorem fails for theories with no infinite model (e.g., "there are exactly three elements").
[/guided]
[/step]
[step:Invoke the Compactness Theorem to produce a model of $T$]
By Step 2, every finite subset of $T$ has a model. The [Compactness Theorem](/theorems/1488) states that if every finite subset of a theory has a model, then the theory itself has a model. Applying this to $T \subseteq L^*$, there exists an $L^*$-structure $B$ such that $B \models T$.
Let $|B|$ denote the cardinality of the underlying set of $B$.
[/step]
[step:Extract the lower bound $|B| \ge \kappa$ from distinctness of the $c_i^B$]
For each $i \in I$, the constant $c_i$ is interpreted as an element $c_i^B \in B$. For distinct $i, j \in I$, the axiom $c_i \neq c_j \in T$ gives $B \models c_i \neq c_j$, hence $c_i^B \neq c_j^B$.
Therefore the map
\begin{align*}
\iota: I &\to B \\
i &\mapsto c_i^B
\end{align*}
is **injective**. By the definition of cardinality,
\begin{align*}
|B| &\ge |I| = \kappa.
\end{align*}
[/step]
[step:Take the $L$-reduct to obtain a model of $S$]
The structure $B$ is over $L^*$. To produce a model of $S$, which is a theory in $L$, we take the **$L$-reduct** $B\restriction_L$: the same underlying set $|B|$, with only the interpretations of the symbols of $L$ retained. Since every sentence $p \in S$ uses only $L$-symbols,
\begin{align*}
B \models p &\iff B\restriction_L \models p.
\end{align*}
Because $B \models T \supseteq S$, we have $B\restriction_L \models p$ for every $p \in S$. Thus $B\restriction_L$ is a model of $S$. Its cardinality is the same as $|B|$, so $|B\restriction_L| \ge \kappa$.
This completes the proof: $S$ has a model of cardinality at least $\kappa$.
[guided]
We collect the pieces.
**Compactness delivers a model of $T$.** Step 2 showed every finite $T' \subseteq T$ has a model. By the [Compactness Theorem](/theorems/1488), $T$ itself has a model — call it $B$.
**$B$ has at least $\kappa$ elements.** The axioms of $T$ include $c_i \neq c_j$ for all distinct $i, j \in I$. So the map
\begin{align*}
\iota: I \to B, \qquad i \mapsto c_i^B,
\end{align*}
is injective: if $i \neq j$ then $B \models c_i \neq c_j$, so $c_i^B \neq c_j^B$. Hence $|B| \ge |I| = \kappa$.
**Reduct to $L$.** The structure $B$ is an $L^*$-structure, but we want a model of $S$, a theory in the smaller language $L$. Form the **$L$-reduct** $B\restriction_L$ by keeping the underlying set and the $L$-interpretations, and discarding the interpretations of the $c_i$. No sentence of $S$ mentions the $c_i$, so
\begin{align*}
B \models p &\iff B\restriction_L \models p \qquad \text{for all } p \in L.
\end{align*}
In particular, $B\restriction_L \models S$.
**Cardinality is preserved by reduct.** Taking a reduct does not change the underlying set, so $|B\restriction_L| = |B| \ge \kappa$.
**Conclusion.** $B\restriction_L$ is a model of $S$ with at least $\kappa$ elements, proving the Upward Löwenheim-Skolem Theorem.
**Remark on strength.** The hypothesis is only that $S$ has **some** infinite model; the conclusion produces models of every infinite cardinality $\ge \kappa$. Combined with the Downward Löwenheim-Skolem Theorem, one deduces that first-order theories with an infinite model cannot pin down a unique cardinality — a limitation famously overcome only by second-order logic, at the cost of losing Compactness and Completeness.
[/guided]
[/step]