Completeness
The word 'completeness' is a tortured word that can mean many things in logic. It is probably one of the most overloaded and misused words in the field.
There are at least four different (or slightly different) uses of completeness:
- in comparing provability with entailment
- in the algebraic semantics of logic
- in the semantics of proofs
- in the notion of incompleteness
Provability vs. Entailment
The usual undergraduate presentation of logic uses what we call truth-theoretic or Tarski semantics: things mean what we think they do, in that
This leads to a fairly strict definition of truth:
- in propositional logic, a sentence is semantically true iff its truth table says it is
- in first-order logic, a sentnce is semantically true iff it holds in the particular structure
In the first case, no external information is necessary (other than an assignment of true or false to each propositional variable). In the second case, a universe of elements is needed: all the basic propositions of first-order logic (which are usually equalities
We then have two relations: logical consequence and semantic entailment.
- Soundness: logical consequence implies semantic entailment.
- Completeness: semantic entailment implies logical consequence.
Completeness for First-order Logic
That first-order logic is complete is the domain of Gödel's completeness theorem, which is harder.
Please expand.
Completeness for Second-order Logic
Please expand.
Completeness for Higher-order Logic
Please expand.
Completeness in algebraic logic
The algebraic approach to logic takes us a step further from truth (but not exactly into proofs yet).
An algebraic semantics assigns to every formula
One then has the usual notions of soundness and completeness:
- Soundness: If
\phi is true in the logical system, then it is true in every model. - Completeness: If
\phi is true in every model, it is also true in the logical system.
-
In classical propositional logic:
- models = Boolean algebras
- truth in the logical system = provability of the formula (in a Hilbert system, natural deduction, sequent calculus, etc.)
- truth in the semantics = evaluation of the formula to the top element
\top of the Boolean algebra
-
In intuitionistic propositional logic:
- models = Heyting algebras
- truth in the logical system = provability of the formula (in a Hilbert system, natural deduction, sequent calculus, etc.)
- truth in the semantics = evaluation of the formula to the top element
\top of the Heyting algebra
-
In modal logic . . .
-
In classical (./First-order_Logic):
- models = cylindric algebras
- truth in the logical system = provability of the formula (as above)
- truth in the semantics = evaluation of the formula to the top element
\top of the underlying Boolean algebra
Notice the appearance of the word every in the definition of completeness above. This stands in sharp contrast with, say, the Tarski semantics of propositional logic, which is essentially just one model.
In fact, this universal quantification makes completeness proofs trivial. For example, no matter the presentation (Hilbert system, natural deduction, ...), classical propositional logic is complete for Boolean algebras. The proof of this is fact is deceptively simple, and is known by the posh name of the Lindenbaum-Tarski construction. Here are the main steps:
- Define a relation
\sim between formulas of propositional logic, where\phi \sim \psi whenever\vdash \phi \leftrightarrow \psi . That is, two formulas are equivalent exactly when the proof system proves them equivalent. - Take the equivalence classes of this relation, and prove it is a Boolean algebra - the Lindenbaum-Tarski algebra. This should be relatively straightforward if your axiomatization is actually complete. Show that
[\phi]_\sim = \top implies\vdash \phi . - Show that when propositional logic is interpreted in this model, we have
\llbracket \phi \rrbracket = [\phi]_{\sim} , i.e. each formula is mapped to its equivalence class. - If
\llbracket \phi \rrbracket = \top in all models, then it is also so in the Lindenbaum-Tarski algebra. Hence\vdash \phi .
Completeness in the Proof-theoretic Semantics
Proof-theoretically, there is a distinction between the aforementioned shallow notion of 'for every model' completeness, and full completeness.
The first one holds whenever an equality of proofs that holds in all models is also provable in the equational theory of proofs; it usually holds ''for free.''
Full completeness, on the other hand, is a term used to mean that every element of the model is the denotation of a certain proof.
Completeness vs. Incompleteness
A common source of confusion: incompleteness is not the negation of logical completeness!
Constructive proofs of completeness?
There is a subtle point here relating to the object language/metalanguage dichotomy. When proving a completeness theorem, how strong does our metalanguage need to be?
For example, the usual proof of completeness of the usual truth-theoretic semantics of classical first-order logic uses classical reasoning in the metalanguage in a very strong way. Can we avoid this? That is, can we prove the completeness of the usual FOL semantics in an intuitionistic language? This might be of serious interest in the quest for the formalisation of mathematics, which often uses constructive languages, such as type theory.
Interestingly, it seems like the answer to this question is negative: we cannot constructively prove the completeness of classical FOL unless we change the notion of model of FOL. See the following preprint: