Completeness in first-order logic

David Pierce 2004.12.08

Contents

0 Preface 1 1 Logic in general 1 2 Propositional logic 3 3 First-order logic 5 4 Tautological completeness 6 5 Deductive completeness 7 6 Completeness 8

0 Preface

These notes are for Math 406 in the fall of 2004. In class, we have proved the Compactness Theorem of first-order logic. In these notes, we establish a complete proof-system for first-order logic. The result is Theorem 6.8 on p. 12. The proof of this theorem follows the pattern of our proof of Compactness. First-order logic is based on propositional logic. It will be useful to have a general description of logics that encompasses both propositional and first-order logic. So, this is where we begin. All sections following § 3 concern first-order logic, unless otherwise noted. There are a few exercises, on pp. 3, 6, 7, 7, 8, 8 and 10.

1 Logic in general

A logic has an alphabet, which is just a certain non-empty set; the members of this set can be called the symbols of the logic. These symbols can be put together to form strings. If we want a formal definition, we can say that such a string is a finite, non-empty sequence of symbols of the logic; that is, the string is a function k ↦ s_{k} from {0, 1, …, n} into the alphabet, for some n in ω. We usually write this function as

s_{0}s_{1} ⋯ s_{n};

this the result of juxtaposing the symbols s_{k} in the prescribed order. Such a string has sub-strings, namely the strings

s_{ℓ}s_{ℓ+1} ⋯ s_{m},

where 0 ⩽ ℓ ⩽ m ⩽ n; the sub-string is proper if 0 < ℓ or m < n. Certain strings will be formulas of the logic. In particular, certain strings will be atomic formulas. Some rules of construction are specified for converting certain finite sets of strings into other strings. Then a formula of the logic is a member of the smallest set X of strings such that:

(∗) all atomic formulas are in X; and

(†) X contains every string that results from applying a rule of construction to a set of elements of X.

Hence properties of all formulas can be proved by induction.

Moreoever, it is required that, for every formula that is not atomic, there is exactly one rule of construction and one set of formulas such that the original formula results from applying that rule to that set. This is the principle of uniquely readability as formulas; it makes possible the recursive definition of functions on the set of formulas.

For any logic, a proof-system consists of:

(∗) axioms, which are just certain formulas of the logic;

(†) rules of inference, that is, ways of inferring certain formulas from certain finite sets of formulas.

So the notions of axiom and rule of inference are parallel to the notions of atomic formula and rule of construction. However, in a proof-system, there is no requirement corresponding to unique readability.

Let S be proof-system. A deduction or formal proof in S of the formula ϕ from the set Φ of formulas is a sequence

ψ_{0}, …, ψ_{n}

of formulas where ψ_{n} is ϕ, and for each k such that k ⩽ n, one of the following holds:

(∗) ψ_{k} ∈ Φ, or

(†) ψ_{k} is an axiom of S, or

(‡) ψ_{k} follows from some subset of {ψ_{j} : j < k} by one of the rules of inference of S.

To denote that such a deduction exists, we can write

Φ ⊢_{S} ϕ.

Then we can say that ϕ is deducible from Φ in S. In case Φ is empty, we can just write

⊢_{S} ϕ,

and we can call ϕ a theorem of S.

Here are some basic facts:

                                                                           {lem:gen}

Lemma 1.1.

(∗) Every non-empty initial segment of a deduction is also a deduction;

(†) if Φ ⊢_{S} ϕ and Φ ⊆ Φ^{∗}, then Φ^{∗} ⊢_{S} ϕ;

(‡) if Φ ⊢_{S} ϕ, then Φ_{0} ⊢_{S} ϕ for some finite subset Φ_{0} of Φ;

(§) if Φ ⊢_{S} ψ for each ψ in Ψ, and Ψ ⊢_{S} χ, then Φ ⊢_{S} χ.

Proof. Exercise.

                                                                           {ex1}

2 Propositional logic

We shall work here with the propositional logic whose alphabet consists of:

(∗) the propositional variables P_{k}, where k ∈ ω;

