\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} }
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.
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.
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}} }
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.