Flottants primitifs dans Coq
Résumé
Certaines preuves mathématiques font intervenir d'important calculs, par exemple le théorème des quatre couleurs, le théorème de Hales sur l'empilement optimal des sphères (ex-conjecture de Kepler) ou l'arithmétique d'intervalles. Pour les calculs numériques, l'arithmétique à virgule flottante est très appréciée pour son efficacité malgré l'introduction d'erreurs d'arrondi. Des garanties formelles peuvent toutefois être obtenues en se basant sur le standard IEEE 754, qui spécifie précisément l'arithmétique à virgule flottante, et un assistant de preuve tel que Coq, qui offre des fonctionnalités de calcul efficace. Coq propose de longue date une interface aux entiers machine mais jusqu'à récemment, l'arithmétique flottante était au mieux émulée grâce à ces entiers plutôt que d'utiliser les flottants machine, au prix d'un ralentissement de deux à trois ordres de grandeur. Cette proposition de démonstration vise à présenter l'interface vers les flottants machines disponibles dans Coq depuis sa version 8.11. Après une rapide présentation des choix techniques effectués, on présentera l'interface retenue, et en particulier les questions de saisie et d'affichage de constantes. Enfin sera évoquée l'utilisation de cette fonctionnalité dans les bibliothèques ValidSDP et Coq.Interval.
Origine | Fichiers produits par l'(les) auteur(s) |
---|