(†) the connectives ¬ and →;

(‡) the left bracket ( and the right bracket ).

The atomic formulas are then the propositional variables. There are two rules of construction:

(∗) From the string A, construct ¬A.

(†) From the strings A and B, construct (A → B).

Note that the same formula might be both (A → B) and (C → D) for some strings A, B, C and D such that A is not C. But if all of these strings are formulas, then (as one can prove) A must be C. We use F and G and H as syntactical variables for propositional formulas.

In propositional logic, there is a notion of truth, which we can develop as follows. If S ⊆ ω, let 2^{S} be the set of functions from S to 2. We can consider 2 as the universe of the field 𝔽_{2}; then a ring-structure on 2^{S} is induced. If F is a propositional formula, and all variables appearing in F are in S, then there is a function F̂ from 2^{S} into 2, as given by the following recursive definition:

(∗) If F is P_{k}, then F̂(α) = α(k) for all α in 2^{ω}.

(†) If F is ¬G, then F̂ = 1 + Ĝ.

(‡) If F is (G → H), then F̂ = 1 + Ĝ · (1 + Ĥ).

Suppose S is the set of variables actually appearing in F, and F̂(α) = 1 for all α in 2^{S}; then F is called a tautology.

An element α of 2^{ω} can be called a structure for propositional logic. (Alternatively, the set {P_{n} : α(n) = 1} can be called the structure; each one determines the other.) Then a formula F is true in α if F̂(α) = 1. If every formula in a set Φ of formulas is true in a structure α, then α is a model of Φ. If F is true in every model of Φ, then we say that F is a logical consequence of Φ, or that Φ entails F, and we write

Φ ⊧ F.

A formula F is valid, or is a validity, if it is true in all structures; in that case, we write

⊧ F.

A proof-system S for propositional logic is called:

(∗) sound, if Φ ⊧ ϕ whenever Φ ⊢_{S} ϕ;

(†) complete, if Φ ⊢_{S} ϕ whenever Φ ⊧ ϕ.

{lem:sound}

Lemma 2.1. Let S be a proof-system for propositional logic. Then S is sound if and only if:

(∗) each axiom of S is valid;

(†) Φ ⊧ ϕ whenever ϕ can be inferred from Φ by one of the rules of inference of S.

Proof. Suppose S is sound. If ϕ is an axiom of S, then the one-term sequence ϕ is a deduction of ϕ from ∅, so ⊢_{S} ϕ and therefore ⊧ ϕ. Suppose, instead, that ϕ can be inferred from Φ by one of the rules of inference of S. Then Φ is a finite set {ψ_{0}, …, ψ_{n}}, so the sequence

ψ_{0}, …, ψ_{n}, ϕ

is a deduction of ϕ from Φ in S. Hence Φ ⊢_{S} ϕ, and therefore Φ ⊧ ϕ.

The converse is proved by induction on the lengths of deductions. Suppose that each axiom of S is valid, and Φ ⊧ ϕ whenever ϕ can be inferred from Φ by one of the rules of inference of S. As an inductive hypothesis, suppose Φ ⊧ ϕ whenever ϕ has a deduction in S from Φ of length less than n + 1. Now say the sequence

ψ_{0}, …, ψ_{n−1}, ϕ

of length n+1 is a deduction in S from Φ. If ϕ ∈ Φ, then Φ ⊧ ϕ trivially. If ϕ is an axiom of S, then ⊧ ϕ by assumption, so Φ ⊧ ϕ. The remaining possibility is that ϕ can be inferred from some subset Γ of {ψ_{k} : k < n} by a rule of inference of S. Then Γ ⊧ ϕ by assumption. Also, Φ ⊧ ψ_{k} for each ψ_{k} in Γ by inductive hypothesis, since each ψ_{k} has a proof from Φ of length k + 1, namely

ψ_{0}, …, ψ_{k}.

Hence every model of Φ is a model of Γ, and so ϕ is true in this model; that is, Φ ⊧ ϕ.

Let us also note that if a proof-system is complete, then so is every proof-system obtained by addition of new axioms or rules of inference.

