Dans ce chapitre, nous allons utiliser le th´eor`eme de point fixe multivoque qu’on a ´etabli dans le chapitre 2 pour prouver l’existence d’un ensemble de r´eponses pour une classe de programmes normaux disjonctifs (i.e. avec plus d’un atome dans la tˆete des clauses et com- prenant des litt´eraux n´egatifs dans le corps des clauses). Cette classe coincide avec la classe des programmes localement stratifi´es telle que d´ecrites dans [16]. L’existence d’un programme support´e pour les programmes localement stratifi´es non disjonctifs devient une cons´equence directe de ce r´esultat.
§7.1 Introduction
Apr`es le succ`es rencontr´e par les mod`eles stables et leur g´en´eralisation pour les programmes avec la n´egation classique, nous nous int´eressons dans ce chapitre `a ´etendre cette notion pour inclure les programmes logiques disjonctifs. Cette classe de programmes contient des litt´eraux n´egatifs dans le corps des clauses connect´es par la conjonction et plus d’un litt´eral positif ou atome dans la tˆete des clauses connect´es par la disjonction. Pour ce faire, nous d´efinissons une GL( Gelfond Lifschitz [9]) transformation pour les programmes normaux disjonctifs afin d’´ecarter les parties n´egatives. Par ailleurs, l’espace des interpr´etations de Herbrand est tou- jours assimil´e `a un espace ultram´etrique hyperconvexe.
Traditionnellemnt, la programmation logique a toujours utilis´e les th´eor`emes de points fixes 81
pour prouver l’existence de mod`eles pour les programmes. Le premier d’entre eux est le fa- meux th´eor`eme de Tarski sur les treillis complets et ceci concerne les applications monotones. Il a ´et´e con¸cu dans le but de prouver l’existence d’un plus petit mod`ele support´e pour les programmes positifs, voir Llyold [14].
Dans les programmes normaux disjonctifs, un ensemble de r´eponses peut ˆetre aussi formul´e comme un point fixe mais pour les fonctions multivoques. Dans le deuxi`eme paragraphe, nous rappelons le th´eor`eme multivoque du chapitre 2 que nous allons utiliser pour prouver l’existence d’un ensemble de r´eponses pour les programmes semi-strictement d´ecroissants par rapport `a une fonction niveau, classe qui coincide avec les programmes localement stratifi´es dans le sens de Przymusinski [16]. Dans le dernier paragraphe, nous d´eduisons l’existence d’un mod`ele support´e dans le cas non disjonctif.
Il est ´evident que les preuves constructives donn´ees par Seda et Hitzler [20] sont inop´erables dans le cas disjonctif, nous produisons ici une preuve simple d’existence et les r´esultats donn´es par Seda et Hitzler dans [20] apparaissent comme un cas particulier de l’existence d’un en- semble de r´eponses pour les programmes localement stratifi´es puisque, dans le cas univoque, l’ensemble de r´eponses coincide avec le mod`ele support´e pour les programmes non disjonctifs.
§7.2 Programmes normaux disjonctifs
Nous rappelons le th´eor`eme multivoque du chapitre 2.Soit X un ensemble et soit (Γ, ≤) un ensemble ordonn´e avec 0 comme plus petit ´el´ement. Nous rappelons d’abord 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 7.2.1 Soit (X,d,Γ) un espace ultram´etrique hyperconvexe. Soit
F : X −→ 2X une application contractante non vide. Supposons que pour tout x∈ X, F (x)
est hyperconvexe , alors F a un point fixe ou il existe un sous ensemble hyperconvexe S de X tel que le diam`etre de S, δ(S)∈ min Πy pour tout y∈ S
Nous consid´erons les programmes suivants qu’on appelera programmes normaux disjonc- tifs o`u les clauses sont de la forme A1\...\An ←− An+1,...,Am,¬B1,...¬Bl1 avec Ai et Bj des atomes. L’antislash d´esigne la disjonction quant aux virgules, elles d´enotent la conjonction. La s´emantique formelle de la clause A1\...\An ←− An+1,...,Am,¬B1,...¬Bl1 est: si tous les An+1,...,Am sont vrais et si tous les B1,...,Bl1 sont faux, alors un ou plus d’un des A1,...,Anest vrai. Nous posons Head(r) = {A1,...An}, P os(r) = {An+1,...Am} et Neg(r) = {B1,...,Bl1}. Une unit clause de P est une clause o`u la partie positive et la partie n´egative sont vides. Nous reprenons les mˆemes notations et r´esultats du chapitre pr´ec´edent. Ainsi Bp d´esigne la
base de Herbrand du programme P , i.e. les ground atoms ou atomes `a variables libres. Nous assumons toujours que Bp coincide avec tous les atomes qui peuvent ˆetre formul´es dans
le langage du programme logique d’origine (avec les variables).
ground(P) est l’ensemble des instances des clauses A1\...\An ←− An+1,...,Am,¬B1,...¬Bl1 o`u Ai,Aj,Bl sont des ground atomes.
Ip d´esigne toujours l’ensemble des interpr´etations de Herbrand de P , il est toujours identifi´e
au power set P(Bp) de Bp.
Soit (∆0,≤) un ordre total qui est un bon ordre. l : Bp −→ ∆0 est une fonction niveau.
Soit ∆∗ l’ensemble ∆0 avec l’ordre inverse et supposons que 0 ≤ δ pour tout δ ∈ ∆∗. Posons ∆ = ∆∗∪ {0}
(∆0,≤) est l’ensemble des ordinaux γ. L’ensemble ∆∗ est identifi´e `a l’ensemble {2−α; α < γ} muni de l’ordre 2−α ≤ 2−β si et seulement si β ≤ α.
PosonsL0 =∅ 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 (d´ej`a d´emontr´e dans le chapitre pr´ec´edent).
Definition 7.2.1 Soit Π un tel programme, pour S ⊆ Bp, nous consid´erons la GL transfor-
mation du programme ΠS donn´e par l’ensemble des clauses :
si r ∈ Π est telle que Neg(r) ∩ S 6= ∅ alors r /∈ Πs;
si r ∈ Π est telle que Neg(r) ∩ S = ∅ alors la r`egle r0 d´efinie par Head(r0) = Head(r), P os(r0) = P os(r) et N eg(r0) = ∅ appartient `a ΠS.
Un sous ensemble S0 de Bp est ferm´e pour ΠS si pour toutes les clauses r ∈ Π telles que
P os(r)⊆ S, nous avons Head(r) ∩ S0 est non vide. Nous d´esignons par α(ΠS) l’ensemble des
parties ferm´ees minimales de ΠS.
L’ensemble S est dit un ensemble de r´eponses pour Π si S ∈ α(ΠS).
Nous d´efinissons l’op´erateur de Gelfond Lifschitz F : Ip −→ 2Ip par F (X) = α(ΠX).
En utilisant F , l’ensemble S est un ensemble de r´eponses de F si et seulement si S ∈ F (S), i.e. S est un point fixe de F
Si Π est nondisjunctif, alors F est univoque et S est un ensemble de r´eponses de Π si et seulement si S est un point fixe de F
(2.1) La d´efinition d’un ensemble de r´eponses suit la tradition de la s´emantique du mod`ele stable dans le sens qu’elle ´ecarte les parties n´egatives
(2.2) Nous pouvons voir facilement qu’un ensemble de r´eponse S de Π peut ˆetre identifı´e `a un ensemble ferm´e de ΠS tel que:
i) Pour chaque r∈ ΠS v´erifiant P os(r)⊆ S, nous avons Head(r) ∩ S est un singleton;
ii) pour les clauses qui restent de ΠS, nous avons Head(r)∩ S = ∅.
Proposition 7.2.1 Pour tout X ∈ Bp, F (X) est hyperconvexe.
Preuve. Soit X ∈ Bp. Montrons que F (X) est hyperconvexe. soit (BF (X)(Xi,2−αi))i∈K
une famille de boules de F (X) (αi ≤ γ pour tout i ∈ K et (Ii)i∈K ⊆ IP) avec d(Ii,Ij) ≤
sup(2−αi,2−αj). Nous avons B(X
i,2−αi)∩ F (X) 6= ∅.
Soit Y ∈ B(Xi,2−αi)∩ F (X), alors B(Xi,2−αi) = B(Y,2−αi) d’apr`es (1.1). Donc nous pouvons
supposer sans perte de g´en´eralit´e que tous les Xi sont dans F (X).
Soit r une clause de ΠX telle que P os(r)⊆ X. r est de la forme A1\...\An←− An+1,...,Am.
S’il existe un i∈ K tel que ∅ 6= Head(r) ∩ Xi ⊆ Lαi, alors nous prenons
Head(r)∩ Y = Head(r) ∩ Xi. S’il existe un autre j ∈ K tel que ∅ 6= Head(r) ∩ Xj ⊆ Lαj et
nous supposons que αi ≤ αj alors nous avons Head(r)∩ Xj ⊆ Head(r) ∩ Xi = singleton car
d(Xi,Xj)≤ 2−αj. Ainsi Head(r)∩ Xj = Head(r)∩ Xi. D’o`u Head(r)∩ Y est bien d´efini
Sinon pour tout i ∈ K, il existe 1 ≤ ji ≤ n tel que l(Aji) ≥ αi. Ainsi max
i∈K l(Aji) ≥ supi∈K αi.
Choisissons A ∈ Head(r) tel que l(A) = max
i∈K l(Aji). Nous prenons Head(r)∩ Y = {A}.
Par cons´equent Y est ferm´e et minimal dans ΠX puisque Head(r)∩ Y est un singleton pour
tout r ∈ ΠX tel que P os(r)⊆ X et donc Y ∈ F (X).
Maintenant, montrons que dl(Y,Xi)≤ 2−αi pour tout i∈ K. Soit A ∈ Bp tel que l(A) < αi. Si
A∈ Xi alors, d’apr`es la d´efinition de Y , A apparait n´ecessairement dans la tˆete d’une clause
r de ΠX telle que {A} = Head(r) ∩ X
i ⊆ Lαi={A} , donc Head(r) ∩ Xi = Head(r)∩ Y . Si A ∈ Y alors d’apr`es la d´efinition de Y , il existe j ∈ K tel que Head(r) ∩ Xj = {A} et
l(A) < αj, mais dl(Xi,Xj)≤ 2−inf (αi,αj). Ainsi A∈ Xi. Par suite Y ∈ T i∈K
B(Xi,2−αi)T F (X).
On conclut que F (X) est hyperconvexe.
Definition 7.2.2 Soit Π un programme logique normal disjponctif et l : Bp −→ γ, une fonc-
tion niveau, soit A1\...\An ←− An+1,...Am,¬B1,...,¬Bl1 une clause typique dans ground(Π). Nous disons que Π est
1) d´ecroissant par rapport `a l si l(A) ≥ l(Ai),l(Bj) pour tout A ∈ Head(r), i = n + 1..m et
j = 1..l1;
2) strictement d´ecroissant par rapport `a l si l(A) > l(Ai) et l(A) > l(Bj) pour tout
A∈ Head(r) et i,j;
3) semi-strictement d´ecroissant par rapport`a l si l(A)≥ l(Ai) et l(A) > l(Bj) pour tout
A∈ Head(r) et i,j.