3 research outputs found

    Représentation coinductive des graphes

    Get PDF
    Nous nous intéressons à la représentation de graphes dans le prouveur Coq. Nous avons choisi de les représenter par des types coinductifs dont nous voulions explorer l'utilisation. Ceux-ci permettent de rendre succincte et élégante la représentation et d'obtenir la navigabilité par construction. Nous avons dû contourner la condition de garde dont le but est d'assurer la validité des opérations effectuées sur les objets coinductifs. Son implantation dans Coq est restrictive et interdit parfois des définitions sémantiquement correctes. Une formalisation canonique des graphes dépasse ainsi l'expressivité directe de Coq. Nous avons donc proposé une solution respectant ces limitations, puis nous avons défini une relation sur les graphes nous permettant d'obtenir la même notion d'équivalence qu'avec une représentation classique tout en gardant les avantages de la coinduction. Nous montrons qu'elle est équivalente à une relation basée sur des observations finies.We are interested in graph representation in the theorem prover Coq. We have chosen to represent graphs using coinductive types. We wanted to explore their use in Coq. Indeed, they make the graph representation succinct and elegant. Moreover, navigability is ensured by construction. We had to overcome the guardedness condition whose objective is to ensure validity of all operations made on coinductive objects. Its implementation in Coq is restrictive and sometimes forbids definitions, even semantically correct ones. A canonical formalization of graphs thus surmounts Coq's direct expressivity. We have designed a solution respecting these limitations. Then, we have defined a relation on graphs close to the notion of equivalence obtained on a classical representation, keeping however the advantages offered by coinduction. We show that this relation is equivalent to another one based on finite observations of the graphs
    corecore