A logical study of program equivalence

Guilhem Jaber 1, 2
2 ASCOLA - Aspect and composition languages
Inria Rennes – Bretagne Atlantique , Département informatique - EMN, LINA - Laboratoire d'Informatique de Nantes Atlantique
Résumé : Prouver l’équivalence de programmes écrits dans un langage fonctionnel avec références est un problème notoirement difficile. L’objectif de cette thèse est de proposer un système logique dans lequel de telles preuves peuvent être formalisées, et dans certains cas inférées automatiquement. Dans la première partie, une méthode générique d’extension de la théorie des types dépendants est proposée, basée sur une interprétation du forcing vu comme une traduction de préfaisceaux de la théorie des types. Cette extension dote la théorie des types de constructions récursives gardées, qui sont utilisées ensuite pour raisonner sur les références d’ordre supérieure. Dans une deuxième partie, nous définissons une sémantique des jeux nominale opérationnelle pour un langage avec références d’ordre supérieur. Elle marie la structure catégorique de la sémantique des jeux avec une représentation sous forme de traces de la dénotation des programmes, qui se calcule de manière opérationnelle et dispose donc de bonnes propriétés de modularité. Cette sémantique nous permet ensuite de prouver la complétude de relations logiques à la Kripke définit de manière directe, via l’utilisation de types récursifs gardés, sans utilisation de la biorthogonalité. Une telle définition directe nécessite l’utilisation de mondes omniscient et un contrôle fin des locations divulguées. Finalement, nous introduisons une logique temporelle qui donne un cadre pour définir ces relations logiques à la Kripke. Nous ramenons alors le problème de l’équivalence contextuelle à la satisfiabilité d’une formule de cette logique générée automatique, c’est à dire à l’existence d’un monde validant cette formule. Sous certaines conditions, cette satisfiabilité peut être décidée via l’utilisation d’un solveur SMT. La complétude de notre méthode devrait permettre d’obtenir des résultats de décidabilité pour l’équivalence contextuelle de certains fragment du langage considéré, en fournissant un algorithme pour construire de tels mondes.
Type de document :
Thèse
Programming Languages [cs.PL]. Ecole des Mines de Nantes, 2014. English. <NNT : 2014EMNA0124>
Liste complète des métadonnées


https://tel.archives-ouvertes.fr/tel-01126927
Contributeur : Abes Star <>
Soumis le : vendredi 6 mars 2015 - 22:56:37
Dernière modification le : mercredi 20 janvier 2016 - 01:07:55
Document(s) archivé(s) le : dimanche 7 juin 2015 - 19:35:33

Fichier

2014EMNA0124.pdf
Version validée par le jury (STAR)

Identifiants

  • HAL Id : tel-01126927, version 1

Collections

Citation

Guilhem Jaber. A logical study of program equivalence. Programming Languages [cs.PL]. Ecole des Mines de Nantes, 2014. English. <NNT : 2014EMNA0124>. <tel-01126927>

Partager

Métriques

Consultations de
la notice

248

Téléchargements du document

202