# Lecture 37: Propositional logic

- Discussed importance of formal (symbolic) logic
- Propositional logic
- truth tables, equivalence, satisfiability, validity, entailment
- proof trees and natural deduction

Most of the lecture follows same definitions and notation as Pass and Tseng, chapter 6. We emphasized natural deduction style proofs over axiomatic proofs, and our inference rules used slightly different notation.

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

## Natural deduction

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 (we went through a partial proof of one of deMorgan's laws, see the homework).

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

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.