A. Propositional logic
- Syntax and semantics
- Informal mathematical argumentation
- Application: Paradoxes and problem solving
- Boolean algebra
- Formal proof methods: Natural deduction, resolution
- Soundness, completeness and decidability
B. Predicate logic
- Syntax and semantics
- Proof methods: Natural deductio
- Completeness and decidability: Gödel's theorems
- Application: Program verification
C. First order theories
- Theories and axiomatisation
- Application: Algebraic data types
D. Proof by induction
- Well-founded induction
- Inductive definitions and structural induction
- Co-induction
E. Modal and temporal logic
- Syntax and semantics: Kripke structures
- Proof methods: Model checking
- Application: Parallel processes