SPÉCIFICATIONS FORMELLES, PREUVES
ET EXTRACTION DE PROGRAMMES
EN MODÉLISATION GÉOMÉTRIQUE
PAR LA THÉORIE DES CONSTRUCTIONS

gif

Résumé :

Cette étude s'inscrit dans le cadre de l'utilisation de méthodes formelles en informatique graphique, un des thèmes de recherche de l'équipe ``Méthodes Axiomatiques pour la Modélisation Géométrique'' du LSIIT de Strasbourg dirigée par le professeur J.-F. Dufourd. À l'aide d'un ``prover'' , nous tentons de formaliser un domaine particulier de la modélisation géométrique à base topologique.

Mots-clé :

modélisation géométrique, cartes combinatoires, méthodologie de preuves, démonstration automatique, Coq

Introduction

Notre objectif est de proposer les prémices de ce qui pourrait constituer une méthodologie de spécifications et de preuves semi-automatisées en modélisation géométrique à base topologique et d'obtenir un cadre logiquement incontestable dans lequel des propriétés puissent être mécaniquement vérifiées. Dans cette recherche expérimentale, nous tentons de formaliser progressivement un domaine suffisant pour attaquer la démonstration de résultats fondamentaux, tel par exemple un théorème de Jordan discret.

Modélisation géométrique à base topologique

Le but de la modélisation géométrique est de décrire des objets et opérations géométriques. Classiquement, on distingue deux familles principales de modèles [6] : les modèles CSG (Constructive Solid Geometry : Géométrie Constructive de Solides) où l'on manipule des solides élémentaires (sphères, cylindres, etc) en leur appliquant des opérations booléennes (union, intersection, etc) et les modèles B-Rep (Boundary Representation : Représentation par les Bords) où l'on définit un objet par son bord à travers une subdivision de l'espace 3D en un nombre fini de cellules (sommets, arêtes, faces) et des informations de plongement associant à chaque cellule un objet géométrique. Depuis quelques années, de nombreux modèles élargissant le champ d'action de la B-Rep sont étudiés : subdivisions d'espaces topologiques de dimension quelconque, orientables ou non, objets avec ou sans bords [5]. Nous nous limitons à l'étude de la topologie d'objets sans bords et sans informations de plongement, dans un espace de dimension 2.

Le concept de carte combinatoire [3] [4] s'est révélé bien adapté à la représentation d'une topologie de ce type [2]. Nous l'avons donc spécifié et avons prouvé un certain nombre de propriétés désirables le concernant. Il nous a semblé pertinent et prudent de définir d'abord des objets simples, généraux et facilement manipulables pour les ramener ensuite à des objets plus complexes mais modélisant pleinement et correctement l'être mathématique abstrait qu'est la carte combinatoire. Cette approche ``poupées gigognes'' permet d'échelonner les problèmes et d'isoler les difficultés. En outre, les preuves s'en trouvent simplifiées. Notre spécification commence donc par définir des cartes sans aucune contrainte, ou cartes libres. Dans le langage des spécifications algébriques, il s'agit de décrire l'algèbre de ces cartes. Puis, nous raffinons les cartes libres en quasi-cartes par l'introduction de pré-conditions restreignant le domaine d'étude. Enfin, nous montrons comment en déduire la notion de carte combinatoire. Un exemple de carte combinatoire est donné dans la figure ci-dessous.

  figure30
Figure 1: Exemple de carte combinatoire

Spécifications et preuves

Les axiomatisations sont exprimées dans le Calcul des Constructions Inductives (CCI) [7], une variété de théorie des types enrichie avec la possibilité de manipuler des définitions primitives inductives. CCI est basé sur le tex2html_wrap_inline126 -calcul polymorphe de Girard, un système fonctionnel très puissant dans lequel des structures de preuve en logique d'ordre supérieur peuvent être représentée et sur la Théorie Intuitioniste des Types de Martin-Löf's, une tentative de fondation des mathématiques sur des principes constructifs. Ces deux systèmes sont combinés grâce à l'isomorphisme de Curry-Howard qui énonce l'équivalence entre le tex2html_wrap_inline126 -calcul, notation utilisée à l'origine pour exprimer la fonctionnalité, et les preuves en déduction naturelle. En bref, CIC est un mélange de calcul des prédicats, de définitions inductives de prédicats ``à-la-PROLOG'' et de définitions récursives de fonctions ``à-la-ML''.

Les preuves sont élaborées et mécaniquement vérifiées dans Coq [1], un assistant à la preuve construit sur CIC. Une notation de haut niveau permet la paramétrisation et la déclaration d'axiomes , la définition de types et d'objets aussi bien concrets qu'abstraits et un développement hiérarchique de théories à travers un mécanisme de sections. Un dialogue interactif avec le ``prover'' est réalisé par l'application de tactiques pré-définies ou programmables par l'utilisateur, dans un processus ``top-down'' de démonstration.

La copie d'écran ci-dessous présente un développement typique d'une preuve dans Coq. L'énoncé du théorème à prouver exp_inv ainsi que le script de la démonstration proposée par l'utilisateur sont visibles en haut à gauche. En dessous, le ``buffer'' d'interaction avec Coq montre ce qu'il reste à prouver après que l'utilisateur ait appliqué la tactique 'Intros k z t x y m expfl; Inversion_clear expfl', qui correspond à la première ligne du script du dessus. Puis, l'utilisateur requiert l'affichage de ce qui a été prouvé jusqu'à présent, en langue naturelle, par la commande 'Show Natural Proof'. Le résultat, automatiquement généré par Coq, est affiché à droite.

toto

Références

1
C. CORNES and all. The Coq Proof Assistant Reference Manual. INRIA-Rocquencourt -- CNRS-ENS Lyon, 6.1 edition, december 1996.
2
J.-F. DUFOURD. Foundations of Boundary Representation Revisited with a New Foremap Axiomatics. In Eurographics Workshop on Formal Specification in Computer Graphics, Marina di Carrara, 1991.
3
J. EDMONDS. A Combinatorial Representation for Polyhedral Surfaces. In Notices American Mathematical Society, volume 7. 1960.
4
A. JACQUES. Constellations et Graphes Topologiques. In Combinatorial Theory and Applications, pages 657 - 673. Budapest, 1970.
5
P. LIENHARDT. Topological Models for Boundary Representation : A Survey. In Computer Aided Design, volume 23 (1), pages 59 - 81. 1991.
6
A. REQUICHA. Representation for Rigid Solids : Theory, Methods and Systems. In ACM Computing Surveys, volume 12 (4), pages 437 - 464. 1980.
7
B. WERNER. Une théorie des constructions inductives. Ph.D dissertation, Université de Paris 7, 1994.

Ce travail est soutenu par les GDR-PRC de Programmation, Algorithmique, Modèles et Infographie