Logique
Logique des Systèmes Déductifs
Description : L’objectif est de présenter la logique comme un outil de modélisation, de montrer qu’on peut l’utiliser pour résoudre des problèmes sans coder dans un langage de programmation classique, et qu’on peut aussi l’utiliser pour modéliser la sémantique des programmes et faire des preuves de correction et de terminaison, ce qui mène au troisième bloc spécification/vérification/preuve. On abordera les solvers SAT et SMT, la preuve de programme, avec des mise en oeuvre en travaux pratiques.
Acquis d’apprentissage : À l’issue de ce cours, les élèves auront fait le lien entre les aspects théoriques de la logique et l’informatique, ouvrant la voie à l’informatique certifiée.
Modalités d’évaluation : Evaluation à partir des participations aux manipulations (TD/TP) et des résultats rendus
Compétences évaluées :
- Certification
Responsable de cours : Benoît Valiron
Identifiant Geode : SPM-INF-021
CM :
- Leçon de choses (3.0 h)
- Logique propositionnelle, fonctionnement d’un solveur SAT (3.0 h)
- Extension avec des types, notion de théorie, fonctionnement d’un SMT (3.0 h)
- Logique de Hoare: logique sur les types du langage de programmation. (1.5 h)
- Calcul des plus faibles préconditions (WP), chainage, obligations de preuves. (1.5 h)
TD :
- Logique de Hoare (1.5 h)
- Exemple de dérivation (1.5 h)
TP :
- Ecriture d’un solveur SAT (3.0 h)
- Utilisation de Z3 (3.0 h)
- Outil Why3, exemple avec un calcul sur des entiers. (3.0 h)
