Réécriture et lambda-calcul (année 2005-2006)


Ce cours est assuré par Pierre Lescanne assisté de Christoph Lauter et Damien Pous.

J'utilise la vidéoprojection.

Ce cours garde le nom de réécriture, mais en fait, en transition vers un cours de L3 qui s'appelera PROG-2, il comporte la présentation de concepts fondamentaux liés à la programmation, à savoir les bases de la sémantique et les bases de la réécriture.

Il commence par la présentation des trois types de sémantique (opérationnelle, dénotationnelle et axiomatique), puis par la présentation des trois sémantique d'un petit langage appelé IMP.

Il continue par une introduction à la récriture.

Le source LaTeX des cours se trouve .

Examen final

Voici l'examen final 2006 et son corrigé.

Réécriture et lambda-calcul (année 2004-2005)

La réécriture est une technique qui permet de modéliser les concepts de réduction et de simplification. Elle sert de fondement au calcul symbolique, à la sémantique opérationnelle de langages des programmation notamment fonctionnelle et à la déduction automatique.

Dans ce cours nous aborderons les principaux concepts des systèmes de réécriture du premier ordre et un peu d'ordre supérieur (unification).

Ce module se compose de 32 heures de cours assurés par Pierre Lescanne et de 32 heures de travaux dirigés assurés par Romain Kervarc. Cette page évoluera avec l'avancement du cours et servira de lien avec les étudiants. Elle complète la liste d'envoi mim.reecriture@listes.ens-lyon.fr, qui permet de faire le lien entre les étudiants.

Ce cours s'appuie essentiellement sur le livre de Franz Baader et Tobias Nipkow Term Rewriting and All That. Cambridge University Press, 1998 que nous appellerons le All that, mais que je présente à ma manière. Pour les compléments sur le lambda calcul, je recommande le livre de Chris Hankin Lambda Calculi: a Guide for Computer Scientists, Oxford U. Press, 1994. Pour l'unification on pourra consulter Wayne Snyder, A proof theory for general unification, Birkhäuser, (1991), Vol 11, Series Progress in computer science and applied logic. Deux bons livres sur la réécriture sont Enno Ohlebusch Advanced Topics in Term Rewriting Springer-Verlag, (2002) et Terese, Term Rewriting Systems, Cambridge University Press, (2003), vol. 55, serie Cambridge Tracts in Theoretical Computer Science.

Voici les différents cours (voir aussi ici) sous formes de transparents en PostScript et en PDF.  Les sources LaTeX sont fournis (voir les répertoire OUTILS pour y trouver les fichiers spécifiques que j'utilise). En général, ces documents sont susceptibles d'évoluer légèrement (quelques fois profondément).  Vérifiez la date de votre version.

Le cours

Les exercices

Une page de feuilles d'exercices est maintenue par Romain Kervarc.

Examen final

Voici l'examen final 2004.

Compléments (2003)

Vous trouverez les transparents des exposés de Jean-Raymond Abrial, ainsi qu'un document qui les accompagne.

Quelques excursions

En 2001-2002

Les exercices

Voici les fiches d'exercices de Silvia Ghilezan(1, 2, 3, 4, 5, 6, 7, 8, 9) et le sujet du partiel (source et version tty).

En 2000-2001

Un partiel (source) a eu lieu le 26 mars 2001. Voici son corrigé (source). Voici deux erreurs que j'ai constatées dans la correction du partiel.

Il y a eu aussi un examen avec son corrigé.


Last modified: Wed May 31 17:39:34 CEST 2006