Teacher in charge: Sylvain Soliman (Inria)
The aim of this course is to introduce the concepts, principles and formalisms underlying constraint programming. The course will start from logical foundations and go up to recent extensions including concurrency and imperative features, while browsing through constraint logic programming and its applications to solving hard combinatorial problems.
A simple programming project (like SUDOKU solving) and a written exam will be used for grading the students.
Basics about operational semantics (rewriting rules and inference rules) and a certain taste for programming are required for this course.
Having attended the first year courses on PROLOG and constraint logic programming and on Programming languages semantics can be useful. The Abstract interpretation foundations or the corresponding M2 course can also reveal interesting.
The classes will be given in French by default.
Slides will be in English and available in PDF.
Date (DD/MM/YY) | Content |
---|---|
11/09/17 | Introduction to CLP, operational semantics, examples |
18/09/17 | CLP: fixpoint semantics |
25/09/17 | CLP logical semantics; CSP: solving by simplification and domain reduction |
02/10/17 | CLP: the Warren Abstract Machine; CSP: Symmetries |
08/10/17 | deadline for the programming project |
09/10/17 | CLP: typing; CHR; Programming project discussion |
16/10/17 | (no class) |
23/10/17 | (no class) |
30/10/17 | CC: examples, operational and denotational semantics |
06/11/17 | CC: linear logic semantics; LCC |
13/11/17 | LCC: logical semantics, links with CHR, typing and modules for CLP |
20/11/17 | exam 16.15-18.15 |