[proofplan]
Index the finite pieces of $T$ by the set $I$ of finite subsets of $T$, and choose a model $M_\Delta$ for each finite piece $\Delta \in I$. For each sentence $\sigma \in T$, the finite subsets containing $\sigma$ form a set $A_\sigma \subset I$, and these sets have the finite intersection property. An ultrafilter containing all the sets $A_\sigma$ lets us form an ultraproduct of the structures $M_\Delta$. Łoś's Theorem then transfers truth of each sentence $\sigma \in T$ from $\mathcal U$-many factors to the ultraproduct, giving a model of all of $T$.
[/proofplan]
[step:Choose models for all finite fragments of $T$]
Let $I$ denote the set of finite subsets of $T$:
\begin{align*}
I := \{\Delta \subset T : \Delta \text{ is finite}\}.
\end{align*}
Since $T$ is finitely satisfiable, for every $\Delta \in I$ there exists an $L$-structure $M_\Delta$ such that $M_\Delta \models \Delta$. Choose one such $L$-structure $M_\Delta$ for each $\Delta \in I$.
If $\sigma \in T$ is an $L$-sentence, define
\begin{align*}
A_\sigma := \{\Delta \in I : \sigma \in \Delta\}.
\end{align*}
Thus $A_\sigma$ is the set of finite fragments of $T$ in which the sentence $\sigma$ appears.
[/step]
[step:Verify that the sets forcing individual sentences have the finite intersection property]
We claim that the family
\begin{align*}
\mathcal A := \{A_\sigma : \sigma \in T\}
\end{align*}
has the finite intersection property. Let $\sigma_1,\dots,\sigma_m \in T$ be finitely many sentences, where $m \in \mathbb N$. Define
\begin{align*}
\Delta_0 := \{\sigma_1,\dots,\sigma_m\}.
\end{align*}
Then $\Delta_0$ is a finite subset of $T$, so $\Delta_0 \in I$. Also $\sigma_j \in \Delta_0$ for every $j \in \{1,\dots,m\}$, hence
\begin{align*}
\Delta_0 \in \bigcap_{j=1}^m A_{\sigma_j}.
\end{align*}
Therefore every finite intersection of members of $\mathcal A$ is nonempty.
[guided]
The goal is to build an ultrafilter that regards each sentence $\sigma \in T$ as present on a large set of indices. For that, we first need the family of desired large sets to be consistent in the finite sense.
Let
\begin{align*}
\mathcal A := \{A_\sigma : \sigma \in T\},
\end{align*}
where $A_\sigma = \{\Delta \in I : \sigma \in \Delta\}$. To prove that $\mathcal A$ has the finite intersection property, take finitely many members of this family. They have the form $A_{\sigma_1},\dots,A_{\sigma_m}$ for some sentences $\sigma_1,\dots,\sigma_m \in T$ and some $m \in \mathbb N$.
Now define
\begin{align*}
\Delta_0 := \{\sigma_1,\dots,\sigma_m\}.
\end{align*}
This set is finite and contained in $T$, so $\Delta_0 \in I$ by the definition of $I$. Moreover, each sentence $\sigma_j$ belongs to $\Delta_0$, so $\Delta_0 \in A_{\sigma_j}$ for every $j \in \{1,\dots,m\}$. Hence
\begin{align*}
\Delta_0 \in \bigcap_{j=1}^m A_{\sigma_j}.
\end{align*}
This proves that the intersection is nonempty. Since the finitely many sentences were arbitrary, the family $\mathcal A$ has the finite intersection property.
[/guided]
[/step]
[step:Extend the forcing sets to an ultrafilter on the finite fragments]
By the [Ultrafilter Extension Lemma](/theorems/4284) applied to the set $I$ and the family $\mathcal A$ with the finite intersection property, there exists an ultrafilter $\mathcal U$ on $I$ such that
\begin{align*}
A_\sigma \in \mathcal U
\end{align*}
for every $\sigma \in T$.
Here we are citing a result not yet in the wiki: Ultrafilter Extension Lemma.
[guided]
The finite intersection property says that the requirements $A_\sigma \in \mathcal U$ are mutually compatible. The Ultrafilter Extension Lemma states that if a family of subsets of a set has the finite intersection property, then there is an ultrafilter on that set containing every member of the family.
We apply this lemma to the underlying set $I$ and to the family
\begin{align*}
\mathcal A = \{A_\sigma : \sigma \in T\}.
\end{align*}
The hypothesis of the lemma is satisfied by the previous step. Therefore there exists an ultrafilter $\mathcal U$ on $I$ such that
\begin{align*}
A_\sigma \in \mathcal U
\end{align*}
for every $\sigma \in T$.
Here we are citing a result not yet in the wiki: Ultrafilter Extension Lemma.
[/guided]
[/step]
[step:Form the ultraproduct of the finite-fragment models]
Let
\begin{align*}
M := \prod_{\Delta \in I} M_\Delta / \mathcal U
\end{align*}
be the ultraproduct of the family of $L$-structures $(M_\Delta)_{\Delta \in I}$ with respect to the ultrafilter $\mathcal U$. This is an $L$-structure by the standard ultraproduct construction.
[/step]
[step:Transfer truth of each sentence in $T$ to the ultraproduct]
Fix a sentence $\sigma \in T$. Define the truth set of $\sigma$ in the family $(M_\Delta)_{\Delta \in I}$ by
\begin{align*}
B_\sigma := \{\Delta \in I : M_\Delta \models \sigma\}.
\end{align*}
If $\Delta \in A_\sigma$, then $\sigma \in \Delta$. Since $M_\Delta \models \Delta$, it follows that $M_\Delta \models \sigma$. Hence
\begin{align*}
A_\sigma \subset B_\sigma.
\end{align*}
Because $A_\sigma \in \mathcal U$ and $\mathcal U$ is upward closed, we have $B_\sigma \in \mathcal U$.
By Łoś's Theorem applied to the $L$-sentence $\sigma$, the family $(M_\Delta)_{\Delta \in I}$, and the ultrafilter $\mathcal U$, we obtain
\begin{align*}
M \models \sigma
\iff
\{\Delta \in I : M_\Delta \models \sigma\} \in \mathcal U.
\end{align*}
The set on the right-hand side is $B_\sigma$, and $B_\sigma \in \mathcal U$, so $M \models \sigma$.
Here we are citing a result not yet in the wiki: Łoś's Theorem.
[guided]
We now show that an arbitrary sentence $\sigma \in T$ holds in the ultraproduct $M$. Define
\begin{align*}
B_\sigma := \{\Delta \in I : M_\Delta \models \sigma\}.
\end{align*}
This is the set of indices at which the chosen finite-fragment model satisfies $\sigma$.
The reason for introducing $A_\sigma$ earlier is that membership in $A_\sigma$ forces satisfaction of $\sigma$. Indeed, if $\Delta \in A_\sigma$, then by definition $\sigma \in \Delta$. Since $M_\Delta$ was chosen so that $M_\Delta \models \Delta$, every sentence in $\Delta$ is true in $M_\Delta$, and therefore $M_\Delta \models \sigma$. Thus
\begin{align*}
A_\sigma \subset B_\sigma.
\end{align*}
We already know $A_\sigma \in \mathcal U$. Since $\mathcal U$ is a filter, it is upward closed: whenever $C \in \mathcal U$ and $C \subset D \subset I$, then $D \in \mathcal U$. Applying this with $C = A_\sigma$ and $D = B_\sigma$ gives
\begin{align*}
B_\sigma \in \mathcal U.
\end{align*}
Now apply Łoś's Theorem. Its relevant sentence-level form says that for an $L$-sentence $\sigma$,
\begin{align*}
\prod_{\Delta \in I} M_\Delta / \mathcal U \models \sigma
\iff
\{\Delta \in I : M_\Delta \models \sigma\} \in \mathcal U.
\end{align*}
The structure on the left is exactly $M$, and the set on the right is exactly $B_\sigma$. Since $B_\sigma \in \mathcal U$, the equivalence yields
\begin{align*}
M \models \sigma.
\end{align*}
Here we are citing a result not yet in the wiki: Łoś's Theorem.
[/guided]
[/step]
[step:Conclude that the ultraproduct satisfies all of $T$]
The sentence $\sigma \in T$ was arbitrary, and the previous step proves $M \models \sigma$ for every $\sigma \in T$. Therefore
\begin{align*}
M \models T.
\end{align*}
Thus there exists an $L$-structure satisfying $T$, as required.
[/step]