I am studying weakly compact cardinals right now. I am trying to follow along the proof of the weak compactness theorem in the book by Jech (this proof can be found on page 293 and 294 in the third edition).
I have chosen to write the proof in this post; it can be seen at the bottom.
I will now state a definition and the theorem :) :
Definition:
The language $\mathcal{L}_{\kappa,\kappa}$ satisfies the Weak Compactness Theorem if whenever $\Sigma$ is a set of sentences of $\mathcal{L}_\mathcal{\kappa,\kappa}$ such that $|\Sigma|\leq\kappa$ and that every $S\subset\Sigma$ with $|S|<\kappa$ has a model, then $\Sigma$ has a model.
Theorem:
If $\kappa$ is a weakly compact cardinal, then the language $\mathcal{L}_{\kappa,\kappa}$ satisfies the Weak Compactness Theorem.
Notice: I have deleted some questions (I hope it is okay) since I realized this proof is almost identical to the proof of completeness theorem by Henkin. I got myself a copy of "A Friendly Introduction to Mathematical Logic", I found the recommendation here: Why is completeness theorem true? (if someone else is interested). I think that book gives an enlightening explanation of the Completeness Theorem. Also I could find a lot of proofs of this theorem by searching on Google and Stackexchange.
Question:
In the proof by Henkin; He seems to enumerate the sentences and then assign some rule to decide if he should add $\sigma_n$ or $\neg\sigma_n$ to the collection depending on which one keeps it consistent. This is to build a maximal consistent theory. One problem I have now is that I do not really see how the tree we define does that in our case. That is, decide if we should put in $\sigma_n$ or the denial of $\sigma_n$ into the collection.
There's a little too much going on at this step for me. They say something about the branch of length $\kappa$ and
"Let $(T,\subset)$ be the binary $\kappa$-tree consisting of all $t:\gamma\to\{0,1\}$, $\gamma<\kappa$, for which there exists a model $\mathfrak{A}$ of $\Sigma\cap\{\sigma_\alpha:\alpha\in dom(t)\}$"
which I don't really understand. I don't see why all this together helps us build our maximal consistent theory.
I hope I haven't forgotten anything. If anything is unclear please let me know. Thank you :)
Proof:
Let $\Sigma$ be a set of sentences of $\mathcal{L}_{\kappa,\kappa}$ of size $\kappa$ such that if $S\subset\Sigma$ and $|S|<\kappa$, then $S$ has a model. Let us assume that the language $\mathcal{L}=\mathcal{L}_{\kappa,\kappa}$ has only the symbols that occur in $\Sigma$; thus $|\mathcal{L}|=\kappa$.
First we extend the language as follows: For each formula $\phi$ with free variables $v_\xi,$ $\xi<\alpha$, we introduce new constant symbols $c_xi^\varphi$, $\xi<\alpha$ (Skolem constants); let $\mathcal{L}^{(1)}$ be the extended language. Then we do the same for each $n<\omega$, and then let $\mathcal{L}^*=\bigcup\limits_{n=1}^\infty \mathcal{L}^{(n)}$. Since $\kappa$ is inaccessible, it follows that $|\mathcal{L}^*|=\kappa$.
$\mathcal{L}^*$ has the property that for each formula $\phi$ with free variables $v_\xi$, $\xi < \alpha$, there are in $\mathcal{L}^*$ constant symbols $c_\xi^\varphi$, $\xi<\alpha$ (which do not occur in $\varphi$).
For each $\varphi(v_\xi,...)_{\xi<\alpha}$ let $\sigma_\varphi$ be the sentence (a Skolem sentence)
$$(1)\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\exists_{\xi<\alpha} v_\xi\varphi(v_\xi,...)_{\xi<\alpha}\to\varphi(c_\xi^\varphi,...)_{\xi<\alpha}$$
and let $\Sigma^*=\Sigma\cup\{\sigma_\varphi:\varphi\text{ }\text{ is a formula of }\text{ } \mathcal{L}^*\}$.
Note that if $S\subset\Sigma^*$ and $|S|<\kappa$, then $S$ has a model: Take a model for $S\cap\Sigma$ (for $\mathcal{L}$) and then expand it to a model for $\mathcal{L}^*$ by interpreting the Skolem constants so that each sentence $(1)$ is true.
Let $\{\sigma_\alpha: \alpha<\kappa\}$ be an enumeration of all sentences in $\mathcal{L}^*$. Let $(T,\subset)$ be the binary $\kappa$-tree consisting of all $t:\gamma\to\{0,1\}$, $\gamma<\kappa$, for which there exists a model $\mathfrak{A}$ of $\Sigma\cap\{\sigma_\alpha:\alpha\in dom(t)\}$ such that for all $\alpha\in dom(t)$ $$t(\alpha)=1\Leftrightarrow\mathfrak{A}\models\sigma_\alpha.$$
Since $\kappa$ has the tree property, there exists a branch $B$ in $T$ of length $\kappa$. Let $$\Delta=\{\sigma_\alpha: t(\alpha)=1\text{ }\text{ for some }\text{ } t\in B\}.$$
Clearly, $\Sigma^*\subset\Delta$. Let $A_0$ be the set of all constant terms of $\mathcal{L}^*$, and let $\approx$ be the equivalence relation on $A_0$ defined by
$$\tau_1\approx\tau_2\Leftrightarrow (\tau_1\approx\tau_2)\in\Delta,$$
and let $A=A_0/\approx$.
We make $A$ into a model $\mathfrak{A}$ for $\mathcal{L}^*$ as follows:
$$\mathfrak{A}\models P[[\tau_1],..[\tau_n]]\Leftrightarrow P(\tau_1,..,\tau_n)\in\Delta$$
and similarly for function and constant symbols. The proof is then completed by showing that $\mathfrak{A}$ is a model for $\Delta$ (and hence for $\Sigma$). The proof of
$$(2)\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\mathfrak{A}\models\sigma\Leftrightarrow\sigma\in\Delta$$
is done by induction on the number of quantifiers blocks in $\sigma$: If $\sigma=\exists_{\xi<\alpha}v_\xi\varphi(v_\xi,..)$, then by induction hypothesis we have
$$\mathfrak{A}\models\sigma(c_\xi^\varphi,..)_{\xi<\alpha}\Leftrightarrow \sigma(c_\xi^\varphi,...)_{\xi<\alpha}\in\Delta$$
and $(2)$ follows. $\square$