26.02.2013 Views

résumés des cours et travaux - Collège de France

résumés des cours et travaux - Collège de France

résumés des cours et travaux - Collège de France

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

CHAIRE D’INNOVATION TECHNOLOGIQUE — LILIANE BETTANCOURT 837<br />

propriété est indécidable en général, c’est-à-dire non vérifiable par un algorithme<br />

prenant p <strong>et</strong> d comme données <strong>et</strong> s’exécutant toujours en temps fini.<br />

Montrons ce résultat historique. On utilise d’abord le principe <strong>de</strong> numérisation<br />

<strong>de</strong> Gö<strong>de</strong>l, voyant tout programme <strong>et</strong> toute donnée comme <strong><strong>de</strong>s</strong> nombres entiers p<br />

<strong>et</strong> d, <strong>et</strong> toute machine ϕ comme une fonction partielle sur les entiers définie si <strong>et</strong><br />

seulement si p s’arrête sur d. Ecrivons ϕ p(d) pour l’application <strong>de</strong> p à d. On<br />

généralise le vieux paradoxe du menteur 4 <strong>de</strong> la façon suivante : supposons qu’il<br />

existe un programme a tel que le calcul ϕ a (2 p 3 q ) s’arrête toujours <strong>et</strong> répon<strong>de</strong> 0 si<br />

ϕ p(d) s’arrête <strong>et</strong> 1 si ϕ p(d) ne s’arrête pas ; le programme a fournirait alors un test<br />

total d’arrêt <strong>de</strong> p sur d. Construisons un autre programme m ainsi :<br />

ϕ m(d) = 0 si ϕ a (2 d 3 d ) = 1<br />

= ϕ m(d) si ϕ a (2 d 3 d ) = 0<br />

Par construction, ϕ m(d) boucle si <strong>et</strong> seulement si <strong>et</strong> seulement si ϕ d(d) ne boucle<br />

pas. Poser d = m fournit immédiatement une contradiction, démontrant par<br />

l’absur<strong>de</strong> que a ne peut exister.<br />

Beaucoup d’autres propriétés élémentaires peuvent être montrées indécidables<br />

par réduction au problème <strong>de</strong> l’arrêt, par exemple l’équivalence <strong>de</strong> <strong>de</strong>ux programmes<br />

p <strong>et</strong> q pour toutes données.<br />

7.4. Systèmes d’ai<strong>de</strong> à la preuve interactive<br />

Bien qu’elle pose une frontière fondamentale à la vérification, l’indécidabilité est<br />

contournable dans beaucoup <strong>de</strong> cas, car beaucoup <strong>de</strong> propriétés peuvent se prouver<br />

par récurrence. Par exemple, la preuve d’arrêt <strong>de</strong> l’algorithme <strong>de</strong> tri présenté en 3.1<br />

est simple, puisque chaque appel récursif réduit la longueur <strong><strong>de</strong>s</strong> listes arguments.<br />

En pratique, les preuves <strong>de</strong> terminaison ou <strong>de</strong> correction d’algorithmes généraux<br />

peuvent être très techniques. Elles ont donc été mécanisées très tôt dans <strong><strong>de</strong>s</strong><br />

systèmes d’assistance à la démonstration. Partant <strong>de</strong> systèmes assez rudimentaires<br />

comme Boyer-Moore (U. Texas) <strong>et</strong> LCF (Stanford), on est allé vers <strong><strong>de</strong>s</strong> systèmes<br />

beaucoup plus sophistiqués comme ACL-2 (MIT), HOL (Cambridge), Isabelle<br />

(Cambridge), PVS (Stanford Research Institute) ou Coq (INRIA).<br />

Des succès importants ont été obtenus récemment : la vérification <strong><strong>de</strong>s</strong><br />

arithmétiques flottantes <strong><strong>de</strong>s</strong> microprocesseurs d’Intel <strong>et</strong> AMD, la vérification d’un<br />

compilateur C en Coq par Xavier Leroy mentionnée en 5.4, la vérification <strong>de</strong><br />

protocoles <strong>de</strong> sécurité pour cartes à puce, <strong>et</strong> l’authentique exploit qu’est la<br />

vérification formelle du théorème <strong><strong>de</strong>s</strong> 4 couleurs par Georges Gonthier 5 . A l’avenir,<br />

4. L’homme qui affirme « je mens » ne peut ni mentir ni dire la vérité.<br />

5. Il est intéressant <strong>de</strong> noter que la partie la plus dure <strong>de</strong> c<strong>et</strong>te preuve était celle d’un lemme<br />

considéré comme « folk result » par les mathématiciens qui avaient publiée la première preuve<br />

agréé par la communauté.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!