$\newcommand\infer[3][]{ \begin{array}[b]{c c c c} \style{border-bottom:1px solid;}{ \begin{array}[b]{c c c c} #3 \\ \end{array} } & \hspace{-1em}\raise{-0.5em}{\text{#1}} \\ #2 \end{array} }$

# Lecture 39a: completeness

In this part of the lecture, we outlined the proof of completentess of our proof rules for propositional logic. Recall the definition of completeness: a proof system is complete if whenever $$\phi_1, \dots, \phi_n ⊨ \psi$$, we have $$\phi_1,\dots,\phi_n ⊢ φ$$.

To show completeness, we assume that $$⊨ φ$$; we want to build a valid proof tree for $$⊢φ$$.

To do this, we introduce a new notation. If $$I$$ is an interpretation, we write $$I ⊢ φ$$ as shorthand for $$ψ_P, ψ_Q, \dots ⊢ φ$$ where $$ψ_P$$ is just $$P$$ if $$I(P) = T$$ and is $$¬P$$ if $$I(P) = F$$, and similarly for all of the other base propositions in the formula $$φ$$.

Our approach to constructing the proof tree for $$⊢ φ$$ will be to give a proof of $$I ⊢ φ$$ for each interpretation $$I$$, and then repeatedly use law of excluded middle and $$∨$$ elimination to snap these separate proofs together. For example, if the variables of $$φ$$ are $$P$$, $$Q$$, and $$R$$, we will build proofs of $$P,Q,R ⊢ φ$$, and $$P, Q, ¬R ⊢ φ$$, and $$P,¬Q,R ⊢ φ$$, etc., and then we will combine them as follows:

$\infer[(∨ elim)]{⊢ φ}{ \infer[excl. mid.]{⊢ P ∨ ¬P}{\hspace{1in}} & \infer[(∨ elim)]{P⊢ φ}{ \infer{⊢ Q ∨ ¬Q}{\hspace{1in}} & \infer{P,Q⊢φ}{ \infer{⊢ R ∨ ¬R}{\hspace{1in}} & \infer{P,Q,R ⊢ φ}{constructed~below} & \infer{P,Q,¬R ⊢ φ}{constructed~below} } & \infer{P,¬Q⊢φ}{\hspace{.4in}\vdots\hspace{.4in}} } & \infer[(∨ elim)]{¬P⊢ φ}{\hspace{.4in}\vdots\hspace{.4in}} }$

Therefore, our goal is to show that if $$I ⊨ φ$$ then $$I ⊢ φ$$. We will prove this by induction on the structure of $$φ$$. We need a stronger inductive hypothesis: Let $$P(φ)$$ be the statement "if $$I ⊨ φ$$ then $$I ⊢ φ$$ and if $$I \not ⊨ φ$$ then $$I ⊢ ¬φ$$." We will show $$P(Q)$$, $$P(¬φ)$$, $$P(φ∧ψ)$$, etc. As above, we will leave some of these as review exercises.

1. $$P(Q)$$. Assume $$I ⊨ Q$$. This means that $$Q[I] = T$$, or in other words, $$I(Q) = T$$. This means that $$Q$$ is one of the assumptions in $$I ⊢ Q$$, so we can use the assumption rule $$\cdots,Q ⊢ Q$$. On the other hand, if $$I \not⊨ Q$$, then $$¬Q$$ is one of the assumptions in $$I ⊢ Q$$, and again, we can use the assumption rule.

2. $$P(¬φ)$$. We inductively assume $$P(φ)$$. If $$I ⊨ ¬φ$$, then by the way $$⊨$$ is defined, we see that $$I \not⊨ φ$$. Therefore, by $$P(φ)$$, we see that $$I ⊢ ¬φ$$ as required. If, on the other hand, $$I \not ⊨ ¬φ$$, then we know that $$I ⊨ φ$$. Therefore $$I ⊢ φ$$. We want to show $$I ⊢ ¬¬φ$$. We can build the following proof:

$\infer[(∨ elim)]{I ⊢ ¬¬φ}{ \infer[(excl. mid.)]{I ⊢ (¬φ) ∨ (¬¬φ)}{\hspace{1in}} & \infer[(absurd)]{I, ¬φ ⊢ ¬¬φ}{ I ⊢ φ & \infer[(assum)]{I,¬φ⊢¬φ}{\hspace{1in}} } & \infer[(assum)]{I, ¬¬φ ⊢ ¬¬φ}{\hspace{1in}} }$

1. $$P(φ∧ψ)$$. We inductively assume $$P(φ)$$ and $$P(ψ)$$. If $$I ⊨ φ∧ψ$$ then we see that $$I ⊨ φ$$ and $$I ⊨ ψ$$ (using the definition of $$eval$$), so by induction we have $$I ⊢ φ$$ and $$I ⊢ ψ$$. We can combine these with $$∧$$ introduction to form a proof of $$I ⊢ φ∧ψ$$. If, on the other hand, $$I \not ⊨ φ∧ψ$$ then either $$I \not⊨ φ$$ or $$I \not⊨ ψ$$. Without loss of generality, assume that $$I \not⊨ φ$$. By $$P(φ)$$, we have $$I ⊢ ¬φ$$. The proof tree that $$I ⊢ ¬(φ∧ψ)$$ is similar to a homework exercise.

The remaining cases are similar; we examine the definition of $$eval$$, and then apply the inductive hypothesis to get pieces of a proof tree, which we then assemble using a proof rule.