MPRI

This page presents teaching material for MPRI Course 2-36-1 "Proof of Program", 2024-2025.

Organisation

Tools

Example programs for some lectures will be using the verification environment Why3. There is an online version of Why3 that can be used to replay the simplest examples. However, for more complex examples and for the project that require several provers, it is necessary to install Why3 and the automated provers.

You may find detailed instructions in this installation procedure.

Project

The project consists in verifying operations on union of intervals: Enonce. Aide:

Attention à l'utilisation de prédicat inductif. Les prédicats inductifs sont utiles pour des questions de terminaison et d'induction. Si vous utilisez déjà un type algébrique (e.g. "list") qui a ces propriétés, définissez tous vos prédicats en "predicate" définies structurellement sur un de ces arguments (algébrique). Attention d'autant plus si vous avez des "inductive" qui ne sont pas inductif. NB: Si bound_type_eq est équivalent à =, il vaut mieux utiliser ce dernier dans la logique. NB: la correction n'utilise pas de "inductive"

Lectures

Slides and examples will be posted here.

Part 1: Program verification using Hoare Logic, lectured by François Bobot.

Part 2: Separation Logic and representation predicates, lectured by Jean-Marie Madiot.

Past Years

You may have a look at the exam of 2014. Once you have solved all exercises (and not before!), you may check some of the solutions.

You may have a look at the exam of 2015. Once you have solved all exercises (and not before!), you may check some of the solutions.

You may have a look at the exam of 2016. Once you have solved all exercises (and not before!), you may check some of the solutions.

You may have a look at the exam of 2017. Once you have solved all exercises (and not before!), you may check some of the solutions.

You may have a look at the exam of 2019-2020. Once you have solved all exercises (and not before!), you may check some of the solutions.

You may have a look at the exam of 2020-2021. Once you have solved all exercises (and not before!), you may check some of the solutions.

You may have a look at the exam of 2021-2022. Once you have solved all exercises (and not before!), you may check some of the solutions.

You may have a look at the exam of 2022-2023. Once you have solved all exercises (and not before!), you may check some of the solutions.

You may have a look at the exam of 2023-2024. Once you have solved all exercises (and not before!), you may check some of the solutions.

You may have a look at this year's exam. Once you have solved all exercises (and not before!), you may check some of the solutions.


Page generated on 2025/11/18