Prime implicate generation in equational logic / Sophie Tourret ; sous la direction de Nicolas Peltier et de Bertrand Mnacho Echenim

Date :

Type : Livre / Book

Type : Thèse / Thesis

Langue / Language : anglais / English

Logique informatique

Inférence

Abduction (logique)

Déduction (logique)

Intelligence artificielle

Classification Dewey : 510

Classification Dewey : 612

Peltier, Nicolas (1972-....) (Directeur de thèse / thesis advisor)

Echenim, Bertrand Mnacho (1978-.... ; auteur en informatique) (Directeur de thèse / thesis advisor)

Gaussier, Éric (19..-....) (Président du jury de soutenance / praeses)

Sofronie-Stokkermans, Viorica (Rapporteur de la thèse / thesis reporter)

Schulz, Stephan (Rapporteur de la thèse / thesis reporter)

Ranise, Silvio (Membre du jury / opponent)

Communauté d'universités et d'établissements Université Grenoble Alpes (2015-2019) (Organisme de soutenance / degree-grantor)

École doctorale mathématiques, sciences et technologies de l'information, informatique (Grenoble ; 199.-....) (Ecole doctorale associée à la thèse / doctoral school)

Laboratoire d'informatique de Grenoble (Laboratoire associé à la thèse / thesis associated laboratory)

Résumé / Abstract : Ce mémoire présente le résultat de mon travail de thèse sur la génération d'impliqués premiers en logique équationnelle fermée, i.e., la génération des conséquences les plus générales de formules logiques contenants des équations et des disequations entre termes sans variables. Ce mémoire est divisé en trois parties. Tout d'abord, deux calculs de génération d'impliqués sont définis. Leur complétude pour la déduction est prouvée, ce qui signifie qu'ils sont tous deux capables de générer l'ensemble des impliqués modulo redondance d'une formule équationnelle fermée. Dans une deuxième partie, une structure de données arborescente est proposée pour stocker les impliqués générés, accompagnée d'algorithmes pour déceler les redondances et couper les branches de l'arbre lorsque c'est nécessaire. Cette structure de données est adaptée aux différents types de clauses (avec et sans symboles de fonctions, avec et sans contraintes) ainsi qu'aux différentes notions de redondance utilisées dans les calculs. En effet, chaque calcul utilise un critère de redondance légèrement différent des autres. Les preuves de correction et de terminaison des algorithmes sont fournies pour chaque algorithme. Enfin, une évaluation expérimentale des différentes méthodes de génération d'impliqués premiers est réalisée. Pour cela, un prototype de ces méthodes, écrit en Ocaml est comparé à des outils de génération d'impliqués premiers récents.Les résultats de ces expériences sont utilisés pour identifier les variantes les plus efficaces des algorithmes proposés. Les résultats sont prometteurs et dans la plupart des cas, meilleurs que ceux de l'état de l'art.

Résumé / Abstract : The work presented in this memoir deals with the generation of prime implicates in ground equational logic, i.e., of the most general consequences of formulae containing equations and disequations between ground terms.It is divided in three parts. First, two calculi that generate implicates are defined. Their deductive-completeness is proved, meaning they can both generate all the implicates up to redundancy of equational formulae.Second, a tree data structure to store the generated implicates is proposed along with algorithms to detect redundancies and prune the branches of the tree accordingly. This data structure is adapted to the different kinds of clauses (with and without function symbols, with and without constraints) and to the various formal definitions of redundancy used in the calculi since each calculus uses different -- although similar -- redundancy criteria. Termination and correction proofs are provided with each algorithm. Finally, an experimental evaluation of the different prime implicate generation methods based on research prototypes written in Ocaml is conducted including a comparison with state-of-the-art prime implicate generation tools. This experimental study is used to identify the most efficient variants of the proposed algorithms. These show promising results overstepping the state of the art.