In Mathematical Logic, Kleene states a string of implications that are a result of Gödel's completeness theorem of predicate logic;

$$\{E_1,...,E_k \vdash P\&\neg{P}\} \rightarrow \{E_1,...,E_k \vDash P\&\neg{P}\} \rightarrow \\\{E_1,...,E_k\,\text{are not simultaneously satisfiable}\}.$$

He says that the contraposition shows that $E_1,...,E_k$ cannot derive a contradiction. In other words finding a model that simultaneously satisfies $E_1,...,E_k$ is sufficient enough to show its consistency.

I'm wondering why, if this is computationally possible, do we care about Gödel's incompleteness part two, where a strong theory can't prove its own consistency? This process is in the observer's language but so is incompleteness. Is this process sufficient enough to verify consistency to ourselves?

  • $\begingroup$ Completeness theorem says the existence of a model implies a theory is consistent. Incompleteness theorem says certain theories cannot prove their own consistency. For example, ZFC cannot prove its own consistency. All the completeness theorem implies on top of that is that ZFC cannot prove the existence of a model of ZFC, which seems like pertinent consequence of the incompleteness theorem that we should care about. $\endgroup$ Feb 11, 2019 at 21:19
  • $\begingroup$ Completeness theorem does give us a powerful new way to prove consistency (finding a model), but... we do actually need to prove the existence of a model, it doesn’t just happen by magic. $\endgroup$ Feb 11, 2019 at 21:25

1 Answer 1


if this is computationally possible

It's not, in any sense.

First of all, note that a consistent set of sentences - even a finite consistent set of sentences - may have no finite model. An easy example of this can be given by considering a language consisting of a single function symbol $f$, and looking at the sentence $$[\forall x,y(x=y\iff f(x)=f(y))]\quad\wedge\quad[\exists x\forall y(f(y)\not=x)].$$ This sentence is only true in infinite structures, since in any model of it the function named by $f$ is a non-surjective injection from the structure to itself.

So even in principle, searching through the finite structures isn't going to be enough. But it gets worse:

  • There are also consistent finite sets of sentences which don't even have computable models! (Tennenbaum's theorem is usually stated for PA, which is infinite, but it also applies to related finitely axiomatizable theories.)

  • And even worse, it's extremely non-computable to check whether a computable structure satisfies a given first-order sentence - in general, checking satisfaction of an $n$-quantifier sentence requires the $n$th iterate of the halting problem. This is neat because by contrast every consistent computable set of sentences does have a $0'$-computable (even low) model, so building models is somehow easier than checking models! (This is rightfully counterintuitive, see this previous math.stackexchange question.)


Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.