Recherche avancée
Libres Savoirs >> Informatique >> Informatique
Responsable :

Stéphane LENGRAND
  


Centre de Recherche

Niveau : Graduate

Langue du cours : Anglais & Français

Période : Automne

Nombre d'heures : 36

Crédits ECTS : 4
INF551 Computer-aided reasoning
Ressources Pédagogiques :
Ce cours est une introduction à la formalisation des mathématiques, en théorie et en pratique, et à la résolution de problèmes logiques à l'aide d'ordinateurs.
Il revient sur les fondements théoriques des mathématiques, sous la forme de la Théorie des Ensembles et de ses alternatives plus computer-friendly, et il parcourt les techniques très diverses de la Déduction Automatique à la preuve interactive de théorèmes.
Les TD utiliseront l'assistant à la preuve Coq, notamment pour la formalisation de problèmes d'algèbre et de leur preuves.
Mais des SAT-solveurs, des SMT-solveurs ou des prouveurs automatiques pourront être utilisés pour illustrer d'autres techniques et applications.
Les étudiants bénéficieront d'initiative et de flexibilité sous la forme de mini-projets, ou de moins-mini-projets pour ceux qui décident d'approfondir ces thèmes dans l'EA MAT/INF571.

COURS:

Formalisation des problèmes et des théories mathématiques

- Rappels :
logique, modèles, arithmétiques de Péano et de Presburger, théorèmes de Church et Goedel.
- Théorie des ensembles :
Version naïve et paradoxe de Russel, axiomes de Zermelo-Fraenkel, indécidabilité et incomplétude.
Ordinaux et récurrence transfinie, axiomes du choix et du continu.
- Théorie des fonctions :
Lambda-calcul et paradoxe de Russel, théorie des types.
- Preuves constructives :
contenu calculatoire des preuves, versions constructives du choix, fondements de Coq.

Méthodes de démonstration automatique

- Dans le cas de théories décidables : SAT et SAT-modulo-Theory.
- Dans certaines théories: élimination des quantificateurs.
- Recherche de preuve généraliste : preuve en avant / en arrière, unification.
- Recherche de preuve comme principe de programmation : introduction à la programmation logique / ProLog.


TD sur machine:

Introduction à la pratique de Coq, exercices d'arithmétique, etc...
Extraction de programme à partir d'une preuve constructive : exemple d'un programme de tri.
SAT : Programmation d'un SAT-solveur basique. En Coq-même ou dans un autre language.
Projet en Coq ou programmation d'un prouveur dans un langage au choix.

Niveau requis : INF431 n'est pas un pré-requis. INF423 est très conseillé, même s'il est possible d'acquérir rapidement les concepts nécessaires (formules logiques, modèles, preuves, fonctions calculables,...)

Modalités d'évaluation : Examen sur table (2 ou 3 heures), pour ceux qui prennent ce module comme cours. Mini-projet, pour ceux qui prennent ce module comme EA.

Dernière mise à jour : vendredi 22 mars 2013

© Ecole Polytechnique 2013 - Réalisé par Winch Communication