CSE 307: Constraint Logic Programming

CSE307 Moodle.

The course will present the paradigm of Constraint Logic Programming from its logical foundations for programming with relations, to its current applications. From logic programming and the early days of artificial intelligence, towards the holy grail of programming simply by modelling, the students will learn how to use a recent dialect of Prolog for relational databases, knowledge representation, automated deduction and combinatorial problem solving. The balance between declarative programming and efficiency, between clean semantics and expressiveness will be of particular interest, and will lead us into looking at how things work internally in a Prolog bytecode compiler (Warren Abstract Machine, indexing, …) on practical examples.

Bibliography:

Schedule 2020-2021

TD1 2 Nov.
Initiation to SWI-Prolog, TD Datalog: relational databases [F. Fages]
CM1 6 Nov.
Resolution principle for Horn clauses, first-order terms, unification [F. Fages]
TD2 9 Nov.
TD Prolog: symbolic differentiation, lists [S. Soliman]
CM2 13 Nov.
Constraint Logic Programming over the reals CLP(R) [F. Fages]
TD3 16 Nov.
TD CLP(R): reversible spreadsheet [S. Soliman]
CM3 20 Nov.
Constraint Logic Programming over finite domains CLP(FD), reification [F. Fages]
TD4 23 Nov.
TD CLP(FD) Resource allocation [S. Soliman]
CM4 27 Nov.
Warren Abstract Machine, Typing [S. Soliman]
TD5 30 Nov.
TD Prolog: Metaprogramming for complete search [S. Soliman]
CM5 4 Dec.
Fixpoint semantics of CLP(X) [S. Soliman]
TD6 7 Dec.
TD Concurrent Prolog: Natural language processing ( nlp_problem.pl )[F. Fages]
CM6 11 Dec.
Wrap-up preparation to examination Δ [F. Fages]
Exam 15 Dec.
Final examination




Schedule 2019-2020

TD1 4 Nov.
Initiation to SWI-Prolog, TD on Datalog relational databases [M. Hemery]
CM1 6 Nov.
First-order terms, unification and resolution [F. Fages]
no TD2 11 Nov.
CM2 13 Nov.
Constraint Logic Programming over the reals CLP(R) [F. Fages]
TD3 18 Nov.
TD Prolog: symbolic differentiation [M. Hemery]
CM3 20 Nov.
Constraint over finite domains CLP(FD) [S. Soliman]
TD4 25 Nov.
TD CLP(FD) Finite Domain Constraints [M. Hemery]
CM4 27 Nov.
Reification, Warren Abstract Machine, Typing [S. Soliman]
TD5 2 Dec.
TD Prolog: Metaprogramming for complete search [M. Hemery]
CM5 4 Dec.
Fixpoint semantics of CLP(X) [S. Soliman]
TD6 9 Dec.
TD Concurrent Prolog: Natural language processing [M. Hemery]
CM6 11 Dec.
Wrap-up preparation to examination [F. Fages]
Exam 18 Dec.
Final examination
Ceremony 17 July 2020
Good bye video