Thèse soutenue

Inférer et compiler la terminaison des programmes logiques avec contraintes

FR
Auteur / Autrice : Sébastien Hoarau
Direction : Henri Ralambondrainy
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance en 1999
Etablissement(s) : La Réunion

Résumé

FR

Face à un programme logique (avec contraintes) et un système Prolog, il est légitime de se demander si la requête qu'on se propose de soumettre va terminer. Actuellement, il existe des systèmes capables de répondre à cette question. Les plus connus travaillent avec des Prolog standards et la règle gauche-droite pour la sélection des littéraux. La propriété obtenue est celle de terminaison gauche. Depuis quelques années, on est même capable d'inférer-et pas seulement de tester-des clases de requêtes qui vérifient la propriété de terminaison gauche. Cette thèse va plus loin en présentant une méthode automatique qui infère, non seulement des classes de requêtes sûres pour la terminaison gauche, mais aussi des classes de requêtes qui, à première vue, ne le sont pas. Elles peuvent toutefois le devenir si on considère un nouveau programme. Ce dernier est obtenu en réordonnant les atomes dans le corps des clauses du programme initial. Comme l'inférence, la transformation (ou compilation) est automatique. D'un point de vue théorique, le système repose sur une nouvelle classe de terminaison universelle ainsi que sur une méthode générique d'analyse statique.