In the only proof-system for first-order logic that we shall consider,

(∗) the axioms are just the tautologies;

(†) the only rule of inference is modus ponens, that is, G can be inferred from {F, (F → G)}.

If, in this system, F is deducible from the set Φ of formulas, then we can just write

Φ ⊢ F

(since we shall consider no other proof-systems for propositional logic). We have proved (in class) that this system is sound and complete.

3 First-order logic

                                                                           {sect:1st}

The foregoing notions in propositional logic generalize to first-order logic. For us, the alphabet for a first-order logic will consist of:

(∗) the symbols in a signature L for the logic;

(†) individual variables v_{k}, where k ∈ ω;

(‡) the Boolean connectives ¬ and →;

(§) the quantifier ∃;

(¶) the brackets ( and ).

The set of formulas of the resulting logic can be denoted

Fm_{L} .

Certain formulas are sentences; the set of them is

Sn_{L} .

We do not have proof by induction on this set, since sentences can be constructed from formulas that are not sentences. However, we can still define proof-systems for Sn_{L}. (Alternatively, we could define a proof-system for Fm_{L}.)

There are L-structures 𝔄, and then for each sentence σ of L, there is an element σ^{𝔄} of 2. Then σ is true in 𝔄 if σ^{𝔄} = 1. The notions of model, entailment, validity, soundness and completeness can now be defined as for propositional logic. Hence we have Lemma 2.1 for Sn_{L} in addition to propositional logic.

To prove that a certain proof-system for Sn_{L} is complete, we shall use the method first expounded by Leon Henkin, in [1]. (Henkin’s proof was a part of his doctoral thesis; see [2]. We have already used Henkin’s method to prove Compactness.) The particular treatment in these notes owes something to Shoenfield’s in [3]. I introduce the notions of tautological and deductive completeness merely to make our ultimate proof-system seem natural.

If F is an n-ary formula F (P_{0}, …, P_{n−1}) of propositional logic, and σ_{k} ∈ Sn_{L}, then by substitution we can form the sentence

F (σ_{0}, …, σ_{n−1})

of L. If F is a tautology, then F (σ_{0}, …, σ_{n−1}) can be called a tautology of Sn_{L}.

                                                                           {lem:validities}

Lemma 3.1. Tautologies of Sn_{L} are validities.

Proof. We can prove by induction on propositional formulas F that, if F is F (P_{0}, …, P_{n−1}), then for all sentences σ_{k} of Sn_{L}, and all L-structure 𝔄,

F (σ_{0}, …, σ_{n−1})^{𝔄} = F̂(σ_{0}^{𝔄}, …, σ_{n−1}^{𝔄}).

(Details are an exercise.) The claim follows immediately from this.

                                                                           {ex2}

4 Tautological completeness

Suppose S is a proof-system for Sn_{L} such that, if F_{0}, …, F_{k} are n-ary propositional formulas, and

{eqn:prop-ent}  {F_{0}, …, F_{k−1}} ⊧ F_{k},  (1)

and σ_{0}, …, σ_{n−1} ∈ Sn_{L}, then

\{F_{0}(σ_{0}, …, σ_{n−1}), …, F_{k−1}(σ_{0}, …, σ_{n−1})\} ⊢_{S} F_{k}(σ_{0}, …, σ_{n−1}); {(2) \atop \{eqn:1-ent\}}

let us say then that S is tautologically complete.

{lem:1}

Lemma 4.1. Let S be a proof-system for Sn_{L}. Then S is tautologically complete if and only if:

(∗) ⊢_{S} σ for all tautologies σ of Sn_{L}, and

(†) {σ, σ → τ} ⊢_{S} τ for all σ and τ in Sn_{L}.

Proof. If S is tautologically complete, then immediately all tautologies are theorems; the other condition follows since {P_{0}, P_{0} → P_{1}} ⊧ P_{1}.

To prove the converse, we can use our complete proof-system for propositional logic: Suppose we have (1) above. Then F_{k} has a a formal proof from {F_{0}, …, F_{k−1}}. Say this proof is

