Logic, Automata and Games


What is this course about?

The first part of the course is about automata over infinte words and their relation to logics.

Logics give us a very expressive language to write statements to describe a system or specifications that a system should meet, this is why they are used in software verification and design.

Automata are fairly low level machines, that are usually used to build algorithms and to evolution of systems. This is why they are also used in software verification.

The strong relation between Automata and Logic also gives us Automata Theoretic Approaches to deal with problems regarding logics.

The second part of the course deals with games whose winning conditions are specified by logical formulas. These are tools that let us model multiple behaviours(strategies) of the environment(opponent) on the system(us). In this part we will study how to setup such games given logical formulas and use automata to model them.


Course Plan

  1. Büchi Automata and Omega Regular Languages
  2. Monadic Second Order Logic and their relations with Büchi Automata
  3. Linear Temporal Logic and its relation with Büchi Automata
  4. Games and Why
  5. Characterisation and strategies for different types of games

Notes

Part 1 : Logic and Automata

Part 2 : Games


MOCs


References