Ce chapitre est d´edi´e aux applications de la th´eorie des espaces ultram´etriques dans la programmation logique. Nous utiliserons le th´eor`eme de point fixe vu dans le chapitre 2 pour d´eriver l’existence d’un mod`ele support´e minimal pour une classe de programmes logiques normaux appel´es localement stratifi´es dans le sens de Przymusinski [16].
§6.1 Introduction
Le but de ce chapitre est de retenir l’attention sur la th´eorie r´ecente des espaces ul- tram´etriques g´en´eralis´es et son investigation dans les domaines de l’intelligence artificielle, plus pr´ecis´ement la programmation logique.
L’id´ee d’incorporer des techniques topologiques dans la programmation logique d´eclarative fut adopt´ee par Seda et Hitzler dans [20] et ´egalement par Sybilla Priess Crampe et Paulo Ribenboim dans [15]. Les premiers auteurs ont muni l’espace des interpr´etations de Herbrand par la topologie de Scott et les seconds ont utilis´e une topologie m´etrisable relative `a une dis- tance ultram´etrique et qui n´ecessite de consid´erer l’ensemble des interpr´etations de Herbrand comme un espace ultram´etrique g´en´eralis´e.
Nous empruntons le pas `a ces approches en ce qui concerne la programmation logique d´eclarative dont le moteur est de trouver des mod`eles et des mod`eles support´es pour les programmes. Nous reprenons le th´eor`eme de point fixe du chapitre 2 . La notion de programmes nor-
maux est introduite dans le troisi`eme paragraphe. Nous relatons les mod`eles support´es de ces programmes aux points fixes d’un op´erateur associ´e au programme dit l’op´erateur de Van-Emden Kowalski. Nous donnons la syntaxe des programmes qui ont un mod`ele support´e et qui prennent exactement la forme des programmes localement stratifi´es dans le sens de Przymusinski [16]. Nous verrons que cette classe coincide avec celle des programmes semi strictement d´ecroissants telle que d´efinie par Seda et Hitzler [20].
Finalement, nous prouvons la minimalit´e du mod`ele. La s´emantique expect´ee (intended) pour les programmes logiques doit comporter une certaine forme de l’hypoth`ese du monde clos (the Closed World Assumption), Reiter [17], [18]: Si aucune raison n’existe pour un fait positif pour ˆ
etre vrai alors on est amen´e `a en d´eduire qu’il est faux. Donc, l’hypoth`ese du monde clos doit en quelque sorte minimiser les informations positives. Les mod`eles minimaux sembleraient donc correspondre au sens exact du programme.
Dans [15], Crampe et Ribenboim ont juste donn´e un crit`ere d’existence de mod`eles pour les programmes normaux. Dans le troisi`eme paragraphe, nous donnons exactement la syntaxe des programmes qui v´erifient ce crit`ere et qui sont appel´es localement stratifi´es. Nous discutons des s´emantiques des programmes logiques et les formulons en terme de version m´etrique qui entraˆıne des preuves simples d’existence et qui sont moins intuitives par rapport aux preuves constructives mentionn´ees par Seda et Hitzler dans [20]. On voit aussi que notre m´ethode n’in- corpore pas un large nombre de connecteurs logiques. Cette approche est donc plus flexible et peut s’´etendre facilement `a une classe plus large de programmes. Nous ´evoquons `a ce niveau les programmes disjonctifs avec plus d’un atome dans la tˆete des clauses. Ce chapitre est un point de d´epart pour trouver des ensembles de r´eponses pour les programmes disjonctifs et qui sera l’objet du prochain chapitre.
§6.2 Programmes logiques normaux.
Nous reprenons les th´eorie des espaces ultram´etriques ainsi que le th´eor`eme de point fixe du chapitre 2.
Soit X un ensemble et soit (Γ,≤) un ensemble partiellement ordonn´e avec 0 comme plus petit ´
el´ement et soit d : X ∗ X −→ Γ une distance ultram´etrique. 71
Nous rappelons les propri´et´es des espaces ultram´etriques: (1.1) Si 06= α ≤ β et Bα(a)∩ Bβ(b) 6= ∅, alors Bα(a)⊆ Bβ(b).
Th´eor`eme 6.2.1 Soit (X,d,Γ) un espace ultram´etrique hyperconvexe et soit T : X −→ X une contraction, alors T admet un point fixe ou il existe un espace hyperconvexe non vide S de X tel que T (S) ⊆ S, S = T (S) et δ(S) = d(x,T (x)) pour tout x ∈ S.
Maintenant, nous consid´erons les programmes logiques normaux, i.e les programmes qui consistent en un nombre fini de clauses de la forme: A ←− A1,...,Ak,¬B1,...¬Bm o`u A,Ai
et Bj sont des atomes et k,m≥ 0. Le symbole ¬ d´esigne la n´egation classique. Le cas n = 0
est un abus de notation indiquant un ant´ec´edant vide i.e. une unit clause ou un fait A←−. Les virgules remplacent la conjonction ie A1,...Ak,¬B1,...,¬Bm d´enote A1∧...∧Ak∧¬B1∧...∧¬Bm.
Le symbole ”←−” d´esigne le connecteur logique de l’implication. Donc la s´emantique formelle de A←− A1,...Ak,¬B1,...¬Bm est : si A1,...Aksont tous vrais et B1,...,Bm sont tous faux alors
A est vrai.
On d´esigne par Bp la base de Herbrand du programme logique normal P , i.e. l’ensemble
des atomes `a variables libres (ground) de L qui est le langage du premier ordre de P . Une instance d’une clause r dans P est une clause obtenue `a partir de r en rempla¸cant les variables par d’autres termes du langage. Nous allons utiliser ground(P ) pour d´esigner l’ensemble des ground instances des clauses de P . Cela veut dire que ground(P) est l’ensemble de toutes les instances A ←− A1,...,Ak,¬B1,...¬Bl1 de chaque clause o`u A,Ai,Bj sont des ”ground” atomes, ou en d’autres termes ne contiennent aucune variable, voir Lloyd [14].
Par suite, soit Ip l’ensemble des interpr´etations de Herbrand de P , cela veut dire que Ip est
le ”power set” P(Bp) de Bp, voir [chapitre 5]
Un des concepts les plus importants dans l’´etude de ces programmes est celui de l’op´erateur cons´equent au programme appel´e Van-Emden Kowalski operator Tp : Ip −→ Ip d´efini par
Tp(I) ={A ∈ Bp; il existe une clause A←− A1,...,Ak,¬B1,...¬Bm ∈ ground(P ) telle que
A1,...,Ak ∈ I et B1,...,Bm ∈ I}./
Notre but sp´ecifique est d’utiliser les points fixes de Tp pour trouver des mod`eles et des
mod`eles support´es I de P . Evidemment, le premier correspond aux points pre-fixes de Tp
(interpr´etations I v´erifiant Tp(I) ⊆ I) et le second correspond aux points fixes de Tp (I est
support´e s’il v´erifie Tp(I)⊇ I).
Si le programme P est positif, i.e. ne contient pas de n´egation dans le corps des clauses, alors il est imm´ediat que Tp: Ip −→ Ip est une application qui pr´eserve l’ordre (par rapport `a
l’incluion). L’intersection J de la famille des sous ensembles I de Ip tels que Tp(I) ⊆ I est
telle que Tp(J ) = J . Donc J est un point fixe de l’op´erateur Tp et il correspond `a l’unique
mod`ele de Herbrand minimal du programme positif P , voir [14].
Maintenant, nous allons introduire la n´egation dans le corps des clauses et nous allons consid´erer plus particuli`erement la classe des programmes localement stratifi´es. Nous em- pruntons cette d´efinition `a Przymusinski [16].
Definition 6.2.1 Un programme normal est dit localement stratifi´e s’il est possible de d´ecomposer l’ensemble S de la base de Herbrand Bp en des ensembles disjoints S1,S2,...,Sα,...,α < γ, ap-
pel´es strates, de mani`ere `a ce que pour toute ground clause:
A←− A1,...,Ak,¬B1,...,¬Bm
dans P , o`u A,A1,...Ak,B1,...Bm sont des ground atomes, nous avons:
(i) pour tout i, stratum(Ai)≤ stratum(A);
(ii) pour tout j, stratum(Bj) < stratum(A),
o`u stratum(C)= α, si l’atome C appartient `a Sα.
N’importe quelle d´ecomposition {S1,...,Sα,...} v´erifiant les conditions au dessus est appel´ee
une stratification locale de P .
Soit (∆0,≤) un ensemble totalement ordonn´e qui est un bon ordre. Une application l : Bp −→ ∆0 est dite une fonction niveau.
Soit ∆∗ l’ensemble ∆0 avec l’ordre inverse et supposons que 0 ≤ δ pour tout δ ∈ ∆∗. Posons ∆ = ∆∗∪ {0}
Maintenant, nous consid´erons les fonctions niveaux d’un genre sp´ecial: soit γ un ordinal d´enombrable. γ peut ˆetre vu comme l’ensemble de tous les ordinaux α tels que α ∈ γ, i.e
l’ensemble des ordinaux α tels que α < γ. Comme convenu, si α = β + 1 est le successeur de β, alors nous ´ecrivons β = α− 1 pour le pr´edecesseur β de α. Nous utilisons la notation γ = ω pour l’ensemble IN des entiers naturels (comprenant z´ero). Un ordinal limite est un ordinal qui n’est le successeur d’aucun ordinal.
Soit (∆0, ≤) l’ensemble des ordinaux inf´erieurs `a γ. L’ensemble ordonn´e ∆∗ sera identifi´e `a l’ensemble {2−α; α < γ} muni de l’ordre 2−α ≤ 2−β si et seulement si β ≤ α.
Soit L0 =∅ et Lα ={A ∈ Bp,l(A) < α} pour α < γ.
(P(Bp),d,∆) avec la distance d de Fitting [8], d´efinie par d(I,I0) = inf{2−α,I∩ Lα = I0∩ Lα}
si I 6= I0 et 0 sinon, est un espace ultram´etrique hyperconvexe.
En effet, soit (B2−αi(Ii))i∈K une famille de boules (αi ∈ γ pour tout i ∈ K et (Ii)i∈K ⊂ Ip)
avec d(Ii,Ij)≤ sup(2−αi,2−αj).
Posons I = S
i∈K
(Ii∩ Lαi).
Soit i∈ K et A ∈ Ii avec l(A) < αi, alors A∈ I.
Soit A∈ I avec l(A) < αi, alors il existe j ∈ K tel que A ∈ Ij∩ Lαj. Or B2−αi(Ii) et B2−αj(Ij)
sont comparables , donc d(Ii,Ij)≤ sup(2−αi,2−αj) = 2−inf(αi,αj). D’o`u A∈ Ii et par cons´equent
d(Ii,I)≤ 2−αi.
Nous empruntons la d´efinition suivante `a Seda & Hitzler [23].
Definition 6.2.2 Soit P un programme logique normal et l : Bp −→ γ une fonction niveau.
Soit A ←− A1,...,Ak,¬B1,...¬Bm une clause typique dans ground(P ).
Nous disons que P est:
(1) d´ecroissant par rapport `a une fonction niveau si les in´egalit´es l(A) ≥ l(Ai),l(Bj) ont lieu
pout tout i and j;
(2) strictement d´ecroissant si les in´egalit´es l(A) > l(Ai),l(Bj) ont lieu pour tout i and j;
(3) semi-strictement d´ecroissant si les in´egalit´es l(A) ≥ l(Ai) et l(A) > l(Bj) ont lieu pour
tout i et j.
La classe (1) est tr`es g´en´erale et ne sera pas consid´er´ee ici car elle n’admet pas toujours de
mod`ele minimal.
Exemple 4 Consid´erons le programme
p(0) ←−
p(s(x)) ←− ¬p(s(x))
et la fonction niveau l :Bp −→ ω d´efinie par l(p(sn(0)) = n pour tout n < ω.
P est d´ecroissant par rapport `a l et Tp n’admet pas de point fixe.