G_{0}, …, G_{m}.

Then G_{m} is F_{k}. We proceed by induction on m. There are three possibilities:

(∗) If F_{k} ∈ {F_{0}, …, F_{k−1}}, then trivially (2) follows.

(†) If F_{k} is a tautology, then ⊢_{S} F_{k}(σ⃗) by assumption, so (2).

(‡) If G_{j} is (G_{i} → F_{k}) for some i and j in m, then, by inductive hypothesis, we have

{F_{0}(σ⃗), …, F_{k−1}(σ⃗)} ⊢_{S} G_{i}(σ⃗);
{F_{0}(σ⃗), …, F_{k−1}(σ⃗)} ⊢_{S} G_{j}(σ⃗);

hence (2) by assumption (and Lemma 1.1).

In all cases then, (2) follows.

It should be clear that a complete proof-system is tautologically complete. The converse fails:

Example 4.2. The proof-system in which all tautologies are axioms and modus ponens is the only rule of inference is not complete, since it cannot be used to prove the validity ∃x x = x. Indeed, the theorems of this proof-system are just the tautologies (as one can show); but ∃x x = x is not a tautology.

Let ⊥ be the negation of a tautology, say

¬(∃x x = x → ∃x x = x).

Henceforth, let Σ ⊆ Sn_{L} and σ ∈ Sn_{L}.

                                                                           {lem:2}

Lemma 4.3. In a tautologically complete proof-system S, the following are equivalent:

(∗) Σ ⊢ ¬σ for some σ in Σ;

(†) Σ ⊢ σ and Σ ⊢ ¬σ for some σ in Sn_{L};

(‡) Σ ⊢ σ for every σ in Sn_{L};

(§) Σ ⊢ ⊥.

Proof. Exercise. (There is a corresponding lemma for propositional logic.)

                                                                           {ex3}

If Σ ⊢_{S} ⊥, then Σ is inconsistent in S; otherwise, it is consistent.

Lemma 4.4. In a complete proof-system, every consistent subset of Sn_{L} has a model.

Proof. If S is complete, but Σ has no model, then Σ ⊧ ⊥, so Σ ⊢_{S} ⊥ by completeness, so Σ is inconsistent.

The converse of the lemma may fail, even if the proof-system is required to be tautologically complete:

Example 4.5. Let the axioms of a proof-system S be the tautologies, and let the rules of inference be modus ponens, along with the rule that ⊥ can be inferred from every finite set that has no model. (Note however that this is not a syntactical rule: it is not based directly on the form of sentences.) By the Compactness Theorem of first-order logic, every set with no model is inconsistent in this theory; therefore all consistent sets have models. However, the validity ∃x x = x is not a theorem of S. (Exercise: show this.)

                                                                           {ex4}

5 Deductive completeness

Let a proof-system S be called deductively complete if Σ ⊢_{S} (σ → τ) whenever Σ ∪ {σ} ⊢_{S} τ.

                                                                           {lem:4}

Lemma 5.1. A tautologically and deductively complete proof-system in which every consistent set has a model is complete.

Proof. Suppose S is such a system, and Σ ∪ {¬σ} is inconsistent in S. Then Σ ∪ {¬σ} ⊢_{S} σ by Lemma 4.3, so Σ ⊢_{S} (¬σ → σ) by deductive completeness. But (¬σ → σ) → σ is a tautology, so Σ ⊢_{S} σ by tautological completeness.

Therefore, if Σ ⊬_{S} σ, then Σ ∪ {¬σ} is consistent, so it has a model by assumption; this shows Σ |̸= σ.

                                                                           {lem:5}

Lemma 5.2. A tautologically complete proof-system whose only rule of inference is modus ponens is deductively complete.

Proof. Exercise. (See the Deduction Theorem of propositional logic.)

{ex5}

Lemma 5.3. Suppose Σ ⊆ Sn_{L} and Σ is consistent in a tautologically and deductively complete proof-system. The following are equivalent:

(∗) If Σ ⊆ Γ ⊆ Sn_{L} and Γ is consistent, then Γ = Σ.

(†) ¬σ ∈ Σ ⟺ σ ∉ Σ for all σ in Sn_{L}.

Proof. Exercise.

{ex6}

A set Σ meeting one of the conditions in the lemma can be called maximally consistent.

6 Completeness

By Lemma 4.1, we know of one tautologically complete proof-system, namely, the system whose axioms are the tautologies, and whose rule of inference is modus ponens. Let S be this system. Then S is deductively complete, by Lemma 5.2, and is sound, by Lemmas 2.1 and 3.1. Moreover, soundness and deductive completeness are preserved if we add new valid axioms to S. Now we shall see which valid axioms we can add in order to ensure that every consistent set has a model; then we shall have a complete system by Lemma 5.1.

We follow the proof of the Compactness Theorem, replacing ‘finitely satisfiable’ with ‘consistent’. We assume that L is countable. Suppose Σ is a consistent subset of Sn_{L}. We introduce an infinite set C of new constants and enumerate Sn_{L∪C} as {σ_{n} : n ∈ ω}. We construct a chain

Σ = Σ_{0} ⊆ Σ_{1} ⊆ Σ_{2} ⊆ ⋯

where

Σ_{2n+1} = \begin{cases}Σ_{2n} ∪ \{σ_{n}\}, & if this is consistent; \\ Σ_{2n}, & otherwise. \end{cases}

If σ_{n} is ∃x ϕ, and this is in Σ_{2n+1}, then we want to define Σ_{2n+2} as

Σ_{2n+1} ∪ {ϕ_{c}^{x}},

where c is a variable not used in Σ_{2n+1}. But we need to know that this set is consistent. For this we assume, as axioms of S, the sentences

{eqn:axiom-E}  (ϕ_{c}^{x} → χ) → ∃x ϕ → χ,  (3)

where c is a variable not appearing in χ. Note that these axioms are valid. We now have:

Lemma 6.1. If Γ is consistent and contains ∃x ϕ, and c does not appear in Γ, then Γ ∪ {ϕ_{c}^{x}} is consistent.

Proof. Suppose it’s not. Then

{ψ_{0}, …, ψ_{k−1}} ∪ {ϕ_{c}^{x}} ⊢_{S} ⊥

for some ψ_{i} in Γ. By deductive completeness,

⊢_{S} ϕ_{c}^{x} → ψ_{0} → ⋯ → ψ_{k−1} → ⊥,  (4) {eqn:to-bot}

where the notational convention is that a terminal string χ_{0} → χ_{1} → χ_{2} stands for the formula (χ_{0} → (χ_{1} → χ_{2})). We can re-write (4) as

                            ⊢_{S} ϕ_{c}^{x} → χ,  (5) {eqn:to-bot-again}

where χ is ψ_{0} → ⋯ → ψ_{k−1} → ⊥. Then from (3) we have

⊢_{S} ∃x ϕ → χ

by modus ponens; that is,

⊢_{S} ∃x ϕ → ψ_{0} → ⋯ → ψ_{k−1} → ⊥.

Then k + 1 applications of modus ponens show

Γ ⊢_{S} ⊥,

which contradicts the assumption that Γ is consistent.

So now, given a consistent subset Σ of Sn_{L}, we can construct a consistent subset Σ^{∗} of Sn_{L∪C} such that

(∗) Σ ⊆ Σ^{∗};

(†) Σ^{∗} is maximally consistent;

(‡) if (∃x ϕ) ∈ Σ, then ϕ_{c}^{x} ∈ Σ for some c in C, that is, Σ^{∗} has witnesses.

As in the proof of Compactness, we want to use Σ^{∗} to define a model 𝔄 of itself.

For the sake of defining the universe of 𝔄, we assume now that S has the axioms

                              c = c,  (6) {eqn:equality}

c = c′ → d = d′ → c = d → c′ = d′,  (7) {eqn:more-equality}

where c, c′, d and d′ range over C. Let E be the relation

{(c, d) ∈ C^{2} : (c = d) ∈ Σ^{∗}}.

We can now show:

Lemma 6.2. The relation E is an equivalence-relation.

Proof. We first show

⊢_{S} c = c,  (8) {eqn:=1}
⊢_{S} c = d → d = c,  (9) {eqn:=2}
⊢_{S} c = d → d = e → c = e  (10) {eqn:=3}

for all constants c, d and e in C.

Now, we have (8) trivially by (6). An instance of (7) is

c = d → c = c → c = c → d = c;

then (9) follows by tautological completeness. Another instance of (7) is

c = c → d = e → c = d → c = e;

then (10) follows by tautological completeness.

By its maximal consistency then, Σ^{∗} contains c = c; and if Σ^{∗} contains c = d and d = e, then it contains d = c and c = e.

We define A to be C/E. We now define R^{𝔄} (for each n-ary predicate R in L) as the set

{([c_{0}], ⋯, [c_{n−1}]) ∈ A^{n} : (Rc_{0} ⋯ c_{n−1}) ∈ Σ^{∗}}.

Then we have

(Rc_{0} ⋯ c_{n−1}) ∈ Σ^{∗} ⟹ ([c_{0}], ⋯, [c_{n−1}]) ∈ R^{𝔄},

but perhaps not the converse. Possibly then both Rc_{0} ⋯ c_{n−1} and ¬Rc′_{0} ⋯ c′_{n−1} are in Σ^{∗}, although (c_{k} = c′_{k}) ∈ Σ^{∗} in each case. To prevent this, as as axioms of S we assume

c_{0} = c′_{0} → ⋯ → c_{n−1} = c′_{n−1} → Rc_{0} ⋯ c_{n−1} → Rc′_{0} ⋯ c′_{n−1}. {(11) \atop \{eqn:R\}}

We now have:

Lemma 6.3. ([c_{0}], ⋯, [c_{n−1}]) ∈ R^{𝔄} ⟺ (Rc_{0} ⋯ c_{n−1}) ∈ Σ^{∗}.

Proof. Exercise.

{ex7}

Finally, suppose f is an n-ary function-symbol (where possibly n = 0, in which case f is a constant.) We want to be able to define f^{𝔄}. (If c ∈ C, then c^{𝔄} = [c]; but there might be constants of L as well.) To define f^{𝔄}, we first need some lemmas, which are based on another axiom:

ϕ_{t}^{x} → ∃x ϕ, {(12) \atop \{eqn:t\}}

where fv(ϕ) ⊆ {x} and t is a term with no variables. Let us assume that this is an axiom of S. Then we have:

Lemma 6.4 (Substitution). If fv(ϕ) ⊆ {x}, and the constant c does not appear in ϕ, then

⊢_{S} ϕ_{c}^{x} → ϕ_{t}^{x}

for all constant terms t.

Proof. We have

⊢_{S} ¬ϕ_{t}^{x} → ∃x ¬ϕ,  [by (12)]
⊢_{S} ¬∃x ¬ϕ → ϕ_{t}^{x},  [by tautological completeness]
⊢_{S} (¬ϕ_{c}^{x} → ⊥) → ∃x ¬ϕ → ⊥,  [by (3)]
⊢_{S} ϕ_{c}^{x} → ¬∃x ¬ϕ,  [by tautological completeness]

and hence ⊢_{S} ϕ_{c}^{x} → ϕ_{t}^{x} by modus ponens. Lemma 6.5. ⊢_{S} t = t for all terms t. Proof. We have

⊢_{S} c = c,  [by (6)]
⊢_{S} c = c → t = t,  [by the Substitution Lemma]

and hence ⊢_{S} t = t by modus ponens. Lemma 6.6. ⊢_{S} ∃x fc_{0} ⋯ c_{n−1} = x. Proof. We have

⊢_{S} fc_{0} ⋯ c_{n−1} = fc_{0} ⋯ c_{n−1},  [by the last lemma]
⊢_{S} fc_{0} ⋯ c_{n−1} = fc_{0} ⋯ c_{n−1} → ∃x fc_{0} ⋯ c_{n−1} = x, [by (12)]

hence ⊢_{S} ∃x fc_{0} ⋯ c_{n−1} = x by modus ponens. Finally, we assume as axioms of S the sentences

c_{0} = c′_{0} → ⋯ → c_{n−1} = c′_{n−1} → fc_{0} ⋯ c_{n−1} = fc′_{0} ⋯ c′_{n−1}.  (13) {eqn:f}

This enables us to define f^{𝔄}: Lemma 6.7. For each n-ary function-symbol f, there is an n-ary operation f^{𝔄} on A given by

f^{𝔄}([c_{0}], …, [c_{n−1}]) = [d] ⟺ (fc_{0} ⋯ c_{n−1} = d) ∈ Σ^{∗}.  (14) {eqn:function}

Proof. Since Σ^{∗} is maximally consistent, we now have

∃x fc_{0} ⋯ c_{n−1} = x ∈ Σ^{∗}.

Since Σ^{∗} has witnesses, we have

fc_{0} ⋯ c_{n−1} = d ∈ Σ^{∗}

for some constant d. This gives us a value for f^{𝔄}([c_{0}], ⋯, [c_{n−1}]); we have to show that this value is unique. For this, it is enough to show

⊢_{S} c_{0} = c′_{0} → ⋯ → c_{n−1} = c′_{n−1} → d = d′ → fc_{0} ⋯ c_{n−1} = d → fc′_{0} ⋯ c′_{n−1} = d′ for all c_{k} and c′_{k} and d and d′ in C. By (13) and tautological completeness, it is enough to show ⊢_{S} fc_{0} ⋯ c_{n−1} = fc′_{0} ⋯ c′_{n−1} → d = d′ → fc_{0} ⋯ c_{n−1} = d → fc′_{0} ⋯ c′_{n−1} = d′. In the axiom (7), we may assume that c is not one of the variables c′, d or d′. Then by the Substitution Lemma, we have

⊢_{S} fc_{0} ⋯ c_{n−1} = c′ → d = d′ → fc_{0} ⋯ c_{n−1} = d → c′ = d′.

We may also assume that c′ is not one of the variables c_{k}, d or d′. Applying the Substitution Lemma again gives what we want.

The structure 𝔄 is now determined and is a model of Σ, by the proof of the Compactness Theorem. In sum, what we have shown is:

{thm:completeness}

Theorem 6.8 (Completeness for first-order logic). That proof-system for Sn_{L} is complete whose only rule of inference is modus ponens, and whose axioms are the following:

(∗) the tautologies;

(†) (ϕ_{c}^{x} → χ) → ∃x ϕ → χ, where c does not appear in χ; (‡) c = c; (§) c = c′ → d = d′ → c = d → c′ = d′; (¶) c_{0} = c′_{0} → … c_{n−1} = c′_{n−1} → Rc_{0} ⋯ c_{n−1} → Rc′_{0} ⋯ c′_{n−1}; (∥) ϕ_{t}^{x} → ∃x ϕ; (∗∗) c_{0} = c′_{0} → ⋯ → c_{n−1} = c′_{n−1} → fc_{0} ⋯ c_{n−1} = fc′_{0} ⋯ c′_{n−1}.

Here the notation is as follows:

• x is a variable;

• ϕ is a formula such that fv(ϕ) ⊆ {x};

• χ is a sentence;

• t is a constant term;

• c, c′, c_{k}, c′_{k}, d and d′ are constants;

• n ∈ ω;

• R is an n-ary predicate if n > 0; and

• f is an n-ary function-symbol (or a constant, if n = 0).

References

[1] Leon Henkin. The completeness of the first-order functional calculus. J. Symbolic Logic, 14:159–166, 1949.

[2] Leon Henkin. The discovery of my completeness proofs. Bull. Symbolic Logic, 2(2):127–158, 1996.

[3] Joseph R. Shoenfield. Mathematical logic. Addison-Wesley Publishing Co., Reading, Mass.-London-Don Mills, Ont., 1967.