[guided]The truth lemma is the central bridge between syntax and semantics. It says that membership in the maximal theory $S$ is exactly the same as truth in the model built from $S$.
We prove: for every $\mathcal{L}_H$-formula $\alpha(x_1,\dots,x_n)$ and closed terms $t_1,\dots,t_n$,
\begin{align*}
\mathcal{M}_S \models \alpha([t_1],\dots,[t_n])
\quad \Longleftrightarrow \quad
\alpha(t_1,\dots,t_n) \in S.
\end{align*}
The proof is an induction on the complexity of $\alpha$.
For atomic formulas, there are two cases. If the atomic formula is equality, then
\begin{align*}
\mathcal{M}_S \models [t] = [u]
\end{align*}
means exactly $[t]=[u]$ in the quotient set, which is exactly $t \sim u$, which by definition means
\begin{align*}
t = u \in S.
\end{align*}
If the atomic formula is $R(t_1,\dots,t_n)$ for an $n$-ary relation symbol $R$, then the interpretation of $R^{\mathcal{M}_S}$ was defined precisely so that
\begin{align*}
\mathcal{M}_S \models R([t_1],\dots,[t_n])
\quad \Longleftrightarrow \quad
R(t_1,\dots,t_n) \in S.
\end{align*}
For Boolean connectives, maximal consistency does the work. For negation, syntactic completeness of $S$ gives exactly one of $\beta(t_1,\dots,t_n)$ and $\neg\beta(t_1,\dots,t_n)$ in $S$. Hence
\begin{align*}
\neg\beta(t_1,\dots,t_n) \in S
\quad \Longleftrightarrow \quad
\beta(t_1,\dots,t_n) \notin S.
\end{align*}
By the induction hypothesis, this is equivalent to
\begin{align*}
\mathcal{M}_S \not\models \beta([t_1],\dots,[t_n]),
\end{align*}
which is precisely
\begin{align*}
\mathcal{M}_S \models \neg\beta([t_1],\dots,[t_n]).
\end{align*}
For conjunction, the proof rules for $\wedge$ give
\begin{align*}
\beta \wedge \gamma \in S
\quad \Longleftrightarrow \quad
\beta \in S \text{ and } \gamma \in S,
\end{align*}
after substituting the displayed closed terms. Applying the induction hypothesis to $\beta$ and $\gamma$ gives the semantic clause for conjunction. The remaining propositional connectives are handled by their classical definitions in terms of $\neg$ and $\wedge$.
Now consider the existential case. Let
\begin{align*}
\alpha(x_1,\dots,x_n) := \exists y\,\beta(y,x_1,\dots,x_n).
\end{align*}
Suppose first that
\begin{align*}
\mathcal{M}_S \models \exists y\,\beta(y,[t_1],\dots,[t_n]).
\end{align*}
By the semantic meaning of $\exists$, some element of $|\mathcal{M}_S|$ witnesses this formula. Every element of $|\mathcal{M}_S|$ is an equivalence class $[u]$ of a closed term $u$, so for some closed term $u$,
\begin{align*}
\mathcal{M}_S \models \beta([u],[t_1],\dots,[t_n]).
\end{align*}
The induction hypothesis gives
\begin{align*}
\beta(u,t_1,\dots,t_n) \in S.
\end{align*}
By existential introduction in first-order logic,
\begin{align*}
S \vdash \exists y\,\beta(y,t_1,\dots,t_n).
\end{align*}
Since a maximal consistent theory is deductively closed, we obtain
\begin{align*}
\exists y\,\beta(y,t_1,\dots,t_n) \in S.
\end{align*}
Conversely, suppose
\begin{align*}
\exists y\,\beta(y,t_1,\dots,t_n) \in S.
\end{align*}
The Henkin property was designed exactly for this moment: it provides a constant symbol $c$ such that
\begin{align*}
\exists y\,\beta(y,t_1,\dots,t_n) \to \beta(c,t_1,\dots,t_n) \in S.
\end{align*}
Using modus ponens inside $S$, we get
\begin{align*}
\beta(c,t_1,\dots,t_n) \in S.
\end{align*}
The induction hypothesis then gives
\begin{align*}
\mathcal{M}_S \models \beta([c],[t_1],\dots,[t_n]).
\end{align*}
Thus the element $[c] \in |\mathcal{M}_S|$ witnesses the existential statement:
\begin{align*}
\mathcal{M}_S \models \exists y\,\beta(y,[t_1],\dots,[t_n]).
\end{align*}
Finally, the universal quantifier follows from the classical equivalence
\begin{align*}
\forall y\,\beta \quad \Longleftrightarrow \quad \neg \exists y\,\neg \beta.
\end{align*}
This completes the induction and proves the truth lemma.[/guided]