Mathematical Logic
Instructor: Simone Martini
Prerequisites: An introductory course in computability. Algebra at
junior level.
Aims: The first part of this mathematically oriented course
will provide a deep introduction to the main concepts
and results of logic which are at the basis of most
theoretical computer science.
The other parts will focus on fundamentals of proof-
theory and their relations to typed lambda-calculus
and, thus, functional programming.
Program
- Part I: Fundamentals (~50%)
- Formal systems for first order logic:
syntax and semantics (`a la Tarsky).
Soundness and completeness theorems; compactness th.;
Loeweinheim-Skolem th..
Undecidability of first order logic (sketch).
Peano arithmetic; non-standard models.
Goedel's incompleteness theorems.
- Part II: Fundamentals of proof theory (~30%)
- Natural deduction systems for first order logic.
The constructive interpretation of logic: intuitionistic
logic.
Equivalence of the natural deduction formulation with the
axiomatic formulation.
Notation for natural deduction proofs: typed lambda-calculus.
Normalization, confluence.
Semantics.
- Part III: Linear Logic (~20%)
- Multiplicative linear logic: sequent formulation;
proof-nets; phase semantics.
Relations with concurrent systems (Petri nets).
References
Part I: any good logic textbook, like
* Bell and Machover, A Course in Mathematical Logic,
North-Holland.
Part II and III:
* D. vanDalen, Logic and Structure, Springer-Verlag
* J.-Y. Girard, Y. Lafont and P. Taylor, Proofs and Types,
Cambridge University Press