Advanced Formal Language Theory, Spring 2026

ETH Zürich: Course catalog

Course Description

This course explores the connection between automata and formal logic. The lectures cover the algebraic characterization of the regular languages definable in many different logical theories, the complexity theory of boolean circuits, and the connection between the two. The interest in these topics has been recently rekindled due to their application in modern-day natural language processing. Both formal logic and circuit complexity are being used extensively to study the expressivity of transformers.

The emphasis is on rigor and depth rather than broad coverage. Students should expect a healthy dose of proof-writing and, thus, mathematical maturity is expected. In terms of background, the class will draw on techniques from discrete math, formal logic, automata theory and abstract algebra. While there are no hard prerequisites, having taken a class that covers these topics would be helpful.

The course is structured around the book Finite Automata, Formal Logic, and Circuit Complexity and the lectures are meant to guide you through the most important bits. In addition to this, you might find it useful to go over the lecture notes from the previous version of the course. The homework exercises, which comprise 100% of the grade, will require you to apply or extend the theory taught in class. The homework will be released throughout the semester in assignments with 3–4 questions each.

News

12.2.   Class website is online!

Syllabus and Schedule

On the Use of Class Time

Lectures

There are two slots for AFLT each week: Wednesdays 12:15-14:00 (CAB G 51) and Thursdays 12:15-14:00 (ML F 39). The Wednesday slot will be used for the main lecture, where we will generally cover new material. The Thursday slot may occasionally be used for additional material or to recap concepts. By default, only the Wednesday lecture takes place; we will announce in advance if there will be a session (or any changes) on Thursday. The lecture and the exercise session will generally be given in person and live broadcast on Zoom.

Lectures and exercise sessions will be recorded—link to the Zoom recordings will be posted on the course Moodle page.

We will also publish our class notes. The following syllabus is tentative.

Syllabus

Date   Topic Reading Materials
18. 2. 2025 No lecture
25. 2. 2025 Course Logistics
25. 2. 2025 Preliminaries, Automata, Regular Languages Sections I.1, I.2
04. 3. 2025 Formal Logic and Regular Languages Chapter II, Chapter III
11. 3. 2025 Regular Languages and Finite-state Automata
18. 3. 2025 Model-theoretic Games, FO[<] and FO[+1], The Syntactic Monoid Chapter IV, Chapter V
25. 3. 2025 First-Order Logic Sections VI.1, VI.2
1. 4. 2025 The Hierarchy in FO Sections VI.3, VI.4
8. 4. 2025 No class (Easter break)
15. 4. 2025 TBD
22. 4. 2025 TBD
29. 4. 2025 TBD
6. 5. 2025 TBD
13. 5. 2025 TBD
20. 5. 2025 TBD
27. 5. 2025 TBD

Organisation

Forum

In addition to class time, we will host a forum on Moodle where you can ask questions about assignments and the course content.

Important: There are a few important points you should keep in mind:

  1. Make sure to follow our announcements on Moodle.
  2. Tag your questions as described in this document.
  3. Search for answers in the appropriate channels before posting a new question.
  4. Ask questions on public channels as much as possible.

Use the Content Questions channel for questions about the content of the course. The Assignment channels are for discussing and asking questions about the respective assignments.

Grading

There will be no final exam for this course. Instead, we will release 5 assignments throughout the semester. You can cooperate on and discuss the assignments with your peers, but you must write up the solutions yourself and disclose your collaborators.

Important: The deadlines for the assignment submissions are:

  • Assignment 1: 15.05, 23:59h
  • Assignment 2 & 3: 01.07, 23:59h
  • Assignment 4 & 5: 01.08, 23:59h

The submissions will be done through the course Moodle page. We will not extend deadlines. We are counting on you to be organised and submit the work in time. We require the solutions to be properly typeset. We recommend using LaTeX (with Overleaf), but markdown files with MathJax for the mathematical expressions are also fine.

Assignments

Below you can find the assignment instructions.

Assignment instructions:

  • to be released.

Contact

You can ask questions on the course chat server. Please post all content-related questions there, so others can see them and join the discussion. If you have questions which are not related to the course material and are not of general interest, please contact Irene with Ryan cc-ed.

Lecturers AFLT S26

Avatar

Ryan Cotterell

Assistant Professor of Computer Science

ETH Zürich

Teaching Assistants AFLT S26