[Kurskod: FILOGX]

Aim and content

The course will introduce some of the most successful areas of applications of logic to computer science and artificial intelligence. First, after a general revision of classical first-order logic as general language for knowledge representation, the course will present first-order resolution with unification as a practical method for automated reasoning. Then, the basics of logic programming and Prolog will be discussed briefly. The second part of the course is on logical methods for program verification based on Floyd-Hoare method for proving program correctness, further formalised in the propositional dynamic logic of programs PDL. The third part of the course will present the basic theory and applications of temporal logics for formal specification of properties of transition systems and computations in them, and for their formal verification by means of model checking. The last topic in this part will be on logics for multi-agent systems. The course will aim at providing sound theoretical background and conceptual understanding as well as practical knowledge and skills. It will involve exercises and hands-on experience with some popular implemented tools for automated reasoning, for logic programming and for model checking. The course is intended mainly for students in computer science and in philosophy, but is also relevant to students in mathematics.

The course will be offered in English and only in the autumn.

Prerequisite: an introductory logic course, such as Introduktion till logic or comparable.

Scheme: autumn 2016

Lecturer: Valentin Goranko

Teaching assistant: Anders Lundstedt

Course literature: lecture notes plus selected parts from the following books:

  1. Valentin Goranko, Logic as a Tool, Wiley & Sons, 2016. 
  2. David Harel, Dexter Kozen and Jerzy Tiuryn, Dynamic Logic, MIT Press, 2000.
  3. Michael Huth and Mark Ryan, Logic in Computer Science, Cambridge University Press, 2nd ed. 2004
  4. Stephane Demri, Valentin Goranko, and Martin Lange, Temporal Logics in Computer Science, Cambridge University Press, 2016.

Links for the course:

With enquiries on the course, contact Valentin Goranko.

Links to related courses: