Logique
Deductive systems logic
Description: The objective is to present logic as a modeling tool, to show that it can be used to solve problems without coding in a traditional programming language, and that it can also be used to model the semantics of programs and prove correctness and termination, which leads to the third block: specification/verification/proof. We will cover SAT and SMT solvers and program proof, with practical implementation exercises.
Learning outcomes: At the end of this course, students will have made the connection between the theoretical aspects of logic and computer science, paving the way for certified computer science.
Evaluated skills:
- Certification
Course supervisor: Benoît Valiron
Geode ID: 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)
