- proof trees and natural deduction

See the list of inference rules for a list of inference rules.

At each step of an informal proof, it is important to know - what you are currently trying to prove (the goal) - what assumptions you have made at that point (the assumptions) - what the next logical step is (which leads to a new set of goals and assumptions)

We can a single step in a proof this way:

Here the turnstyle (⊢) separates the assumptions from the goal.

We can then apply further rules to the new goals to build up a tree if logical inferences ending at the statement to be proved.

A **logic** is a set of allowed rules of inference.

A proof tree is valid in a logic if each step in the tree matches an acceptable inference rule. A formula *ϕ* is **provable in the logic** if there exists a valid proof tree with ⊢*ϕ* at the root.

We discussed this set of inference rules. The "introduction" rules capture the process you use to prove a certain kind of statement, while the "elimination" rules explain how to use a fact you have already proved. For example, to prove *φ*→*ψ*, you first assume *φ*, and then your new goal is to prove *ψ*. This is captured by the → introduction rule.

Similarly, if you have already proved *φ*→*ψ*, and you can prove *φ*, then you can *use* these facts to conclude *ψ*. This is captured by the → elimination rule.

The "reductio ad absurdum" rule is worth noting. It says that if, under some set of assumptions, you can prove both *φ* and ¬*φ*, then you can conclude anything you like under that same set of assumptions. Think of this as the end of a proof by contradiction; once you have reached a contradiction, you have completed your proof.

Thinking of this rule in terms of truth tables (see next lecture on the relationship between truth tables and proof systems), recall that *φ*_{1}, …, *φ*_{n}⊨*φ* means that in all of the rows of the truth table satisfying *φ*_{1}, …, *φ*_{n}, *φ* evaluates to true. Thus, if *φ*_{1}, …, *φ*_{n}⊨*φ* and *φ*_{1}, …, *φ*_{n}⊨¬*φ*, then every row of the truth table that satisfies *φ*_{1}, …, *φ*_{n} must also satisfy both *φ* and ¬*φ*. But this is impossible, so there must not be any rows that satisfy all of the assumptions. Thus any formula *ψ* evaluates to true in all of the rows of the truth table that satisfy *φ*_{1}, …, *φ*_{n}, since there are no such rows.

We proved ⊢((*P*∧*Q*)→*R*)→(*P*→(*Q*→*R*)) and ⊢¬(*P*∧*Q*)→(¬*P*∨¬*Q*); see here (tex).

**Note**: I use "⋯" in the list of assumptions as shorthand for "copy all of the assumptions from the line below".