Résolution dans les systèmes formels abstraits: applications à la programmation en logique, aux systèmes de réécriture et aux grammaires formelles

Les mathematiciens utilisent habituellement les systemes formels pour modeliser le raisonnement hypotetico-deductif, en demontrant des theoremes a partir d'axiomes par des chaines de deductions successives. Des systemes formels pour la geometrie, la logique, l'algebre sont bien connus. Un but de la demonstration automatique consiste alors a trouver une procedure qui decide si une formule est un theoreme ou non. Je donne une definition ensembliste des systemes formels, utilisant une semantique de point fixe. Cette definition de ce que j'appelle alors les systemes formels abstraits permet une etude generale de la notion de preuve, basee sur l'operateur fondamental de choix de Hilbert. Du point de vue informatique, l'essentiel est alors de reduire les choix possibles, de maniere a obtenir une procedure la plus efficace possible, en conservant les proprietes de correction et completude. La procedure obtenue appliquee a la programmation en logique donne la SLD-resolution habituelle. En reecriture, on retrouve tres naturellement une forme de la sur-reduction. Un algorithme d'analyse syntaxique dans les grammaires de Chomsky est obtenu facilement. Des applications moins classiques aux clauses de Horn gardees (logique parallele), a la logique temporelle et a la logique contrainte sont egalement abordees.