Soundness and Completeness

A proof system gives you a game of symbols: axioms, inference rules, and the discipline to write one line after another until the thing you wanted sits at the bottom of the page. That game is purely syntactic — it never once mentions truth. Yet we cheerfully treat a completed derivation as if it had settled a question about what is actually the case. Why are we allowed to? And, going the other way, if some statement really is forced to be true by our assumptions, are we guaranteed a proof of it — or might a genuine truth sit forever beyond reach of the rules?

These two questions are answered by soundness and completeness. Together they are the bridge between two symbols that look almost the same but mean very different things: \vdash (there is a proof) and \vDash (it is true in every model). This one page is about that bridge — how it is built in both directions, and why crossing it lets us say, with a straight face, that proof and truth coincide.

Two turnstiles: \vdash vs \vDash

Fix a set of premises \Gamma and a formula \varphi. There are two completely different ways to say "\varphi follows from \Gamma", and keeping them apart is the whole point.

A priori these have nothing to do with each other. One is a fact about pieces of a formal language; the other is a fact about a vast (often infinite) collection of structures. The miracle — and it genuinely is one — is that for first-order logic they turn out to be exactly the same relation.

For a first-order proof system, premises \Gamma and formula \varphi:

Why soundness holds: rules preserve truth

Soundness is the direction you should insist on before trusting any proof system — a system that could prove a falsehood would be worse than useless. The good news is that it is the easier half, and the argument is a lovely one: induction on the length of the derivation.

The idea is that every ingredient of a proof preserves truth-in-a-model:

\dfrac{\;P \qquad P \to Q\;}{Q}\,.

In any model where both P and P \to Q are true, the truth table for \to forces Q to be true as well — there is simply no room for Q to be false. Now walk down a derivation line by line: every line is either an axiom (valid) or follows from earlier lines by a rule (truth-preserving), so if the premises \Gamma hold in a model, every line holds — including the last one. That last line is \varphi. Since this works in any model of \Gamma, we have \Gamma \vDash \varphi. That is soundness, and it is exactly why a finished derivation earns your trust.

What completeness buys us

Completeness runs the other way and is far deeper. It says the proof system is strong enough: it has no blind spots. If \varphi is genuinely forced by \Gamma in every model, then a finite derivation of it exists — even though "true in every model" ranged over an unimaginable ocean of structures, some of them infinite. This is Gödel's Completeness Theorem (his 1929 doctoral thesis), and it is one of the pillars of first-order logic.

The usual proof is a beautiful piece of engineering (Henkin's method): to show \Gamma \vDash \varphi \Rightarrow \Gamma \vdash \varphi, you argue the contrapositive. If \varphi is not provable from \Gamma, then \Gamma \cup \{\lnot\varphi\} is consistent — and you build a model for it out of the very syntax itself (terms become the elements of the model). That model satisfies \Gamma but falsifies \varphi, so \Gamma \nvDash \varphi. Contrapositive done. The slogan worth remembering:

A set of first-order sentences is consistent (proves no contradiction) if and only if it is satisfiable (has a model). Completeness is essentially this fact in disguise: syntactic consistency and semantic satisfiability are the same condition.

The payoff of putting both halves together is that you may freely switch tools. Want to show something is provable? It is often far easier to argue semantically — show it holds in every model — and let completeness hand you the proof. Want to show something is true in every model? Exhibit a derivation and let soundness do the rest. This is the everyday superpower of \vdash\ \equiv\ \vDash.

A corollary you get almost for free: compactness

Here is a striking consequence. A proof is a finite object — it can quote only finitely many premises, no matter how large \Gamma is. Feed that finiteness through the \vdash \equiv \vDash equivalence and out drops the Compactness Theorem.

A set \Gamma of first-order sentences has a model if and only if every finite subset of \Gamma has a model.

One direction is trivial (a model of the whole set models each finite part). The other is the content: if every finite chunk is satisfiable, the whole infinite set is. The proof is a one-liner once you have completeness — if \Gamma had no model, then \Gamma \vDash \bot, so by completeness \Gamma \vdash \bot; but that derivation is finite and uses only finitely many sentences of \Gamma, so that finite subset already proves (hence entails) a contradiction and has no model — contradiction.

Why care? Compactness is a machine for building strange infinite models. It underwrites the existence of non-standard models of arithmetic (with "infinite" natural numbers) and the whole subject of non-standard analysis (rigorous infinitesimals), and it is a daily tool in model theory. All of that flows from the humble observation that proofs are finite.

This is the single most important confusion to clear up, because Gödel proved both a Completeness theorem and, two years later, his famous Incompleteness theorems — and they are about two different notions of "complete" that unluckily share a word.

The two live in harmony. First-order logic is semantically complete (the rules capture all valid inference), yet a rich theory like arithmetic is incomplete (its axioms don't pin down enough to settle every question). The logic isn't missing any proofs; the axioms are missing information. Same English word, opposite-feeling results, no contradiction whatsoever.

Whenever you read or say "complete", immediately ask: complete what? The word attaches to two entirely different objects and means different things for each.

Mixing them up leads to the popular myth that "Gödel proved you can't prove anything" — flatly false. Soundness and completeness of first-order logic are rock solid. It is only that no finite, computable list of axioms can be rich enough to settle every arithmetical question. Keep the noun attached and the confusion evaporates.