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 :) :


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.


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.


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 :)


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$

  • 1
    $\begingroup$ Re: the Skolem functions, are you familiar with the proof of Completeness (and hence Compactness) for ordinary first-order logic, and the role of Skolem functions there? (See also Henkinization.) $\endgroup$ – Noah Schweber Dec 7 '16 at 3:07
  • $\begingroup$ Hello Noah, thanks for replying! I talked to the professor yesterday and he told me I should look up the proof of completeness (the proof by Henkin). So now I feel pretty stupid to have asked this question when I see that they are almost identical :). But the only part I don't understand now is the one where you use the tree to define the model. We want to build a maximal consistent theory, The role of this step in the usual completeness proof is to add either $\sigma_n$ or the denial of $\sigma_n$ to our list of sentences, depending on which one keeps the collection consistent. $\endgroup$ – user376380 Dec 7 '16 at 22:54
  • $\begingroup$ @NoahSchweber I can't see how the tree does that, I am sorry $\endgroup$ – user376380 Dec 7 '16 at 22:57
  • 1
    $\begingroup$ The tree has a branch. The branch collects all the smaller models into a model of the entire theory. $\endgroup$ – Asaf Karagila Dec 8 '16 at 10:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy