The Soundness Theorem is the theorem that says that if $\Sigma \u22a2\sigma $ in first-order logic, then $\Sigma \models \sigma $, i.e. every structure making all sentences in $\Sigma $ true also makes $\sigma $ true.

The main idea is sketched out in *The Mathematics of Logic*, but the
formal proof needs the precise definition of truth which
was omitted from the printed book for technical reasons. This web page
provides the missing proof and should be read in conjunction with the
printed book (especially Section 9.1 and Definition 9.8 on page 122
where the proof system for first-order logic is given) and the companion
web page containing the definition of truth.

Like the definition of truth itself, the main problem is how to handle
free-variables. Since variables are *variable* they have a meaning
that is apparently allowed to change, and Soundness is all about meaning.
The proof of Soundness is, like all soundness theorems, by induction on the
length of a proof, and $\Sigma $ itself may be a set of sentences
but to handle all subproofs we need an induction assumption that covers
all possible statements that can be present as the assumptoin of a subproof,
and these include arbitrary formulas with free variables. Therefore our
induction hypothesis must say what to do with free variables.

The theorem we shall actually prove is the following strengthening of the Soundness Theorem. This has Soundness as an immediate corollary, and is also stated in such a way as to indicate the correct induction hypothesis for our proof.

Theorem.

Suppose $L$ is first-order language with set of variables ${\mathrm{VAR}}_{L}$ and $M$ is any structure for $L$. Then:

- whenever $\Sigma $ is a set of formulas of $L$, $p$ is a formal proof of $\sigma $ from the given statements $\Sigma $, and $a:{\mathrm{VAR}}_{L}\to M$ is an assignment such that $a\left(\tau \right)=\top $ for all $\tau \in \Sigma $, then $a\left(\sigma \right)=\top $.

**Proof.**

By induction on the length of the proof $p$. We shall assume that the itemised statement is true for all proofs $p$ with at most $n$ steps and show it true for a proof of $n+1$ steps. It is important that the statement we are doing induction on ranges over all possible sets $\Sigma $, and assignments $a$, for as we shall see these vary during he course of this argument.

For the case of a proof of only one step there is nothing to say, since any proof with only a single step is either one using the given statements rule and this means the conclusion $\sigma $ is the same as one of the assumptions $\tau \in \Sigma $, so $a\left(\sigma \right)=a\left(\tau \right)=\top $, or else it is a proof of the trivially true statement $\top $, or of the statement $(t=t)$ by the Reflexivity rule. This last statement has $a\left(\right(t=t\left)\right)=\top $ since $=$ is itself reflexive and $a\left(\right(t=s\left)\right)=\top $ if and only if $a\left(t\right)=a\left(s\right)$.

The rest of this argument follows the list of allowed proof steps given in Definition 9.8. See also the more detailled list of proof steps in web pages on proofs as trees and on substitution in first order logic.

**Subproof.**

If the last step in the proof being considered is one of the rules of propositional logic, then we mimic the proof of the Soundness Theorem for propositional logic, given in Theorem 7.10, page 84, using the specific boolean algebra $2=\left\{\top \right\},\perp $. This is left as an exercise.

**Subproof.**

If the last step in the proof being considered is one of the equality rules, there are three cases corresponding to reflexivity, symmetry and transitivity. These are all straightforward, following from the reflexivity, symmetry and transitivity of $=$ and the clause in the definition of truth saying that $a\left(\right(t=s\left)\right)=\top $ if and only if $a\left(t\right)=a\left(s\right)$.

**Subproof.**

If the last step in the proof being considered is the substitution rule, then we use the results of a previous web page on semantic aspects of substitution. In particular, we may assume that some $T\left(\theta \right)=\theta ({t}_{1},{t}_{2},\dots ,{t}_{k})$ is proved from $\Sigma $ in at most $n$ steps and also that $({t}_{i}={s}_{i})$ for $i=1,\dots ,k$ are also all proved from $\Sigma $ in at most $n$ steps, and that the conclusion $\sigma $ is $S\left(\theta \right)=\theta ({s}_{1},{s}_{2},\dots ,{s}_{k})$ where $T,S$ are the substitutions $T:{v}_{i}\mapsto {t}_{i}$ and $S:{v}_{i}\mapsto {s}_{i}$. Then $a\left(\right({t}_{i}={s}_{i}\left)\right)=\top $ by our induction hypothesis and so $a\left({t}_{i}\right)=a\left({s}_{i}\right)$ for each $i$, hence $a\left(S\right(\theta \left)\right)=a\left(T\right(\theta \left)\right)=\top $ by a a previous proposition on substitution and the induction hypothesis once more.

**Subproof.**

If the last step in the proof being considered is the ∃-Elimination rule, then we are given that $\Sigma \u22a2v\varphi $ in at most $n$ proof steps, and $\Sigma ,S\left(\varphi \right)\u22a2\sigma $ in at most $n$ proof steps, where the substitution $S$ is $v\mapsto u$, also that the substitution $S\left(\varphi \right)$ is valid and $u$ does not appear free in $\sigma $ nor $\varphi $ nor in any other formula written down in scope. Then ∃-Elimination gives us the conclusion $\sigma $ in at most $n+1$ steps: we must show this conclusion is sound.

Let $a$ be an assignment such that $a\left(\psi \right)=\top $ for each $\psi \in \Sigma $. Then by induction $a\left(v\varphi \right)=\top $ also. This means that there is some value $x\in M$ such that the assignment $b=a[x/v]$ has $b\left(\varphi \right)=\top $. Let $S$ be the substitution $v\mapsto u$ and $c=a[x/u]$. Then $c\left(u\right)=b\left(v\right)$ so $c\left(S\right(\varphi \left)\right)=b\left(\varphi \right)=\top $. Also, for each $\psi \in \Sigma $, $c\left(\psi \right)=a\left(\psi \right)=\top $ since $u$ is not free in $\psi $, and therefore by induction and $\Sigma ,S\left(\varphi \right)\u22a2\sigma $ we have $c\left(\sigma \right)=\top $. It follows that $a\left(\sigma \right)=\top $ since once again $a,c$ only differ at $u$ which is not free in $\sigma $, and this is the required conclusion.

**Subproof.**

If the last step in the proof being considered is the ∃-Introduction rule, then we may assume that $\Sigma \u22a2S\left(\varphi \right)$ in at most $n$ steps and $\sigma $ is the statement $v\varphi $, where the substitution $S$ is $v\mapsto t$ for some $t$. Then given an assignment $a$ with $a\left(\psi \right)=\top $ for each $\psi \in \Sigma $, we have $a\left(S\right(\varphi \left)\right)=\top $ by our induction hypothesis. Let $x=a\left(t\right)$, the element of $M$ to which $t$ is assigned by $a$. Also let $b=a[x/v]$. Then $\top =a\left(S\right(\varphi \left)\right)=b\left(\varphi \right)$. It follows from the definition of assignment that $a\left(v\varphi \right)=\top $ since $b=a[x/v]$ makes $\varphi $ true.

**Subproof.**

If the last step in the proof being considered is the ∀-Elimination rule, then we argue in a similar way to the case for ∃-Introduction. We have $\Sigma \u22a2\forall v\varphi $ in at most $n$ steps, and we are given some term $t$. Then for any assignment $a$ with $a\left(\psi \right)=\top $ for each $\psi \in \Sigma $ we have $a(\forall v\varphi )=\top $ by the induction hypothesis. Now let $S$ be the substitution $v\mapsto t$ and $x=a\left(t\right)$. Then $b=a[x/v]$ has $b\left(\varphi \right)=\top $ and hence $a\left(S\right(\varphi \left)\right)=\top $, as required.

**Subproof.**

If the last step in the proof being considered is the ∀-Introduction rule, then we argue in a similar way to the case for ∃-Elimination. We are given $\varphi $ and variables $u,v$ and substitution $S:v\mapsto u$ and have that $\Sigma \u22a2S\left(\varphi \right)$ in at most $n$ steps, where no statement written down that is in scope has $u$ free. Let $a$ be an assignment with $a\left(\psi \right)=\top $ for all $\psi \in \Sigma $ and let $x\in M$ be arbitrary. Let $b=a[x/v]$. Then let $c=a[x/u]$ and observe that $c\left(\psi \right)=\top $ for all $\psi \in \Sigma $ since $u$ does not appear free in any such $\psi $ and hence by induction $c\left(S\right(\varphi \left)\right)=\top $. But $b\left(\varphi \right)=c\left(S\right(\varphi \left)\right)$ and therefore the concusion is that $b\left(\varphi \right)=\top $ and hence $a(\forall v\varphi )=\top $ as $x$ was arbitrary.

Definition.

A boolean valued model for the first order language $L$
is a set $M$ with a boolean algrebra $B$ and
special elements $c\in M$ for each constant symbol
$c$ of $L$, functions $F:{M}^{k}\to M$ for each $k$-ary
function symbol $F$ of $L$ and for $=$ and for each $k$-ary relation
symbol $R$ of $L$ it has a function
${V}_{=}:M\times M\to B$ and
${V}_{R}:{M}^{k}\to B$ so that
${V}_{=}(a,b)$ says how true

$a=b$ is, and
${V}_{R}({a}_{1},\dots ,{a}_{k})$ says how true

$R({a}_{1},\dots ,{a}_{k})$ is.

Exercise.

State and prove a Soundness Theorem for boolean valued models.