![]()
Précédent : Mécanisation des preuves dans les Remonter
: Actions de recherche Suivant : Syntaxe
abstraite d'ordre supérieur :
Participants : Joëlle Despeyroux, Thierry Despeyroux, André Hirschowitz, Pierre Leleu
Mots-clés : sémantique, sémantique naturelle, théorie des types, COQ
La syntaxe abstraite d'ordre supérieur est une technique de représentation des langages de programmation qui permet de formaliser les notions de variables liées et de substitution d'un langage. Elle permet également de formaliser les side conditions et les changements de contexte dans les règles d'inférence. Elle augmente donc nettement le niveau d'abstraction, et le confort, à la fois de la description des langages de programmation, et des preuves sur ces langages. Par ailleurs, la définition d'un type inductif fournit des schémas de récurrence et des principes d'induction qui permettent de faire des preuves générales sur des données de ce type. En particulier, si l'on représente la syntaxe d'un langage par un type inductif, on peut utiliser les principes associés pour faire des preuves sur la sémantique de ce langage. Mais une syntaxe abstraite d'ordre supérieur, définie de manière naïve, ne forme pas un type inductif. Nous travaillons sur plusieurs solutions à ce problème, qui était ouvert depuis longtemps.
Ces travaux s'inscrivent dans une action à long terme, dont le but est d'élargir le champ d'application du système Centaur aux langages de programmation décrits à l'ordre supérieur.