Thématiquement, notre projet est naturellement lié à trois domaines : les environnements de certification de programmes, la théorie des types et le calcul formel.
Nous avons un rôle moteur dans l'action coopérative ``Calcul formel certifié'', qui regroupe les équipes Calfor (Daniel Lazard), SPI (Thérèse Hardin), ainsi que les projets Coq et Cristal. Le but de cette action est mener des recherches pour obtenir des implantations d'algorithmes de calcul formel qui soient efficaces et formellement certifiées. Pratiquement, un noyau de système de calcul formel centré sur l'algèbre commutative est développé en Ocaml dans le projet FOC (Calfor+SPI). De notre côté, nous développons en Coq une bibliothèque de théories mathématiques correspondantes (structures et propriétés). Le lien entre ces deux développements étant d'une part étudié via une extension de l'extraction de Coq vers Ocaml (classes et modules), et d'autre part un langage (FOC) utilisateur donnant accès aux deux mondes Coq et Ocaml [1].
Les algorithmes en point de mire dans CFC sont l'algorithme des sous-résultants (Sylvain Boulmé), les calculs sur les nombres algébriques réels (Renaud Rioboo), et RSA (Gilles Barthe).
Le système formel fourni par NuPrl est par certains égards moins efficace mais plus puissant que celui fourni par Coq. La différence réside en le fait que le système formel des constructions inductives de Coq est plus contraint : intuitivement, Coq permet de travailler sur des programmes fortement typés similaires à ce que l'on écrit en ML, tandis que NuPrl permet de raisonner sur des programmes faiblement typés comme ceux que l'on écrit en Lisp. Les contraintes apportées en Coq permettent de se restreindre à un domaine pour lequel les techniques de preuves peuvent être optimisées et la compilation peut être très efficace, grâce en particulier au compilateur Ocaml. En revanche, le système NuPrl permet de raisonner sur des algorithmes que l'on ne sait pas décrire en Coq.
Dans le domaine des interfaces homme-machine, l'expérience de NuPrl est difficile à apprécier. Leurs travaux fourmillent d'idées originales et productives, mais le manque d'uniformité fait que l'interface homme-machine de NuPrl est peut-être le principal obstacle à la diffusion du système de preuve.
Le groupe de travail européen Types sous ses diverses incarnations (Working Group, Basic Research Action, ...) est le lieu de rencontres des équipes européennes intéressées par la théorie des types. Le groupe de travail actuel `Types and Programms' dont fait partie CROAP se termine courant 1999. Lemme participera à l'élaboration des propositions de renouvellement de ce groupe de travail.
Le groupe de travail Calculemus a une thématique très proche de Lemme puisqu'il se propose d'unifier les efforts de trois communautés (celles du calcul formel, des démonstrateurs interactifs et des preuves automatiques). Depuis le début, les membres de l'équipe Lemme ont participé aux différentes réunions de ce groupe de travail. Nijmegen, Eindhoven et Risc font aussi partie de ce groupe de travail.
Nous participons depuis sa création au cycle de colloques UITP où nous rencontrons la majeure partie des équipes dans le monde qui s'intéressent à ce domaine. Les objectifs des différentes équipes varient de l'outil de preuve pour l'enseignement de la logique à l'outil de démonstration automatique dans un thème particulier, en passant par l'étude générale de l'ergonomie des interfaces et les outils d'édition de documents mathématiques. Nos compétences dans ce forum sont reconnues, puisque nous avons été invités à plusieurs reprises dans le comité de programme et nous avons organisé l'édition 1997.
Les méthodes formelles sont actuellement quasi-absentes de la communauté du calcul formel. On espère que des implantations certifiées et efficaces d'algorithmes de calcul formel pourront avoir une utilité dans les systèmes de calcul formel. Nous avons eu des échos favorables, par exemple lors de la présentation de Gbcoq (implantation certifiée de calculs de bases de Groner) à MEGA'98.
L'équipe de calcul formel d'Arjeh Cohen a un rôle important dans le projet Openmath (communication entre systèmes de calcul formel, Web), et étudie l'intérêt que pourrait apporter la théorie des types dans la nécessaire utilisation d'un langage commun pour représenter les objets mathématiques migrant d'un logiciel de calcul formel à l'autre. Nous sommes convaincus que c'est une très bonne voie, et comptons collaborer avec Arjeh Cohen et Olga Caprotti sur ce thème, sur la base de notre expérience de la formalisation de l'algèbre et des polynômes en Coq.
L'université de Cambridge est aussi le site où est développé le système de preuve Isabelle [36], en collaboration avec l'université de Munich. Isabelle est un système de preuve plus général que HOL plus orienté vers l'automatisation des preuves, en particulier avec une utilisation centrale de l'unification d'ordre supérieur. Ce système fait aussi l'objet d'efforts pour attacher une interface graphique puissante au système de preuve. En particulier, une équipe australienne avec laquelle nous avons des contacts réguliers développe Xisabelle [33].
L'équipe de théorie des types de H. Barendregt étudie les preuves en calcul formel sous au moins deux aspects :
Richard Fateman étudie de façon générale la numérisation de textes mathématiques, ainsi que leur utilisation interactive. Il a développé un prototype de reconnaissance de caractères et de formules mathématiques [5]. Avec la nôtre (Stéphane Lavirotte, Loïc Pottier), son équipe est une des rares qui travaille concrètement sur le sujet (une au Japon, une au Canada, une autre aux EUA).
Le but du projet Mizar est de fournir un support logiciel pour la publication de documents mathématiques. Les textes écrits en Mizar sont appelés articles et sont organisés en base de données. À ce jour cette base comporte plus de 500 articles. Elle représente un des plus importants efforts de formalisation des mathématiques sur machine. Mizar est fondé sur la théorie des ensembles de Tarski-Grothendieck. Une fois un article écrit, il est possible d'appliquer une procédure qui vérifie la consistance logique et la correction des références. Le projet Mizar est une source d'inspiration pour la diversité des théories mathématiques formalisées et pour le langage de spécification qu'ils ont élaboré qui se veut très proche du langage mathématique usuel.
L'équipe de R. Burstall à Edinbourg développe l'assistant de preuve Lego. Nous avons collaboré avec cette équipe sur le thème des environnements de démonstration, ce qui a mené à l'implantation de l'algorithme de preuve par sélection dans leur environnement de travail, fondé sur Emacs [12].
Le groupe de travail MathML propose un standard de communication des mathématiques sur l'internet utilisant XML. Un premier objectif de Lemme est d'évaluer la faisabilité de nous conformer à un tel standard dans le cadre des environnements de preuve.