- Tuesday 08:00 - 10:00.
- Tutorials by Ralph Sarkis.
Overview
The goal of formal verification is to check automatically that some programs or systems
are correct with respect to their requirements.
In this course we present mathematical models of programs and systems
and we
describe classes of properties which can be automatically checked on these models.
Content of the course:
- Modelling with Labelled Transition Systems
- Linear-Time Properties
- Definition and Examples
- Characterizations via Order Theory and Topology
- Linear Temporal Logic
- ω-Regular Properties and Büchi Automata
- Bisimulation and Modal Logic
- Bisimulation and Trace Equivalence
- Hennessy-Milner Logic
- Bisimulation and Logical Equivalence
Prerequisites from the L3 year of the Computer Science Department of ENS de Lyon:
- Fondements de l'informatique.
- Logique.
Bibliography:
- Course notes [pdf] (regularly updated).
- The course is mostly based on the book:
- Baier, C. and Katoen, J.-P., Principles of Model Checking, MIT Press, 2008.
Homework
- The homework in [pdf].
- Part I to be completed for the 11th of March 2024 (see instructions inside).
- Part II to be completed for the 25th of March 2024 (see instructions inside).
Final Exam
- Allowed documents: handwritten or typeset course notes. No article. No book.
Courses
-
Course 1 (Jan. 16th)
-
General overview of the course.
- See Chap. 1 of the book for an informal introduction to verification (up to 2008).
- Modelling Concurrent Systems (Chap. 2 of the book).
-
General overview of the course.
-
Course 2 (Jan. 23rd)
-
Linear-Time Properties:
- General definitions and Examples.
- Safety properties (beginning).
-
Linear-Time Properties:
-
Course 3 (Feb. 6th)
-
Linear-Time Properties:
- Safety properties (König's Lemma and Characterization of Trace-Equivalence).
- Liveness properties.
- The Decomposition Theorem.
-
Topological Approach:
- Generalities.
- The Topological Decomposition Theorem.
- The Space of ω-Words.
-
Linear-Time Properties:
-
Course 4 (Feb. 13th)
- Partial Orders, Complete Lattices, Closure Operators and Galois Connections.
-
Course 5 (Feb. 20th)
- Observable Properties.
- The Logic LML (beginning).
- Introduction to the Homework.
-
Course 6 (Mar. 5th)
- The Logic LML.
- Extending LML with Fixpoints.
-
Course 7 (Mar. 12th)
- The Logic LTL.
-
ω-Regular Properties
(§4.3 of the book):
- ω-Regular Expressions (§4.3.1).
- Non-Deterministic Büchi Automata (NBAs) (§4.3.2).
-
Course 8 (Mar. 19th)
- NBAs and ω-Regular Expressions (§4.3.2).
- Deterministic Büchi Automata (DBAs) (§4.3.3).
- Generalized Büchi automata (GNBAs) and closure under intersection of ω-regular languages (§4.3.4).
-
Course 9 (Mar. 26th).
- Translation of LTL to (G)NBA's (§5.2 of the book).
- Bisimulation.
-
Course 10 (Apr. 2nd).
-
Modal Logics of Transition Systems:
- The Hennessy-Milner Property.
- Modal Saturation.
- Boolean Algebras with Operators.
- Ultrafilter Extensions of Kripke Models.
-
Modal Logics of Transition Systems:
Back home.